<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>gpio_analog.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/configurator/</path>
    <filename>gpio__analog_8cpp</filename>
    <includes id="gpio__analog_8h" name="gpio_analog.h" local="yes" imported="no">configurator/gpio_analog.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>PARAM_ANALOG_STRING</name>
      <anchorfile>gpio__analog_8cpp.html</anchorfile>
      <anchor>ad4b6ba6f387d96ee76ed0cc345b18dea</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>gpio_analog.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>gpio__analog_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="gpio__sensor_8h" name="gpio_sensor.h" local="yes" imported="no">configurator/gpio_sensor.h</includes>
    <includes id="motor_8h" name="motor.h" local="yes" imported="no">roboteq/motor.h</includes>
    <class kind="class">GPIOAnalogConfigurator</class>
  </compound>
  <compound kind="file">
    <name>gpio_encoder.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/configurator/</path>
    <filename>gpio__encoder_8cpp</filename>
    <includes id="gpio__encoder_8h" name="gpio_encoder.h" local="yes" imported="no">configurator/gpio_encoder.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>PARAM_ENCODER_STRING</name>
      <anchorfile>gpio__encoder_8cpp.html</anchorfile>
      <anchor>a3bf3203bbf23c7174dcaad66a51280eb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>gpio_encoder.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>gpio__encoder_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="motor_8h" name="motor.h" local="yes" imported="no">roboteq/motor.h</includes>
    <includes id="gpio__sensor_8h" name="gpio_sensor.h" local="yes" imported="no">configurator/gpio_sensor.h</includes>
    <class kind="class">GPIOEncoderConfigurator</class>
  </compound>
  <compound kind="file">
    <name>gpio_pulse.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/configurator/</path>
    <filename>gpio__pulse_8cpp</filename>
    <includes id="gpio__pulse_8h" name="gpio_pulse.h" local="yes" imported="no">configurator/gpio_pulse.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>PARAM_PULSE_STRING</name>
      <anchorfile>gpio__pulse_8cpp.html</anchorfile>
      <anchor>a43cbb1cf82437deb13edfb84b1094119</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>gpio_pulse.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>gpio__pulse_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="gpio__sensor_8h" name="gpio_sensor.h" local="yes" imported="no">configurator/gpio_sensor.h</includes>
    <includes id="motor_8h" name="motor.h" local="yes" imported="no">roboteq/motor.h</includes>
    <class kind="class">GPIOPulseConfigurator</class>
  </compound>
  <compound kind="file">
    <name>gpio_sensor.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>gpio__sensor_8h</filename>
    <class kind="class">GPIOSensor</class>
  </compound>
  <compound kind="file">
    <name>motor.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/roboteq/</path>
    <filename>motor_8cpp</filename>
    <includes id="motor_8h" name="motor.h" local="yes" imported="no">roboteq/motor.h</includes>
    <namespace>roboteq</namespace>
  </compound>
  <compound kind="file">
    <name>motor.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/roboteq/</path>
    <filename>motor_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="gpio__sensor_8h" name="gpio_sensor.h" local="yes" imported="no">configurator/gpio_sensor.h</includes>
    <includes id="motor__param_8h" name="motor_param.h" local="yes" imported="no">configurator/motor_param.h</includes>
    <includes id="motor__pid_8h" name="motor_pid.h" local="yes" imported="no">configurator/motor_pid.h</includes>
    <class kind="struct">roboteq::_motor_status</class>
    <class kind="class">roboteq::Motor</class>
    <namespace>roboteq</namespace>
    <member kind="typedef">
      <type>struct roboteq::_motor_status</type>
      <name>motor_status_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>aa84bdb8a3ab47bf6d5df3b357a91bf1a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_param.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/configurator/</path>
    <filename>motor__param_8cpp</filename>
    <includes id="motor__param_8h" name="motor_param.h" local="yes" imported="no">configurator/motor_param.h</includes>
  </compound>
  <compound kind="file">
    <name>motor_param.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>motor__param_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <class kind="class">MotorParamConfigurator</class>
  </compound>
  <compound kind="file">
    <name>motor_pid.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/configurator/</path>
    <filename>motor__pid_8cpp</filename>
    <includes id="motor__pid_8h" name="motor_pid.h" local="yes" imported="no">configurator/motor_pid.h</includes>
  </compound>
  <compound kind="file">
    <name>motor_pid.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/configurator/</path>
    <filename>motor__pid_8h</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <class kind="class">MotorPIDConfigurator</class>
    <member kind="define">
      <type>#define</type>
      <name>GPIOPICCONFIGURATOR_H</name>
      <anchorfile>motor__pid_8h.html</anchorfile>
      <anchor>aac08b3bf3d0a761bfb3063feef62376f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>roboteq.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/roboteq/</path>
    <filename>roboteq_8cpp</filename>
    <includes id="roboteq_8h" name="roboteq.h" local="yes" imported="no">roboteq/roboteq.h</includes>
    <namespace>roboteq</namespace>
  </compound>
  <compound kind="file">
    <name>roboteq.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/roboteq/</path>
    <filename>roboteq_8h</filename>
    <includes id="gpio__analog_8h" name="gpio_analog.h" local="yes" imported="no">configurator/gpio_analog.h</includes>
    <includes id="gpio__pulse_8h" name="gpio_pulse.h" local="yes" imported="no">configurator/gpio_pulse.h</includes>
    <includes id="gpio__encoder_8h" name="gpio_encoder.h" local="yes" imported="no">configurator/gpio_encoder.h</includes>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="motor_8h" name="motor.h" local="yes" imported="no">roboteq/motor.h</includes>
    <class kind="struct">roboteq::_status_fault</class>
    <class kind="struct">roboteq::_status_flag</class>
    <class kind="struct">roboteq::joint</class>
    <class kind="class">roboteq::Roboteq</class>
    <namespace>roboteq</namespace>
    <member kind="typedef">
      <type>struct roboteq::joint</type>
      <name>joint_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>ab0d7589c2a40c7de167933c43b4fa01c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::_status_fault</type>
      <name>status_fault_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a0fd229615388b67d7b07abf2ef0a68cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::_status_flag</type>
      <name>status_flag_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a377d283c53bf26ea4d7677811366d6cc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>roboteq_control.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/</path>
    <filename>roboteq__control_8cpp</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <includes id="roboteq_8h" name="roboteq.h" local="yes" imported="no">roboteq/roboteq.h</includes>
    <member kind="typedef">
      <type>boost::chrono::steady_clock</type>
      <name>time_source</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>a8e927a8cf7114338cd8b5bba95aaca2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>controlLoop</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>afdcf35b83aa4ca9d4dc1e0fa6dda58fd</anchor>
      <arglist>(roboteq::Roboteq &amp;roboteq, controller_manager::ControllerManager &amp;cm, time_source::time_point &amp;last_time)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>diagnosticLoop</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>ae73af7eed6c31f741fa9c3798f9bd496</anchor>
      <arglist>(roboteq::Roboteq &amp;roboteq)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>siginthandler</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>ae30dd03383ee5e1b2e050d4de0a94721</anchor>
      <arglist>(int param)</arglist>
    </member>
    <member kind="variable">
      <type>ros::Timer</type>
      <name>control_loop</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>ab130a92c7bf89936b6aa1be2f9aef630</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Timer</type>
      <name>diagnostic_loop</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>ab4f51ac6ba60836dcc3f2ec4cd2488ae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>roboteq::serial_controller *</type>
      <name>rSerial</name>
      <anchorfile>roboteq__control_8cpp.html</anchorfile>
      <anchor>a1fe3b6eed1c3af6b42d281187d3dda38</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>serial_controller.cpp</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/src/roboteq/</path>
    <filename>serial__controller_8cpp</filename>
    <includes id="serial__controller_8h" name="serial_controller.h" local="yes" imported="no">roboteq/serial_controller.h</includes>
    <namespace>roboteq</namespace>
    <member kind="function">
      <type>const std::string</type>
      <name>eol</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a90c410346487eae8e140bdaa0ef1fc30</anchor>
      <arglist>(&quot;\r&quot;)</arglist>
    </member>
    <member kind="function">
      <type>const size_t</type>
      <name>max_line_length</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a56117753e4e95e72c70e427c65ca7eb7</anchor>
      <arglist>(128)</arglist>
    </member>
    <member kind="function">
      <type>const std::regex</type>
      <name>rgx_cmd</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a1b069a7d24e2964271a2f41a374b39f2</anchor>
      <arglist>(&quot;(\\+|-)\r&quot;)</arglist>
    </member>
    <member kind="function">
      <type>const std::regex</type>
      <name>rgx_query</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a26319e2f9a1458a36080bf98b8345aa6</anchor>
      <arglist>(&quot;(.+)=(.+)\r&quot;)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>serial_controller.h</name>
    <path>/tmp/catkin_workspace/src/armadillo2/armadillo2_utils/roboteq_control/include/roboteq/</path>
    <filename>serial__controller_8h</filename>
    <class kind="class">roboteq::serial_controller</class>
    <namespace>roboteq</namespace>
    <member kind="typedef">
      <type>function&lt; void(string data) &gt;</type>
      <name>callback_data_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a8cb49f223ffa2f824b3e4668612495a2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>roboteq::_motor_status</name>
    <filename>structroboteq_1_1__motor__status.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad0__</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>a7516db116251135a80368a77bc146fef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>amps_limit</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>a2bb36dda36009359cfb129565d68c87e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>amps_triggered_active</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>afe27177e66a05e8f0ed04c07430f9013</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>forward_limit_triggered</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>a6b306d306df94858896fbb9552fbc26c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>loop_error_detect</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>ad282457616316b92fa21284ddff6bf13</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>motor_stalled</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>afdf26de06128ed47d53bc145adaf1ef1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>reverse_limit_triggered</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>ac4a3de76d685e70d9eda879fa4ca5deb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>safety_stop_active</name>
      <anchorfile>structroboteq_1_1__motor__status.html</anchorfile>
      <anchor>a647e251d4eba7b22fa1f1c6cb6a8aec3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>roboteq::_status_fault</name>
    <filename>structroboteq_1_1__status__fault.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>brushless_sensor_fault</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>a8bbedbee18fa1d9e655b92291b4cb4e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>emergency_stop</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>aab35e86480c2530defcc5fd01027f53f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>mosfet_failure</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>ad69729fd190a68b252749c308372679c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>overheat</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>a1b59658ae3d353dcbb533759d52fa21d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>overvoltage</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>adbb3ca2f1fc948622e62066c6a00b108</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>short_circuit</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>a69b210f62854d6a79e665f5f83c0a209</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>undervoltage</name>
      <anchorfile>structroboteq_1_1__status__fault.html</anchorfile>
      <anchor>afa7a0981c3dfe16cb832aead5e71ee57</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>roboteq::_status_flag</name>
    <filename>structroboteq_1_1__status__flag.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>analog_mode</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>af2ee66370263be1b468ddfb10e99175b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>at_limit</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a4056ace51f7554a726f3d4a260fdd88c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>microbasic_running</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>afa2db0745d17c822170eb5719b6ebc34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>power_stage_off</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a738e894ac573257bdc8ee07646dc5ac5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>pulse_mode</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a031b11d0b2a4e7b1ab3f57affbfe0270</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>serial_mode</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a4da5ef7f2d965179ae4a204e5cc8bda3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>spectrum</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a65967a2535e34865038b1889658e194d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>stall_detect</name>
      <anchorfile>structroboteq_1_1__status__flag.html</anchorfile>
      <anchor>a9d7797c7562a8dcf54bb22cb2462f08b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>GPIOAnalogConfigurator</name>
    <filename>classGPIOAnalogConfigurator.html</filename>
    <base protection="private">GPIOSensor</base>
    <member kind="function">
      <type>double</type>
      <name>getConversion</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a744f073b8a14ff3315654abc983ed666</anchor>
      <arglist>(double reduction)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GPIOAnalogConfigurator</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a74798d24f840e69f6a68e5cb7cb00976</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, roboteq::serial_controller *serial, std::vector&lt; roboteq::Motor * &gt; motor, string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initConfigurator</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>aa4298d35bff3112d1cb8b637f92f9220</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getParamFromRoboteq</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a4752b89d2dee922d3b5df66dfc4f20bc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBParam</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>ae64d365f54af428449aefcf613635302</anchor>
      <arglist>(roboteq_control::RoboteqAnalogInputConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqAnalogInputConfig</type>
      <name>_last_param_config</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>ad10c883994ab322d0a7519b480ca0dfd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; roboteq::Motor * &gt;</type>
      <name>_motor</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a296f0e553303ebee2979469b170da00b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqAnalogInputConfig</type>
      <name>default_param_config</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a0aa5767cc99d361790ad35011d900d7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqAnalogInputConfig &gt; *</type>
      <name>ds_param</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a4265a53e38d83a99f0ad38de5cf076b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mName</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a942784cd48f806b4ed89a2b154765304</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>af07968885ac2761bd3b3429a0cebfddd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq::serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a93b698e40a8fbc692c3134c5ab87d3a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>a9604d64d44b761fe38275ba4dc1b642d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_param</name>
      <anchorfile>classGPIOAnalogConfigurator.html</anchorfile>
      <anchor>aea70da960236dbd036d26274fcef670b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>GPIOEncoderConfigurator</name>
    <filename>classGPIOEncoderConfigurator.html</filename>
    <base protection="private">GPIOSensor</base>
    <member kind="function">
      <type>double</type>
      <name>getConversion</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>acae7c44ddae6fb06ca63be9e416a7897</anchor>
      <arglist>(double reduction)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GPIOEncoderConfigurator</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>af6e402c16b706204fef499ea3ffb5198</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, roboteq::serial_controller *serial, std::vector&lt; roboteq::Motor * &gt; motor, string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initConfigurator</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a6d6f3f814dfaca7f84d9590ec4426437</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getEncoderFromRoboteq</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a89188f4d914158dd3a98930dbf2cfdd9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBEncoder</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a462a33e512ba76560653270728fb90e2</anchor>
      <arglist>(roboteq_control::RoboteqEncoderConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqEncoderConfig</type>
      <name>_last_encoder_config</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a9ca27b5062e6a70a45ad4acad6f72cb7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; roboteq::Motor * &gt;</type>
      <name>_motor</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a4efcb688fda5e4f459078a5d57e0ab88</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>_reduction</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a108197645b2922da4ea202b88ae119f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqEncoderConfig</type>
      <name>default_encoder_config</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>ad8dfb1a543596a03488d57a2ef1a604e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqEncoderConfig &gt; *</type>
      <name>ds_encoder</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>adf6028b0bedbf59829a029e27a207e1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mName</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a6ecca22dbe65304662f172f92d864901</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a708d426ea04ff0c86d6ec978d5819c0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq::serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>ab9b617fc4f26bc0db6f3eddece49754e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>a87653e7ec0e7188e4634c7dbd31adaca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_encoder</name>
      <anchorfile>classGPIOEncoderConfigurator.html</anchorfile>
      <anchor>af0f88fafebf151d1e8cac8415c0319b7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>GPIOPulseConfigurator</name>
    <filename>classGPIOPulseConfigurator.html</filename>
    <base protection="private">GPIOSensor</base>
    <member kind="function">
      <type>double</type>
      <name>getConversion</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>aea8edf005b39a1aff4d4675c2f3c7f85</anchor>
      <arglist>(double reduction)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>GPIOPulseConfigurator</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>ac56d45ae7fb2c626da9da7c9df941033</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, roboteq::serial_controller *serial, std::vector&lt; roboteq::Motor * &gt; motor, string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initConfigurator</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>acb9a93c4cf20e40bd3f6d7aba3bf2a48</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getParamFromRoboteq</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>aa08a8c90dee194cba24a0f5d4a367a7a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBParam</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>ae130824948115d46093b8cd157c8ca0a</anchor>
      <arglist>(roboteq_control::RoboteqPulseInputConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPulseInputConfig</type>
      <name>_last_param_config</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a34d7f29f4515a9580f718a90bf677f6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; roboteq::Motor * &gt;</type>
      <name>_motor</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a43de804e58874c68dad6c749132bfa1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPulseInputConfig</type>
      <name>default_param_config</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a79fadc1708408b1e5c259e3641c91619</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqPulseInputConfig &gt; *</type>
      <name>ds_param</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>aa06a70bdd0bcb87e29946123ed784aef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mName</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a6b66b15bbd22f059135766117afed02a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a2debbd85cebe2987c855e8b4b37ca013</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq::serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>ac0ee3a54cafa75857c9eff693c70ec2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>a7d993980625fc1985783e9590008e05a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_param</name>
      <anchorfile>classGPIOPulseConfigurator.html</anchorfile>
      <anchor>aad0af46b76afce08081187534a1f953a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>GPIOSensor</name>
    <filename>classGPIOSensor.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual double</type>
      <name>getConversion</name>
      <anchorfile>classGPIOSensor.html</anchorfile>
      <anchor>ab5e0058384adc2e83e772bdef68e0a21</anchor>
      <arglist>(double reduction)=0</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>roboteq::joint</name>
    <filename>structroboteq_1_1joint.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>effort</name>
      <anchorfile>structroboteq_1_1joint.html</anchorfile>
      <anchor>a31d8d83844dd663ed6982443f6d5e93b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Motor *</type>
      <name>motor</name>
      <anchorfile>structroboteq_1_1joint.html</anchorfile>
      <anchor>acd52c34d3115f4a5b406e3a9aac43d61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position</name>
      <anchorfile>structroboteq_1_1joint.html</anchorfile>
      <anchor>a9d5ec1dda02b8b66cf84d9263cf1deca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity</name>
      <anchorfile>structroboteq_1_1joint.html</anchorfile>
      <anchor>a92e230410169c05d1cb3dba4c3c4d761</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity_command</name>
      <anchorfile>structroboteq_1_1joint.html</anchorfile>
      <anchor>a8ec6d111cc64224d2367bbef19070b94</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>roboteq::Motor</name>
    <filename>classroboteq_1_1Motor.html</filename>
    <base>diagnostic_updater::DiagnosticTask</base>
    <member kind="function">
      <type>string</type>
      <name>getName</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>abbb46516287b72017ac7ca8c1f5603e8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getNumber</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a49be54cd4923e699f6e8ff5773dc26b6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initializeMotor</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a13f5251ce3af0a00e5dd5d63b63b189b</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Motor</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a59522774f16b1eb13b168775869c4f98</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, serial_controller *serial, string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>readVector</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a65454541cea7db9efb42c2e945a94c72</anchor>
      <arglist>(std::vector&lt; std::string &gt; fields)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>registerSensor</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a383691ef54d140b3b7410bce95dee667</anchor>
      <arglist>(GPIOSensor *sensor)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>resetPosition</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ac0bc236ac28ed25e686443955f1751bd</anchor>
      <arglist>(double position)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>run</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>abb2cc3718a6665b776479bc67cd6a193</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setupLimits</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ad0f8a70aef15722f8e36a1c64e894b23</anchor>
      <arglist>(urdf::Model model)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stopMotor</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>aae011c3d369a0682f28a0e92ed440008</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>switchController</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a75375ecbf8b06f4211406cec092b8ff7</anchor>
      <arglist>(string type)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeCommandsToHardware</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a7118b7a70eb364613991cf3c6e1e6ffa</anchor>
      <arglist>(ros::Duration period)</arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::JointHandle</type>
      <name>joint_handle</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a2b3580284796d1196f1f1d6735ad269d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>hardware_interface::JointStateHandle</type>
      <name>joint_state_handle</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ad1cd0bdadb3f9a7576060e93ed4f9ce1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>acbc18bb76a6af94d648fb1b0e77725fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a2bd1267f9e5fc4260fca9e23cfbe778f</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>from_encoder_ticks</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>af7515f51c4ad0384e4b25c6552a14875</anchor>
      <arglist>(double x)</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>double</type>
      <name>to_encoder_ticks</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a99d8651d77ad20eac159dfcb59f034ba</anchor>
      <arglist>(double x)</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static double</type>
      <name>from_rpm</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a798b8074b90df869b93b59af7e577600</anchor>
      <arglist>(double x)</arglist>
    </member>
    <member kind="function" protection="protected" static="yes">
      <type>static double</type>
      <name>to_rpm</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a2f882300ff5d55424dddf3b44e61f718</anchor>
      <arglist>(double x)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>connectionCallback</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>aabf5e22ce0b992386d04a308291e484a</anchor>
      <arglist>(const ros::SingleSubscriberPublisher &amp;pub)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>read</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a6f5f89949f8f8590d7f91df30e4794be</anchor>
      <arglist>(string data)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>_control_mode</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a09b4dc340c605923a1270a1e39c8eef6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>GPIOSensor *</type>
      <name>_sensor</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a92cda7e933a537106bd2470052de4e0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>motor_status_t</type>
      <name>_status</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a5b89fea3a09c9ed5e20c2f4cc02fe7be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>command</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>acbafbb91fe2439694094ca8f5ca98ed3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>effort</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ad1c48cc49c614d2c4fe93dcced830dd4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_effort</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a7e470e0945ec51bfe27677e0a4356ee1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_position</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a70d7d19c35ae841d3b55b59886e8680a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>max_velocity</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a19737e4d9fc8a7951d02342378db9078</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mMotorName</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a52d835e0bbaacd111ec6056b1e7489b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>mNh</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ad901f69f3a7feab5a05ee0e33519bc20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a529e884b1ea694578fd570452d2cc410</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::ControlStatus</type>
      <name>msg_control</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a129d98cf3a436cb93bdaf0c1c4559a80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::MotorStatus</type>
      <name>msg_status</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a7f1356020591f1d7125d1e4c6c408136</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorParamConfigurator *</type>
      <name>parameter</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a5d7fad4660f8b191f90b30464e2bb0f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorPIDConfigurator *</type>
      <name>pid_position</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>afb8f69d79130c15796b74c9a6373a834</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorPIDConfigurator *</type>
      <name>pid_torque</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>aa78fce07d392964cc1e84c684f07933c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorPIDConfigurator *</type>
      <name>pid_velocity</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>ab62ab8a01483419ef13b342a363e0c9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_control</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a9b569da31d1c9e069cf79e1007c5a17c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_status</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>a57862e90cd16ba0e824f9abbdf2e86ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::VelocityJointSoftLimitsInterface</type>
      <name>vel_limits_interface</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>adfe33564ea8edb96fda5440f99bb4359</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>velocity</name>
      <anchorfile>classroboteq_1_1Motor.html</anchorfile>
      <anchor>af0c272da62b866cfc0851f9eb3835145</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorParamConfigurator</name>
    <filename>classMotorParamConfigurator.html</filename>
    <member kind="function">
      <type>int</type>
      <name>getOperativeMode</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a1ba6c37e8d47d433593c9d7b49f7ea00</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initConfigurator</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a6313667b43d9d82ead11b13026390a88</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorParamConfigurator</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a108ac4e0d0e0df9cb1a773d629272250</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, roboteq::serial_controller *serial, std::string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setOperativeMode</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>aefa3c5f0549ecb847199f9f753d88d15</anchor>
      <arglist>(int type)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getParamFromRoboteq</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>ae47c3dddcc890c4759215c094fc61934</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBParam</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a45ad9bdf4de7dcd2069bbea460972099</anchor>
      <arglist>(roboteq_control::RoboteqParameterConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBPIDtype</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a87691f9a0d2cd60b175122aa98bbd8ed</anchor>
      <arglist>(roboteq_control::RoboteqPIDtypeConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqParameterConfig</type>
      <name>_last_param_config</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>afb61d3903be54182937f1e76e4a28860</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPIDtypeConfig</type>
      <name>_last_pid_type_config</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a03e7b6df96addadce6c1d348002b1578</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqParameterConfig</type>
      <name>default_param_config</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>aa6ab4b4e2f43768a5bac7b3e4002f3a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPIDtypeConfig</type>
      <name>default_pid_type_config</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a93d09cdb360b7f18cfc1f8ca445edafe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqParameterConfig &gt; *</type>
      <name>ds_param</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a18e5eef8ac548ef15017b9a7533a851c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqPIDtypeConfig &gt; *</type>
      <name>ds_pid_type</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>afde0808cf755797da0698c8f8e5c3ac3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mName</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a928b8acb7b8df06efaa3b982f0a8da12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a242d2f7df7ed8bd9634ae4f01eeb4b83</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq::serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>aa79647de351ea00537078c9828aef2c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a8f379b73980cd2e1e941a128e291b642</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_param</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a73b2fae63d38ed369265219306fb65f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_pid_type</name>
      <anchorfile>classMotorParamConfigurator.html</anchorfile>
      <anchor>a9010626f861006e74642c74e55ae12d7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorPIDConfigurator</name>
    <filename>classMotorPIDConfigurator.html</filename>
    <member kind="function">
      <type>void</type>
      <name>initConfigurator</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a5c74b3bfa00b7f74a367040604917946</anchor>
      <arglist>(bool load_from_board)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorPIDConfigurator</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a7108157a566c1e9ea4baa9e7d6c80ebe</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, roboteq::serial_controller *serial, string path, string name, unsigned int number)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPIDconfiguration</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>ab6b449e1adda8695a34900fca88d809d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getPIDFromRoboteq</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a9acc11ff29039ab1d27f5d7ae8263569</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBPID</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>ab8e0efd25af0e3172b1f6aa680e0723a</anchor>
      <arglist>(roboteq_control::RoboteqPIDConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPIDConfig</type>
      <name>_last_pid_config</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a46f12a7a190a40a9e014153f1107d48b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqPIDConfig</type>
      <name>default_pid_config</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a4cfc489139ccbc83304258bdb499d5c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqPIDConfig &gt; *</type>
      <name>ds_pid</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>afc01fd9d418e2029a3987fa6af008f01</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mName</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a519ae40dcc9b839dfeabc02297a19c93</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>unsigned int</type>
      <name>mNumber</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a6e521c16838b6db37df6858335219945</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq::serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a23eef954c35b78b758cb4c82ba9bcc90</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mType</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a9e541f5e75c5b9ae033b101954807aec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>a4b5b429e28f120b5a63cbf293d0e8c51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_pid</name>
      <anchorfile>classMotorPIDConfigurator.html</anchorfile>
      <anchor>aee0e5df8b777b07be00874a4211aa002</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>roboteq::Roboteq</name>
    <filename>classroboteq_1_1Roboteq.html</filename>
    <base>hardware_interface::RobotHW</base>
    <base>diagnostic_updater::DiagnosticTask</base>
    <member kind="function">
      <type>void</type>
      <name>doSwitch</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a51a6584c55950f913dbcb88dcf291a75</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initialize</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a20ad26cacb52e768aaa252948e2e6cbc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initializeDiagnostic</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a3728493da757a332d8351a681912a351</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>initializeInterfaces</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>aba3d5e2b2912e2622cfb952c11460a4c</anchor>
      <arglist>(hardware_interface::JointStateInterface &amp;joint_state_interface, hardware_interface::VelocityJointInterface &amp;velocity_joint_interface)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>prepareSwitch</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a8e01ce11df4d6246105f8ee0ace462b0</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a0c6f669577cd857e4484ab4ef9a171ec</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Roboteq</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a9ccf6d5a9c151b56021fdffc3220ecdf</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const ros::NodeHandle &amp;private_nh, serial_controller *serial)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>run</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a7fa2a59fd20e9d1d5968bb719ca63161</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateDiagnostics</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a09716bcef880969b306374ef80a3e82f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ab41cedb820c5640c165f517b0b1d094a</anchor>
      <arglist>(const ros::Time &amp;time, const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Roboteq</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ad6afd72e31e877ba37546fb7a5826fee</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>connectionCallback</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>aedd2972fd5dadee3165cfb2586db2c0b</anchor>
      <arglist>(const ros::SingleSubscriberPublisher &amp;pub)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getControllerFromRoboteq</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a8742935bb01156dd90dd84596b7eb0bb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>getRoboteqInformation</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a17fdf5d16861254a50693524a2a5fa0a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>reconfigureCBController</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a6f258555242b310895fca65ec7d713cb</anchor>
      <arglist>(roboteq_control::RoboteqControllerConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>service_Callback</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ae34e1bc17f3ff04691910967306f133a</anchor>
      <arglist>(roboteq_control::Service::Request &amp;req, roboteq_control::Service::Response &amp;msg_system)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>stop_Callback</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>aee6c7af8af2935fc301eb399dfa56389</anchor>
      <arglist>(const std_msgs::Bool::ConstPtr &amp;msg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>status_fault_t</type>
      <name>_fault</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ad5b08e68f6c47bf7e0df8a37a920f540</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>_first</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a3f033e0032a25976ac3933e9a90b8a0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>status_flag_t</type>
      <name>_flag</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a0b9e9143a3c44092d198a906b2be4a7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>_isGPIOreading</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a142c1e6b762f25858a95c7ce6b7eae2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqControllerConfig</type>
      <name>_last_controller_config</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>aa97cd4666753784bd792cb42a95f35cb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>_model</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ac2a44d94e7185e93b5532dd9419eb982</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; GPIOAnalogConfigurator * &gt;</type>
      <name>_param_analog</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>af13bf1fb3c4e932841e18a845c0e2cab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; GPIOEncoderConfigurator * &gt;</type>
      <name>_param_encoder</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a81e6a51bff4d42bca8b3369d3935720a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; GPIOPulseConfigurator * &gt;</type>
      <name>_param_pulse</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a557edbe172000e113a4913eca829fc34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>_temp_bridge</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a9d266269100f0dcc4a8ac1e2c44a6770</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>_temp_mcu</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a26bbfa134b870cf094432e9a7a4acae7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>_type</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a7e9f4a7236217f1dc1f4000ec1c810ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>_uid</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>af0ae0a9b8ff27b49cdbbecb6012e4165</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>_version</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a9dcb7ede0ba044a7b1114bb0c4648caa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>_volts_five</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a132cd7065981e18e7ad93d0c1d3dd67d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>_volts_internal</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>acef6c7f8ebf142f41e17f09635d40473</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::RoboteqControllerConfig</type>
      <name>default_controller_config</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>ae8d8ba5342b6e19613d85971d9bd107e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>diagnostic_updater::Updater</type>
      <name>diagnostic_updater</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a23895211bbf3a1be579fac2bc45cc166</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dynamic_reconfigure::Server&lt; roboteq_control::RoboteqControllerConfig &gt; *</type>
      <name>ds_controller</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a71cc3163bd1e07627044102237f5ab61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>first_read_</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>acf78ea39211c9b6fc3452d1588fda7e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>first_read_pos_</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a7d211883219e01df44411ebaa3564379</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; Motor * &gt;</type>
      <name>mMotor</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a2ca713b3c92141dfe4e31fb14ebc69b1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>mNh</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a5e90785807d870d8424052f3962d3f25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>urdf::Model</type>
      <name>model</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>af26853b2f859c33d8804f026a74142d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>serial_controller *</type>
      <name>mSerial</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a80033778fd99b40174a75e7dc75fe59f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>roboteq_control::Peripheral</type>
      <name>msg_peripheral</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a20081b13ed7add897cdf8c478e6fdc99</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>private_mNh</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a9eb4d1efd1bd7387ef3e5cdb401fa4d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_peripheral</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a5bde466347095dc7fb77625676beda9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>setup_controller</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>af6913bb895145c667bbce7f622ca4fa4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::ServiceServer</type>
      <name>srv_board</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a1e206db65b75d9e4be8e0cbb224dec9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_stop</name>
      <anchorfile>classroboteq_1_1Roboteq.html</anchorfile>
      <anchor>a4ade3f9431b2b3518a54588acd0d7f4d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>roboteq::serial_controller</name>
    <filename>classroboteq_1_1serial__controller.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>addCallback</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>adb979587176fbcebdbc44997b1117b06</anchor>
      <arglist>(const callback_data_t &amp;callback, const string data)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>addCallback</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a0e411e537c2c31fcc50be490b14b5a82</anchor>
      <arglist>(void(T::*fp)(const string), T *obj, const string data)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>command</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a973e292114f4a401bcba24d705e2e205</anchor>
      <arglist>(string msg, string params=&quot;&quot;, string type=&quot;!&quot;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>downloadScript</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>aea82d7397e539188f27e33f6797460f6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>echo</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>af655eb60e4c6cc2bc40b0f6287265eab</anchor>
      <arglist>(bool type)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>factoryReset</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>af8396cc26f652ad4b8224e1b2a9b9651</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>get</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a82d335c70d6039b834c7cc969a9fef55</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>getParam</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>af6b3f23f294a1536b036e5912bb81bf8</anchor>
      <arglist>(string msg, string params=&quot;&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>getQuery</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a8b037d6bc534b5b0f96701e290f6bd0f</anchor>
      <arglist>(string msg, string params=&quot;&quot;)</arglist>
    </member>
    <member kind="function">
      <type>string</type>
      <name>getVersionScript</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a73125f51dd94d48730fc0ad51a9cc7b0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>loadFromEEPROM</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a4c2d77355b836a77fbdd4e67c66276b0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>maintenance</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a15ca2695acbddcd4faff1c458ccee2ae</anchor>
      <arglist>(string msg, string params=&quot;&quot;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>query</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a9907bfd23fd888de3c7eadfe4af9fa07</anchor>
      <arglist>(string msg, string params=&quot;&quot;, string type=&quot;?&quot;)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>acafea265a7d258647ee3ea23ff9a52eb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>saveInEEPROM</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a1686e0cfd1c4fb85a4e827b6b8cddc75</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>script</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ad6d7e5487bb79c144928d4be6d9cf1b7</anchor>
      <arglist>(bool status)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>serial_controller</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ad045e06959a4d868b4a0833a5bd3e265</anchor>
      <arglist>(string port, unsigned long baudrate)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>setParam</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a4faaa2bca5ab13386dade34234196b93</anchor>
      <arglist>(string msg, string params=&quot;&quot;)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>start</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ac60d02bef3d102757ce6f301e2e044cf</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>stop</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a5b90b026155952dfa9045e8222da0c6e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~serial_controller</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a7020ce6c2414e9c90221bcf7fd9a94d7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>async_reader</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>af32e6f90a3b8f3bda7ac16f5613b2bba</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>enableDownload</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a7f44892909ad1fdcced271d1bb511fec</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>_script_ver</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a300509016be06ac1ba5a132f2a74113c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>cv</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>aee065cb05d803de2708de7cb290db955</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>data</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a2ca348e0f9112e49a7334ff1115cb8a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>first</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ac5ad2e8ef875e0f4fb679c98402edbd7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>map&lt; string, callback_data_t &gt;</type>
      <name>hashmap</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>abf12c23417ffb078a12098a2d925d7e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>isHLD</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a1f88c55d76c3eaf32f3608bef7d26791</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint32_t</type>
      <name>mBaudrate</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a1683a5932f4da4413a575167a4a9226e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mMessage</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ad9ec53b7dd460b8beeecabb45b94c04b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>mutex</type>
      <name>mReaderMutex</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>afccfbe206dc2e5afd43eb0b7d1e2a218</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>serial::Serial</type>
      <name>mSerial</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a788c571a304fa0af32b4b8414b84e201</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>mSerialPort</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a48be3603aa1abe3ab6ce9dcbfbc54473</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>mStopping</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>ac95731707bef41e91c71b503469342e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint32_t</type>
      <name>mTimeout</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>adf56ac4d9979d70d8249559d733e43e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>mutex</type>
      <name>mWriteMutex</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>af29cf7d6fe6544e8a256e364d55abd86</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>string</type>
      <name>sub_data</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>affaaa362119625cfa1d236a9e3c38247</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>sub_data_cmd</name>
      <anchorfile>classroboteq_1_1serial__controller.html</anchorfile>
      <anchor>a79b8fabdd0c0b1ae09106ab91c20f767</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>roboteq</name>
    <filename>namespaceroboteq.html</filename>
    <class kind="struct">roboteq::_motor_status</class>
    <class kind="struct">roboteq::_status_fault</class>
    <class kind="struct">roboteq::_status_flag</class>
    <class kind="struct">roboteq::joint</class>
    <class kind="class">roboteq::Motor</class>
    <class kind="class">roboteq::Roboteq</class>
    <class kind="class">roboteq::serial_controller</class>
    <member kind="typedef">
      <type>function&lt; void(string data) &gt;</type>
      <name>callback_data_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a8cb49f223ffa2f824b3e4668612495a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::joint</type>
      <name>joint_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>ab0d7589c2a40c7de167933c43b4fa01c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::_motor_status</type>
      <name>motor_status_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>aa84bdb8a3ab47bf6d5df3b357a91bf1a</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::_status_fault</type>
      <name>status_fault_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a0fd229615388b67d7b07abf2ef0a68cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct roboteq::_status_flag</type>
      <name>status_flag_t</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a377d283c53bf26ea4d7677811366d6cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>const std::string</type>
      <name>eol</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a90c410346487eae8e140bdaa0ef1fc30</anchor>
      <arglist>(&quot;\r&quot;)</arglist>
    </member>
    <member kind="function">
      <type>const size_t</type>
      <name>max_line_length</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a56117753e4e95e72c70e427c65ca7eb7</anchor>
      <arglist>(128)</arglist>
    </member>
    <member kind="function">
      <type>const std::regex</type>
      <name>rgx_cmd</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a1b069a7d24e2964271a2f41a374b39f2</anchor>
      <arglist>(&quot;(\\+|-)\r&quot;)</arglist>
    </member>
    <member kind="function">
      <type>const std::regex</type>
      <name>rgx_query</name>
      <anchorfile>namespaceroboteq.html</anchorfile>
      <anchor>a26319e2f9a1458a36080bf98b8345aa6</anchor>
      <arglist>(&quot;(.+)=(.+)\r&quot;)</arglist>
    </member>
  </compound>
</tagfile>
