\hypertarget{open_e_l_8h}{}\section{/\+Users/nakamura/openel/\+Open\+E\+L-\/3.0.0/include/open\+EL.h File Reference}
\label{open_e_l_8h}\index{/\+Users/nakamura/openel/\+Open\+E\+L-\/3.\+0.\+0/include/open\+E\+L.\+h@{/\+Users/nakamura/openel/\+Open\+E\+L-\/3.\+0.\+0/include/open\+E\+L.\+h}}


Open\+EL Common Header File  3.\+0.\+0.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include \char`\"{}open\+E\+L\+\_\+prof\+Cnf.\+h\char`\"{}}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_h_a_l_id}{H\+A\+L\+Id}}
\item 
struct \mbox{\hyperlink{struct_property}{Property}}
\item 
struct \mbox{\hyperlink{struct_h_a_l_observer}{H\+A\+L\+Observer}}
\item 
struct \mbox{\hyperlink{struct_h_a_l_component}{H\+A\+L\+Component}}
\item 
struct \mbox{\hyperlink{struct_timer_observer}{Timer\+Observer}}
\item 
struct \mbox{\hyperlink{struct_event_timer}{Event\+Timer}}
\item 
struct \mbox{\hyperlink{struct_position_control_actuator}{Position\+Control\+Actuator}}
\item 
struct \mbox{\hyperlink{struct_velocity_control_actuator}{Velocity\+Control\+Actuator}}
\item 
struct \mbox{\hyperlink{struct_torque_control_actuator}{Torque\+Control\+Actuator}}
\item 
struct \mbox{\hyperlink{struct_torque_sensor}{Torque\+Sensor}}
\item 
union \mbox{\hyperlink{union_hal_component}{Hal\+Component}}
\item 
struct \mbox{\hyperlink{structel_genaral_fnc_tbl_st}{el\+Genaral\+Fnc\+Tbl\+St}}
\item 
union \mbox{\hyperlink{unionel_common_fnc_tbl}{el\+Common\+Fnc\+Tbl}}
\item 
struct \mbox{\hyperlink{structel_port__st}{el\+Port\+\_\+st}}
\item 
struct \mbox{\hyperlink{structel_compo_tbl__st}{el\+Compo\+Tbl\+\_\+st}}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{open_e_l_8h_a1cf0c3e6450ceaed6dcbc6def807959b}\label{open_e_l_8h_a1cf0c3e6450ceaed6dcbc6def807959b}} 
\#define {\bfseries O\+P\+E\+N\+E\+L\+\_\+\+M\+A\+J\+OR}~3
\item 
\mbox{\Hypertarget{open_e_l_8h_af05e9ab473d0b5fb7818df0401d3ad22}\label{open_e_l_8h_af05e9ab473d0b5fb7818df0401d3ad22}} 
\#define {\bfseries O\+P\+E\+N\+E\+L\+\_\+\+M\+I\+N\+OR}~0
\item 
\mbox{\Hypertarget{open_e_l_8h_ad14ca33cf4cd217f36c59e54d4fbcb53}\label{open_e_l_8h_ad14ca33cf4cd217f36c59e54d4fbcb53}} 
\#define {\bfseries O\+P\+E\+N\+E\+L\+\_\+\+P\+A\+T\+C\+H\+L\+E\+V\+EL}~0
\item 
\mbox{\Hypertarget{open_e_l_8h_afe110c0224311fc8cfabac9a0aa57096}\label{open_e_l_8h_afe110c0224311fc8cfabac9a0aa57096}} 
\#define {\bfseries O\+P\+E\+N\+E\+L\+\_\+\+V\+E\+R\+S\+I\+ON}~\char`\"{}Open\+EL 3.\+0.\+0\char`\"{}
\item 
\#define {\bfseries H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER}
\item 
\mbox{\Hypertarget{open_e_l_8h_a93cdeb26ff7e22feb7c06875ffbc05a9}\label{open_e_l_8h_a93cdeb26ff7e22feb7c06875ffbc05a9}} 
\#define {\bfseries E\+L\+\_\+\+S\+W\+\_\+\+C\+O\+M\+P\+O\+M\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+Y\+\_\+\+T\+A\+B\+LE}~1
\item 
\mbox{\Hypertarget{open_e_l_8h_a6778775971194d5ef8f133479d0572a2}\label{open_e_l_8h_a6778775971194d5ef8f133479d0572a2}} 
\#define {\bfseries E\+L\+\_\+\+P\+O\+R\+T\+\_\+\+I\+D\+\_\+\+M\+AX}~(16)
\item 
\mbox{\Hypertarget{open_e_l_8h_abbf12b1db7641f4091af2f98ee024993}\label{open_e_l_8h_abbf12b1db7641f4091af2f98ee024993}} 
\#define {\bfseries E\+L\+\_\+\+S\+W\+\_\+\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+Y\+\_\+\+H\+E\+A\+D\+ER}~1
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{open_e_l_8h_a4611b605e45ab401f02cab15c5e38715}\label{open_e_l_8h_a4611b605e45ab401f02cab15c5e38715}} 
typedef float {\bfseries float32\+\_\+t}
\item 
\mbox{\Hypertarget{open_e_l_8h_ac55f3ae81b5bc9053760baacf57e47f4}\label{open_e_l_8h_ac55f3ae81b5bc9053760baacf57e47f4}} 
typedef double {\bfseries float64\+\_\+t}
\item 
\mbox{\Hypertarget{open_e_l_8h_a7536bef92d692ed3c3d5102cfb7c5126}\label{open_e_l_8h_a7536bef92d692ed3c3d5102cfb7c5126}} 
typedef float32\+\_\+t {\bfseries halfloat}
\item 
\mbox{\Hypertarget{open_e_l_8h_ac269ab9054873a3e2d77156ea98ababd}\label{open_e_l_8h_ac269ab9054873a3e2d77156ea98ababd}} 
typedef struct \mbox{\hyperlink{struct_h_a_l_id}{H\+A\+L\+Id}} {\bfseries H\+A\+L\+I\+D\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_aefe500e8f149b9dd5857b97e70c9f70f}\label{open_e_l_8h_aefe500e8f149b9dd5857b97e70c9f70f}} 
typedef struct \mbox{\hyperlink{struct_property}{Property}} {\bfseries P\+R\+O\+P\+E\+R\+T\+Y\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_a33f261911d3d8e2ac9688e79b60dd315}\label{open_e_l_8h_a33f261911d3d8e2ac9688e79b60dd315}} 
typedef union \mbox{\hyperlink{union_hal_component}{Hal\+Component}} {\bfseries H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_ad455e41dbaf16667874e375b1486b9eb}\label{open_e_l_8h_ad455e41dbaf16667874e375b1486b9eb}} 
typedef struct \mbox{\hyperlink{struct_h_a_l_observer}{H\+A\+L\+Observer}} {\bfseries H\+A\+L\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_af5e6903e418d2dac0da34ad4545b4bdd}\label{open_e_l_8h_af5e6903e418d2dac0da34ad4545b4bdd}} 
typedef struct \mbox{\hyperlink{struct_h_a_l_component}{H\+A\+L\+Component}} {\bfseries H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+C\+O\+R\+E\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_a9ffe73cd48ec0410e774c734748d836c}\label{open_e_l_8h_a9ffe73cd48ec0410e774c734748d836c}} 
typedef struct \mbox{\hyperlink{struct_event_timer}{Event\+Timer}} {\bfseries E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_af683e5bbc0898961b11506e6516c96ff}\label{open_e_l_8h_af683e5bbc0898961b11506e6516c96ff}} 
typedef struct \mbox{\hyperlink{struct_timer_observer}{Timer\+Observer}} {\bfseries T\+I\+M\+E\+R\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_a5544e48c04449b3449f3256626bce63c}\label{open_e_l_8h_a5544e48c04449b3449f3256626bce63c}} 
typedef struct \mbox{\hyperlink{struct_position_control_actuator}{Position\+Control\+Actuator}} {\bfseries P\+O\+S\+I\+T\+I\+O\+N\+C\+O\+N\+T\+R\+O\+L\+A\+C\+T\+U\+A\+T\+O\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_af57799bca37aa2845c93a8c938fcf409}\label{open_e_l_8h_af57799bca37aa2845c93a8c938fcf409}} 
typedef struct \mbox{\hyperlink{struct_velocity_control_actuator}{Velocity\+Control\+Actuator}} {\bfseries V\+E\+L\+O\+C\+I\+T\+Y\+C\+O\+N\+T\+R\+O\+L\+A\+C\+T\+U\+A\+T\+O\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_aac6480439280f2ed9065dd6df25260c1}\label{open_e_l_8h_aac6480439280f2ed9065dd6df25260c1}} 
typedef struct \mbox{\hyperlink{struct_torque_control_actuator}{Torque\+Control\+Actuator}} {\bfseries T\+O\+R\+Q\+U\+E\+C\+O\+N\+T\+R\+O\+L\+A\+C\+T\+U\+A\+T\+O\+R\+\_\+T}
\item 
\mbox{\Hypertarget{open_e_l_8h_aca107142859858f1002d6c89039acd0a}\label{open_e_l_8h_aca107142859858f1002d6c89039acd0a}} 
typedef struct \mbox{\hyperlink{struct_torque_sensor}{Torque\+Sensor}} {\bfseries T\+O\+R\+Q\+U\+E\+S\+E\+N\+S\+O\+R\+\_\+T}
\item 
typedef struct \mbox{\hyperlink{structel_genaral_fnc_tbl_st}{el\+Genaral\+Fnc\+Tbl\+St}} \mbox{\hyperlink{open_e_l_8h_a3bf7d3e9305dce8d8a26747df271a213}{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}
\item 
typedef union \mbox{\hyperlink{unionel_common_fnc_tbl}{el\+Common\+Fnc\+Tbl}} \mbox{\hyperlink{open_e_l_8h_a8d6b4353fc8a369615e1bf1b58f87489}{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{open_e_l_8h_a5a2236a3693e3930b2c9fbe1fe7144ec}\label{open_e_l_8h_a5a2236a3693e3930b2c9fbe1fe7144ec}} 
enum {\bfseries Return\+Code} \{ {\bfseries H\+A\+L\+\_\+\+OK} = 0, 
{\bfseries H\+A\+L\+\_\+\+E\+R\+R\+OR}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
enum Return\+Code \mbox{\hyperlink{open_e_l_8h_a516c63aa4f03cd444db528786811f2bf}{Hal\+Init}} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component)
\item 
enum Return\+Code \mbox{\hyperlink{open_e_l_8h_a8c628635efbf67fa00b172b11b6dcc76}{Hal\+Re\+Init}} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component)
\item 
enum Return\+Code \mbox{\hyperlink{open_e_l_8h_a19d80fc962f4dc3fdc9d657ffca516b5}{Hal\+Finalize}} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component)
\item 
\mbox{\Hypertarget{open_e_l_8h_a3f6f9841f850de2c7e8c31727b0103c9}\label{open_e_l_8h_a3f6f9841f850de2c7e8c31727b0103c9}} 
enum Return\+Code {\bfseries Hal\+Add\+Observer} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component, \mbox{\hyperlink{struct_h_a_l_observer}{H\+A\+L\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}} $\ast$hal\+Observer)
\item 
\mbox{\Hypertarget{open_e_l_8h_a73f140605a32be3498fbd9cb24b36832}\label{open_e_l_8h_a73f140605a32be3498fbd9cb24b36832}} 
enum Return\+Code {\bfseries Hal\+Remove\+Observer} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component, \mbox{\hyperlink{struct_h_a_l_observer}{H\+A\+L\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}} $\ast$hal\+Observer)
\item 
\mbox{\Hypertarget{open_e_l_8h_af5cdcb3695c81365c26f4c7834ed33ff}\label{open_e_l_8h_af5cdcb3695c81365c26f4c7834ed33ff}} 
enum Return\+Code {\bfseries Hal\+Get\+Property} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component, \mbox{\hyperlink{struct_property}{P\+R\+O\+P\+E\+R\+T\+Y\+\_\+T}} $\ast$property)
\item 
\mbox{\Hypertarget{open_e_l_8h_a8abf239aabeef21f0d94b092653d240b}\label{open_e_l_8h_a8abf239aabeef21f0d94b092653d240b}} 
enum Return\+Code {\bfseries Hal\+Get\+Time} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$hal\+Component, int32\+\_\+t $\ast$time)
\item 
\mbox{\Hypertarget{open_e_l_8h_a3e185a1072c3689519b109663fd02115}\label{open_e_l_8h_a3e185a1072c3689519b109663fd02115}} 
enum Return\+Code {\bfseries Hal\+Event\+Timer\+Start\+Timer} (\mbox{\hyperlink{struct_event_timer}{E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}} $\ast$event\+Timer)
\item 
\mbox{\Hypertarget{open_e_l_8h_adc9765acd3cae629a2ca419413123c3a}\label{open_e_l_8h_adc9765acd3cae629a2ca419413123c3a}} 
enum Return\+Code {\bfseries Hal\+Event\+Timer\+Stop\+Timer} (\mbox{\hyperlink{struct_event_timer}{E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}} $\ast$event\+Timer)
\item 
\mbox{\Hypertarget{open_e_l_8h_a4c42ea844574b20eec19a376d99faed4}\label{open_e_l_8h_a4c42ea844574b20eec19a376d99faed4}} 
enum Return\+Code {\bfseries Hal\+Event\+Timer\+Set\+Event\+Period} (\mbox{\hyperlink{struct_event_timer}{E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}} $\ast$event\+Timer, int32\+\_\+t event\+Period)
\item 
\mbox{\Hypertarget{open_e_l_8h_af0de985e6c148e3d8e4187ac7ce08755}\label{open_e_l_8h_af0de985e6c148e3d8e4187ac7ce08755}} 
enum Return\+Code {\bfseries Hal\+Event\+Timer\+Add\+Observer} (\mbox{\hyperlink{struct_event_timer}{E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}} $\ast$event\+Timer, \mbox{\hyperlink{struct_timer_observer}{T\+I\+M\+E\+R\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}} $\ast$timer\+Observer)
\item 
\mbox{\Hypertarget{open_e_l_8h_ac33b9e615852e71251d35cd08d835db9}\label{open_e_l_8h_ac33b9e615852e71251d35cd08d835db9}} 
enum Return\+Code {\bfseries Hal\+Event\+Timer\+Remove\+Observer} (\mbox{\hyperlink{struct_event_timer}{E\+V\+E\+N\+T\+T\+I\+M\+E\+R\+\_\+T}} $\ast$event\+Timer, \mbox{\hyperlink{struct_timer_observer}{T\+I\+M\+E\+R\+O\+B\+S\+E\+R\+V\+E\+R\+\_\+T}} $\ast$timer\+Observer)
\item 
enum Return\+Code \mbox{\hyperlink{open_e_l_8h_a5416570f666ef6ad1eb73de907077c92}{Hal\+Set\+Position}} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$position\+Control\+Actuator, halfloat position)
\item 
enum Return\+Code \mbox{\hyperlink{open_e_l_8h_a678fb43755e43c87536abcb86924d4c3}{Hal\+Get\+Position}} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$position\+Control\+Actuator, halfloat $\ast$position)
\item 
\mbox{\Hypertarget{open_e_l_8h_a2be885646643c5402c8a8a2ce8bbc286}\label{open_e_l_8h_a2be885646643c5402c8a8a2ce8bbc286}} 
enum Return\+Code {\bfseries Hal\+Set\+Velocity} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$velocity\+Control\+Actuator, halfloat velocity)
\item 
\mbox{\Hypertarget{open_e_l_8h_aedbbf0667e9cff50ba39a2fc85835419}\label{open_e_l_8h_aedbbf0667e9cff50ba39a2fc85835419}} 
enum Return\+Code {\bfseries Hal\+Get\+Velocity} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$velocity\+Control\+Actuator, halfloat $\ast$velocity)
\item 
\mbox{\Hypertarget{open_e_l_8h_ae6ed36eb72325dc046601f2e2ddc8c8a}\label{open_e_l_8h_ae6ed36eb72325dc046601f2e2ddc8c8a}} 
enum Return\+Code {\bfseries Hal\+Set\+Torque} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Control\+Actuator, halfloat torque)
\item 
\mbox{\Hypertarget{open_e_l_8h_a0bd08d72cf679c41b044e73a8893b794}\label{open_e_l_8h_a0bd08d72cf679c41b044e73a8893b794}} 
enum Return\+Code {\bfseries Hal\+Get\+Torque} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Control\+Actuator, halfloat $\ast$torque)
\item 
\mbox{\Hypertarget{open_e_l_8h_af66fcd9fab5991ae9fefc3920f18193f}\label{open_e_l_8h_af66fcd9fab5991ae9fefc3920f18193f}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Get\+Value} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor, halfloat $\ast$list)
\item 
\mbox{\Hypertarget{open_e_l_8h_a6d94925425e87446445d52329e188415}\label{open_e_l_8h_a6d94925425e87446445d52329e188415}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Get\+Timed\+Value} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor, halfloat $\ast$list, int32\+\_\+t $\ast$timer)
\item 
\mbox{\Hypertarget{open_e_l_8h_a7dc409fd6c91d29e88ee89b8a490116e}\label{open_e_l_8h_a7dc409fd6c91d29e88ee89b8a490116e}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Set\+Unit} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor, char units)
\item 
\mbox{\Hypertarget{open_e_l_8h_a6b4e8ae799f86a2f65a97461d25d736e}\label{open_e_l_8h_a6b4e8ae799f86a2f65a97461d25d736e}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Get\+Unit} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor, char $\ast$units)
\item 
\mbox{\Hypertarget{open_e_l_8h_a31279bfce1260e1f57bdd4136bd61c9c}\label{open_e_l_8h_a31279bfce1260e1f57bdd4136bd61c9c}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Set\+Reset} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor)
\item 
\mbox{\Hypertarget{open_e_l_8h_afe8cf98237319c390bf536a3c686af45}\label{open_e_l_8h_afe8cf98237319c390bf536a3c686af45}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Start} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor)
\item 
\mbox{\Hypertarget{open_e_l_8h_ab89a566642444515d856c230f6106cc9}\label{open_e_l_8h_ab89a566642444515d856c230f6106cc9}} 
enum Return\+Code {\bfseries Hal\+Torque\+Sensor\+Stop} (\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$torque\+Sensor)
\item 
\mbox{\Hypertarget{open_e_l_8h_adde49a267c217376dd2836baf36efcc4}\label{open_e_l_8h_adde49a267c217376dd2836baf36efcc4}} 
enum Return\+Code {\bfseries Dummy} ()
\item 
int32\+\_\+t \mbox{\hyperlink{open_e_l_8h_a686c3a37b9e2a710ddf56595cc9721a4}{el\+Get\+Phyical\+Port\+ID}} (uint32\+\_\+t port\+ID, uint32\+\_\+t Property\+ID)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{open_e_l_8h_ad60699f9859db9a5a08b542eceb1684e}\label{open_e_l_8h_ad60699f9859db9a5a08b542eceb1684e}} 
const uint32\+\_\+t {\bfseries el\+Sz\+Compo\+Tbl}
\item 
const struct \mbox{\hyperlink{structel_compo_tbl__st}{el\+Compo\+Tbl\+\_\+st}} \mbox{\hyperlink{open_e_l_8h_a941ac9f1bdeadf4766e207ede8178e1f}{el\+Compo\+Tbl}} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Open\+EL Common Header File  3.\+0.\+0. 



\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{open_e_l_8h_a019387052245dda139486f4facdd4389}\label{open_e_l_8h_a019387052245dda139486f4facdd4389}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER@{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER}}
\index{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER@{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER}{HALCOMPONENT\_MEMBER}}
{\footnotesize\ttfamily \#define H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+\+M\+E\+M\+B\+ER}

{\bfseries Value\+:}
\begin{DoxyCode}
int32\_t handle; \(\backslash\)
  HALID\_T halId;\(\backslash\)
  PROPERTY\_T property;\(\backslash\)
  HALOBSERVER\_T observerList[8];\(\backslash\)
  int32\_t time;
\end{DoxyCode}


\subsection{Typedef Documentation}
\mbox{\Hypertarget{open_e_l_8h_a8d6b4353fc8a369615e1bf1b58f87489}\label{open_e_l_8h_a8d6b4353fc8a369615e1bf1b58f87489}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T@{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}
\index{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T@{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}{EL\_CMN\_FNC\_TBL\_T}}
{\footnotesize\ttfamily typedef union \mbox{\hyperlink{unionel_common_fnc_tbl}{el\+Common\+Fnc\+Tbl}}  \mbox{\hyperlink{open_e_l_8h_a8d6b4353fc8a369615e1bf1b58f87489}{E\+L\+\_\+\+C\+M\+N\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}}

function table universal \mbox{\Hypertarget{open_e_l_8h_a3bf7d3e9305dce8d8a26747df271a213}\label{open_e_l_8h_a3bf7d3e9305dce8d8a26747df271a213}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T@{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}
\index{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T@{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}{EL\_GENERAL\_FNC\_TBL\_T}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structel_genaral_fnc_tbl_st}{el\+Genaral\+Fnc\+Tbl\+St}}  \mbox{\hyperlink{open_e_l_8h_a3bf7d3e9305dce8d8a26747df271a213}{E\+L\+\_\+\+G\+E\+N\+E\+R\+A\+L\+\_\+\+F\+N\+C\+\_\+\+T\+B\+L\+\_\+T}}}

general component --- function table 

\subsection{Function Documentation}
\mbox{\Hypertarget{open_e_l_8h_a686c3a37b9e2a710ddf56595cc9721a4}\label{open_e_l_8h_a686c3a37b9e2a710ddf56595cc9721a4}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!el\+Get\+Phyical\+Port\+ID@{el\+Get\+Phyical\+Port\+ID}}
\index{el\+Get\+Phyical\+Port\+ID@{el\+Get\+Phyical\+Port\+ID}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{el\+Get\+Phyical\+Port\+I\+D()}{elGetPhyicalPortID()}}
{\footnotesize\ttfamily int32\+\_\+t el\+Get\+Phyical\+Port\+ID (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{handle,  }\item[{uint32\+\_\+t}]{profile\+ID }\end{DoxyParamCaption})}

物理port\+I\+Dに変換

物理handleに変換 \mbox{\Hypertarget{open_e_l_8h_a19d80fc962f4dc3fdc9d657ffca516b5}\label{open_e_l_8h_a19d80fc962f4dc3fdc9d657ffca516b5}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!Hal\+Finalize@{Hal\+Finalize}}
\index{Hal\+Finalize@{Hal\+Finalize}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{Hal\+Finalize()}{HalFinalize()}}
{\footnotesize\ttfamily enum Return\+Code Hal\+Finalize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$}]{hal\+Component }\end{DoxyParamCaption})}

Open\+E\+Lデバイスの終了 \mbox{\Hypertarget{open_e_l_8h_a678fb43755e43c87536abcb86924d4c3}\label{open_e_l_8h_a678fb43755e43c87536abcb86924d4c3}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!Hal\+Get\+Position@{Hal\+Get\+Position}}
\index{Hal\+Get\+Position@{Hal\+Get\+Position}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{Hal\+Get\+Position()}{HalGetPosition()}}
{\footnotesize\ttfamily enum Return\+Code Hal\+Get\+Position (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$}]{hal\+Component,  }\item[{halfloat $\ast$}]{position }\end{DoxyParamCaption})}

Open\+E\+Lモーター 位置の取得(\+I32) 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em port\+ID} & \+: ポート\+ID \\
\hline
\mbox{\tt in}  & {\em idx} & \+: 0\+:現在の検出位置 / 1\+:指定された目標位置 / 2\+:現在の指令位置 \\
\hline
\mbox{\tt out}  & {\em p\+Out\+Pos} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エラーコード 0\+:正常 / 0以外\+:異常  ユーザースレッド (ノンブロッキング)  

 
\end{DoxyReturn}
\mbox{\Hypertarget{open_e_l_8h_a516c63aa4f03cd444db528786811f2bf}\label{open_e_l_8h_a516c63aa4f03cd444db528786811f2bf}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!Hal\+Init@{Hal\+Init}}
\index{Hal\+Init@{Hal\+Init}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{Hal\+Init()}{HalInit()}}
{\footnotesize\ttfamily enum Return\+Code Hal\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$}]{hal\+Component }\end{DoxyParamCaption})}

Open\+E\+L初期化

Initialize the open\+EL component 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em vendor\+ID} & \\
\hline
\mbox{\tt in}  & {\em product\+ID} & \\
\hline
\mbox{\tt in}  & {\em component} & index \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0\+:OK / less than -\/1\+:error code 
\end{DoxyReturn}
\mbox{\Hypertarget{open_e_l_8h_a8c628635efbf67fa00b172b11b6dcc76}\label{open_e_l_8h_a8c628635efbf67fa00b172b11b6dcc76}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!Hal\+Re\+Init@{Hal\+Re\+Init}}
\index{Hal\+Re\+Init@{Hal\+Re\+Init}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{Hal\+Re\+Init()}{HalReInit()}}
{\footnotesize\ttfamily enum Return\+Code Hal\+Re\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$}]{hal\+Component }\end{DoxyParamCaption})}

Open\+E\+Lデバイスのリセット \mbox{\Hypertarget{open_e_l_8h_a5416570f666ef6ad1eb73de907077c92}\label{open_e_l_8h_a5416570f666ef6ad1eb73de907077c92}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!Hal\+Set\+Position@{Hal\+Set\+Position}}
\index{Hal\+Set\+Position@{Hal\+Set\+Position}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{Hal\+Set\+Position()}{HalSetPosition()}}
{\footnotesize\ttfamily enum Return\+Code Hal\+Set\+Position (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{union_hal_component}{H\+A\+L\+C\+O\+M\+P\+O\+N\+E\+N\+T\+\_\+T}} $\ast$}]{hal\+Component,  }\item[{halfloat}]{position }\end{DoxyParamCaption})}

Open\+E\+Lモーター 位置決め運転 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em port\+ID} & \+: ポート\+ID \\
\hline
\mbox{\tt in}  & {\em angle} & \+: 絶対位置指令 \mbox{[}ユーザー単位\mbox{]} \\
\hline
\mbox{\tt in}  & {\em speed} & \+: 速度 \mbox{[}ユーザー単位/s\mbox{]} 範囲 0より大きい～製品仕様 \\
\hline
\mbox{\tt in}  & {\em tm\+Acc} & \+: 加減速時間 \mbox{[}ms\mbox{]}(I32),\mbox{[}s\mbox{]}(F64) 0以上～製品仕様 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
エラーコード 0\+:正常 / 0以外\+:異常(運転を受け付けられない状態)  ユーザースレッド (ノンブロッキング)  速度、加減速時間を設定しない関数の場合はパラメーターに従う パラメーター\+ID\+:16で浮動小数点にしている場合はエラー 

 
\end{DoxyReturn}


\subsection{Variable Documentation}
\mbox{\Hypertarget{open_e_l_8h_a941ac9f1bdeadf4766e207ede8178e1f}\label{open_e_l_8h_a941ac9f1bdeadf4766e207ede8178e1f}} 
\index{open\+E\+L.\+h@{open\+E\+L.\+h}!el\+Compo\+Tbl@{el\+Compo\+Tbl}}
\index{el\+Compo\+Tbl@{el\+Compo\+Tbl}!open\+E\+L.\+h@{open\+E\+L.\+h}}
\subsubsection{\texorpdfstring{el\+Compo\+Tbl}{elCompoTbl}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structel_compo_tbl__st}{el\+Compo\+Tbl\+\_\+st}} el\+Compo\+Tbl\mbox{[}$\,$\mbox{]}}

Component Table 