<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>motor_hardware.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/src/</path>
    <filename>motor__hardware_8cc</filename>
    <includes id="motor__hardware_8h" name="motor_hardware.h" local="no" imported="no">ubiquity_motor/motor_hardware.h</includes>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>CURRENT_FIRMWARE_VERSION</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a2fc0799b498999097e9e50d32ebde14b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>QTICS_PER_RADIAN</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a89f50974c44cd198b93f8d357640780c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TICS_PER_RADIAN</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a35076a7bfbf06879065061a82564badb</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>VELOCITY_READ_PER_SECOND</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a9faa6a6bcedef8eec7629030863a2359</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_hardware.h</name>
    <path>/tmp/ws/src/ubiquity_motor/include/ubiquity_motor/</path>
    <filename>motor__hardware_8h</filename>
    <includes id="motor__parmeters_8h" name="motor_parmeters.h" local="no" imported="no">ubiquity_motor/motor_parmeters.h</includes>
    <includes id="motor__serial_8h" name="motor_serial.h" local="no" imported="no">ubiquity_motor/motor_serial.h</includes>
    <class kind="struct">MotorHardware::Joint</class>
    <class kind="class">MotorHardware</class>
  </compound>
  <compound kind="file">
    <name>motor_hardware_test.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/test/</path>
    <filename>motor__hardware__test_8cc</filename>
    <includes id="motor__hardware_8h" name="motor_hardware.h" local="no" imported="no">ubiquity_motor/motor_hardware.h</includes>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <class kind="class">MotorHardwareTests</class>
    <member kind="function">
      <type>void</type>
      <name>callbackS</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>afebf12fbe5e7ec1b41da60177016f150</anchor>
      <arglist>(const std_msgs::Int32 &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>callbackU</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a64cf96afdeec66a13428d5991612ce94</anchor>
      <arglist>(const std_msgs::UInt32 &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a11ce43794fd4291e71fcf2c90dc3734c</anchor>
      <arglist>(MotorHardwareTests, writeSpeedsOutputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>afcec37bcc1ebcdbd48826cbc7591f605</anchor>
      <arglist>(MotorHardwareTests, nonZeroWriteSpeedsOutputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>ab369b83cc2e494119c890cc203ca56b6</anchor>
      <arglist>(MotorHardwareTests, odomUpdatesPosition)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a418acf2c8e523bc6434f7ea49b4ab029</anchor>
      <arglist>(MotorHardwareTests, odomUpdatesPositionMax)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a434b9a21f5fc9549587e06b20f1bc2ce</anchor>
      <arglist>(MotorHardwareTests, requestVersionOutputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a39593a9271d73cac19dd0a567d9e12c8</anchor>
      <arglist>(MotorHardwareTests, oldFirmwareThrows)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a5b64e0ea013a61838aa8e0e363a6be51</anchor>
      <arglist>(MotorHardwareTests, setDeadmanTimerOutputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a4b1ced2737d382613f6b2339dfae931f</anchor>
      <arglist>(MotorHardwareTests, setParamsSendParams)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a12cd586830e2f1a196cb982b57e4db95</anchor>
      <arglist>(MotorHardwareTests, debugRegisterUnsignedPublishes)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a63fd1ebd0ff736f9f462136582564e1c</anchor>
      <arglist>(MotorHardwareTests, debugRegisterSignedPublishes)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>called</name>
      <anchorfile>motor__hardware__test_8cc.html</anchorfile>
      <anchor>a652581c439093100c0ecdbb09a983ccb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_message.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/src/</path>
    <filename>motor__message_8cc</filename>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
  </compound>
  <compound kind="file">
    <name>motor_message.h</name>
    <path>/tmp/ws/src/ubiquity_motor/include/ubiquity_motor/</path>
    <filename>motor__message_8h</filename>
    <class kind="class">MotorMessage</class>
    <member kind="typedef">
      <type>boost::array&lt; uint8_t, 8 &gt;</type>
      <name>RawMotorMessage</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a3765b4602685dbe2ef0535d9db5faf96</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_message_test.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/test/</path>
    <filename>motor__message__test_8cc</filename>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>acc79bcbde947557ceda324cb37e4d124</anchor>
      <arglist>(MotorMessageTest, motor_message_commandtype)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a623feea3a490c870d86788e22943371e</anchor>
      <arglist>(MotorMessageTest, motor_message_commandtype_values)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a74438964583d441c655f6cc59899c152</anchor>
      <arglist>(MotorMessageTest, motor_message_commandtype_invalid)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a420aaa393d3af41c79453c83d2052789</anchor>
      <arglist>(MotorMessageTest, motor_message_commandtype_overflow)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>aef7ddda0d956fa4b932a84309392d450</anchor>
      <arglist>(MotorMessageTest, motor_message_commandtype_neg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a0fb099428d7a22f9a712c730f81a344e</anchor>
      <arglist>(MotorMessageTest, motor_message_register)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>aae49f928db3aecad0005898aa987dcbf</anchor>
      <arglist>(MotorMessageTest, motor_message_register_values)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a86fa744a2d9455c3d66de0683bf162bc</anchor>
      <arglist>(MotorMessageTest, motor_message_register_invalid)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>ad9a019adb65b00cceba69a23b1e37346</anchor>
      <arglist>(MotorMessageTest, motor_message_register_overflow)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>aff38a260e0b50c3789ecd66e57142bff</anchor>
      <arglist>(MotorMessageTest, motor_message_register_neg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a1024132f7e8cf2cc1998e73d87324673</anchor>
      <arglist>(MotorMessageTest, motor_message_data_64bit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>ade558c6b0863da8faea8a76f49518b57</anchor>
      <arglist>(MotorMessageTest, motor_message_data_32bit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a5b9677359c41648efff14a05e159f60b</anchor>
      <arglist>(MotorMessageTest, motor_message_data_16bit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a87fe2b56e195b96b299247960157a13c</anchor>
      <arglist>(MotorMessageTest, motor_message_data_8bit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a4dc8111b2e2fb4d4ce99fee1e24e099d</anchor>
      <arglist>(MotorMessageTest, motor_message_serialize)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a3b306c726fcf5a734ef567a000b48c76</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_good)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>ae25a2c26bcaf7919702ed4f00bdd76ca</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_delimeter_in_data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a2abb09bbc3e53409c457d9b32387779f</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_bad_delimeter)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>add6bdc76a97f5b8d52fceee8e62e21bb</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_bad_protocol)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>aaf8773074bc7fa8be06c4d63f99316d9</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_bad_checksum)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a9134ee62dc59d8c9505c0ad2149f1740</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_bad_type)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__message__test_8cc.html</anchorfile>
      <anchor>a3836c33eff98f2b89afa35249807c687</anchor>
      <arglist>(MotorMessageTest, motor_message_deserialize_bad_register)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_node.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/src/</path>
    <filename>motor__node_8cc</filename>
    <includes id="motor__hardware_8h" name="motor_hardware.h" local="no" imported="no">ubiquity_motor/motor_hardware.h</includes>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <includes id="motor__parmeters_8h" name="motor_parmeters.h" local="no" imported="no">ubiquity_motor/motor_parmeters.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>PID_update_callback</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>aef8f3625735717dae527f09d796b1161</anchor>
      <arglist>(const ubiquity_motor::PIDConfig &amp;config, uint32_t level)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>BILLION</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>aded5575d156cf1f4a6e8de269f01c874</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static FirmwareParams</type>
      <name>firmware_params</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>a803e0a056b8a1853577f995fef89a23d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static NodeParams</type>
      <name>node_params</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>a36211f00776b879d15e44a09bf6cc53a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static CommsParams</type>
      <name>serial_params</name>
      <anchorfile>motor__node_8cc.html</anchorfile>
      <anchor>a3b87df48e6702f236d498b7f5ba56de3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_parameter_test.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/test/</path>
    <filename>motor__parameter__test_8cc</filename>
    <includes id="motor__parmeters_8h" name="motor_parmeters.h" local="no" imported="no">ubiquity_motor/motor_parmeters.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>motor__parameter__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__parameter__test_8cc.html</anchorfile>
      <anchor>a41c2accb2afb29b729c937a12e346c4b</anchor>
      <arglist>(MotorParameterTests, getParamOrDefaultTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__parameter__test_8cc.html</anchorfile>
      <anchor>a508b1819ff0aeef8f493d5e83884712e</anchor>
      <arglist>(MotorParameterTests, NodeParamTest)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__parameter__test_8cc.html</anchorfile>
      <anchor>ae5ee27389dae36f9587b672ccb24b9ff</anchor>
      <arglist>(MotorParameterTests, CommsParamsTest)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_parmeters.h</name>
    <path>/tmp/ws/src/ubiquity_motor/include/ubiquity_motor/</path>
    <filename>motor__parmeters_8h</filename>
    <class kind="struct">CommsParams</class>
    <class kind="struct">FirmwareParams</class>
    <class kind="struct">NodeParams</class>
    <member kind="function">
      <type>T</type>
      <name>getParamOrDefault</name>
      <anchorfile>motor__parmeters_8h.html</anchorfile>
      <anchor>acafacf6e64e1c210704801fcc59baa43</anchor>
      <arglist>(ros::NodeHandle nh, std::string parameter_name, T default_val)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_serial.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/src/</path>
    <filename>motor__serial_8cc</filename>
    <includes id="motor__serial_8h" name="motor_serial.h" local="no" imported="no">ubiquity_motor/motor_serial.h</includes>
  </compound>
  <compound kind="file">
    <name>motor_serial.h</name>
    <path>/tmp/ws/src/ubiquity_motor/include/ubiquity_motor/</path>
    <filename>motor__serial_8h</filename>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <includes id="shared__queue_8h" name="shared_queue.h" local="no" imported="no">ubiquity_motor/shared_queue.h</includes>
    <class kind="class">MotorSerial</class>
  </compound>
  <compound kind="file">
    <name>motor_serial_test.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/test/</path>
    <filename>motor__serial__test_8cc</filename>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <includes id="motor__serial_8h" name="motor_serial.h" local="no" imported="no">ubiquity_motor/motor_serial.h</includes>
    <class kind="class">MotorSerialTests</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>af549c1cffa695ee5bfef272d671695a0</anchor>
      <arglist>(MotorSerialNoFixtureTests, badPortnameException)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a08a438497e25f8c0e336ae9e09aed661</anchor>
      <arglist>(MotorSerialTests, serialClosedOnInterupt)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>ab828e089f554b0561ac41a61d2fa7d6d</anchor>
      <arglist>(MotorSerialTests, goodReadWorks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>aa278e4b30eeba9302b29260eb2ab257b</anchor>
      <arglist>(MotorSerialTests, misalignedOneGoodReadWorks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a164f5c722102011e0135c69fe5d84cba</anchor>
      <arglist>(MotorSerialTests, misalignedManyGoodReadWorks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a1fffe27ff61ea9bb43c2d3effe89aedd</anchor>
      <arglist>(MotorSerialTests, errorReadWorks)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a720b24d0bf65bfd9e68c5978377b62cd</anchor>
      <arglist>(MotorSerialTests, badReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a5e7454022314d337a7402b85677ac2f0</anchor>
      <arglist>(MotorSerialTests, misalignedOneBadReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>af58b6c9d0f6321dc97bf1c28c13d1fb9</anchor>
      <arglist>(MotorSerialTests, incompleteReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>abaa9058dfe796cb8fe3d6e4a2ab4edc1</anchor>
      <arglist>(MotorSerialTests, incompleteMisalignedReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a2404641603ce2a97c0eb371f01c50aba</anchor>
      <arglist>(MotorSerialTests, badProtocolReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a83cebac11b0fd77b4e6e30fe39fd9239</anchor>
      <arglist>(MotorSerialTests, badTypeReadFails)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>af9e8860214c67af78ca6ed6cc9ebad4d</anchor>
      <arglist>(MotorSerialTests, writeOutputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>motor__serial__test_8cc.html</anchorfile>
      <anchor>a5742fefa30734e3e612a751777b1ed18</anchor>
      <arglist>(MotorSerialTests, writeMultipleOutputs)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shared_queue.h</name>
    <path>/tmp/ws/src/ubiquity_motor/include/ubiquity_motor/</path>
    <filename>shared__queue_8h</filename>
    <class kind="class">shared_queue</class>
  </compound>
  <compound kind="file">
    <name>shared_queue_test.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/test/</path>
    <filename>shared__queue__test_8cc</filename>
    <includes id="shared__queue_8h" name="shared_queue.h" local="no" imported="no">ubiquity_motor/shared_queue.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pop_thread</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a5406a2368b21343a0c1165cada0c265a</anchor>
      <arglist>(shared_queue&lt; int &gt; *sq)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a6f7914bb7cbe6c713a39576c61b71cde</anchor>
      <arglist>(SharedQueueTest, emptyOnConstuct)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a4e75e46bec2289f2c15d6ca2e01de5c6</anchor>
      <arglist>(SharedQueueTest, notEmptyAfterPush)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>ac4eb478a673b84c45d18c73353cd245c</anchor>
      <arglist>(SharedQueueTest, notEmptyAfterPushMultiple)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a0a52d84a754006cc57fecf8c0378127c</anchor>
      <arglist>(SharedQueueTest, emptyAfterPushAndPop)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a2f8e548bdd7aabdcfc49d72017590288</anchor>
      <arglist>(SharedQueueTest, pushFrontPop)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>aee3ce8fb95fcc2ba1700b34d035b8a8b</anchor>
      <arglist>(SharedQueueTest, copy)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a44e94c43e217487993c46e13991d78a7</anchor>
      <arglist>(SharedQueueTest, copyConstruct)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a927b606028cf35713d25b38e7ea4e402</anchor>
      <arglist>(SharedQueueTest, pushConstCopyFront)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>ae44381cb5ab284c588f24c236f62324c</anchor>
      <arglist>(SharedQueueTest, pushPopSize)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>a418417bb18338359b4e03984a6591125</anchor>
      <arglist>(SharedQueueTest, pushMultipleSize)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>shared__queue__test_8cc.html</anchorfile>
      <anchor>ab60757d7d4e193b705ea0c5bc3f4add9</anchor>
      <arglist>(SharedQueueTest, pushFrontPopThreaded)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>CommsParams</name>
    <filename>structCommsParams.html</filename>
    <member kind="function">
      <type></type>
      <name>CommsParams</name>
      <anchorfile>structCommsParams.html</anchorfile>
      <anchor>a6649f7dac6674cff7b3b3472661e64e4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>CommsParams</name>
      <anchorfile>structCommsParams.html</anchorfile>
      <anchor>ace677fbd206446d53c6e866308ba8c74</anchor>
      <arglist>(ros::NodeHandle nh)</arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>baud_rate</name>
      <anchorfile>structCommsParams.html</anchorfile>
      <anchor>a27301380a74eb4092e07b3ec97db52cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>serial_loop_rate</name>
      <anchorfile>structCommsParams.html</anchorfile>
      <anchor>adc2ceda0f190d9f468cc61754be7b789</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>serial_port</name>
      <anchorfile>structCommsParams.html</anchorfile>
      <anchor>a637b005d1e577b90e82ced768fa59194</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>FirmwareParams</name>
    <filename>structFirmwareParams.html</filename>
    <member kind="function">
      <type></type>
      <name>FirmwareParams</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>ae70f624d692ca59261714a4abeec7c48</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FirmwareParams</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a5b5085560631f99395c0d7c5e12ec023</anchor>
      <arglist>(ros::NodeHandle nh)</arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>deadman_timer</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a1722025ccf4e91413eb97a6bf9ccd051</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_denominator</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a2ee6507b1581ebf4667bb11d17276479</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_derivative</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a157e01f8fd25bb089b5bdc2da3619f16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_integral</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a3c107ce25267094999de0788b9553dc8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_moving_buffer_size</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a3320e4f41a1d500b880f57a35133a72a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_proportional</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>ae58fdf67aee6cf7a8df4d973a843116c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>MotorHardware::Joint</name>
    <filename>structMotorHardware_1_1Joint.html</filename>
    <member kind="function">
      <type></type>
      <name>Joint</name>
      <anchorfile>structMotorHardware_1_1Joint.html</anchorfile>
      <anchor>a69061b98965fb7528fadd56c6d78ed5e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>effort</name>
      <anchorfile>structMotorHardware_1_1Joint.html</anchorfile>
      <anchor>aa86f6b45aa17b65a758ab967eb930ea8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>position</name>
      <anchorfile>structMotorHardware_1_1Joint.html</anchorfile>
      <anchor>ae58d2d43bc24640c8c79b98000590511</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity</name>
      <anchorfile>structMotorHardware_1_1Joint.html</anchorfile>
      <anchor>a78b535ce1e56522b6f644f1bdad3e710</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>velocity_command</name>
      <anchorfile>structMotorHardware_1_1Joint.html</anchorfile>
      <anchor>a7ef85492b8493dab4697efdda7fb1663</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorHardware</name>
    <filename>classMotorHardware.html</filename>
    <base>hardware_interface::RobotHW</base>
    <class kind="struct">MotorHardware::Joint</class>
    <member kind="function">
      <type></type>
      <name>MotorHardware</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a66d0bb1ab47c3530aa5f65b01a726135</anchor>
      <arglist>(ros::NodeHandle nh, CommsParams serial_params, FirmwareParams firmware_params)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>readInputs</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a3ebcca1c3898f27c0bf1df5ffd4448f3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestVersion</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a3c20ad276ccf0a450812ffe709644ac5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>sendParams</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a182a31a281485a73c47cb9b642c5eed2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDeadmanTimer</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ac9b093c0f0ae70dde38e3057e83aa8cf</anchor>
      <arglist>(int32_t deadman)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDebugLeds</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a172573876f33dd9d9fc4ee26dffb655e</anchor>
      <arglist>(bool led1, bool led2)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setParams</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a9e7773ba338416de1dcbf0777b80bb4b</anchor>
      <arglist>(FirmwareParams firmware_params)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSpeeds</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a1ad1f31db0235bb532d3342581f73e4d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~MotorHardware</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2a7f6abbfe5e468f21b305debb67d842</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_version</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>afb0b8399517d036fb997523f00e9ddf8</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>_addOdometryRequest</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2ead7049893719bbbd528099d4111728</anchor>
      <arglist>(std::vector&lt; MotorMessage &gt; &amp;commands) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>_addVelocityRequest</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a938b6af71f213ab06669d9d1d79f0023</anchor>
      <arglist>(std::vector&lt; MotorMessage &gt; &amp;commands) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>calculateRadiansFromTics</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a31ddd7e37a7bccecea5ffec00ed761b6</anchor>
      <arglist>(int16_t tics) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type>int16_t</type>
      <name>calculateTicsFromRadians</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a061592b1dc19a772c3eadc1baf3fa581</anchor>
      <arglist>(double radians) const </arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>aa341c93fe10dab475bc6a7daa9cdeac9</anchor>
      <arglist>(MotorHardwareTests, nonZeroWriteSpeedsOutputs)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af2740cf3e9a9aa5d169f8e1edd1e4a56</anchor>
      <arglist>(MotorHardwareTests, odomUpdatesPosition)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a4dbf2bd40a7a5320d09b1e850defa409</anchor>
      <arglist>(MotorHardwareTests, odomUpdatesPositionMax)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int32_t</type>
      <name>deadman_timer</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a0a27f8be89f7478246500bb3c33ee2d0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointStateInterface</type>
      <name>joint_state_interface_</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2ce49ced3538fd73c4bf8b42f95f2d30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>struct MotorHardware::Joint</type>
      <name>joints_</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a80c8d502acf602d1e8b5e6e6c0ad2f3a</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>leftError</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a456049f800f27b4ec6c9affdd2b191a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MotorSerial *</type>
      <name>motor_serial_</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ac678204e4fdc4c6dbfed3731131d31ae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FirmwareParams</type>
      <name>pid_params</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a096a2f207080366c8fe8b9b7fca090e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FirmwareParams</type>
      <name>prev_pid_params</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af5006206541a438a2ca35ad36339309c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS50</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ada793b94902ca5c5708d47a4aa80a625</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS51</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a492948e0cae0b65a2d7c13e9b5461217</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS52</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>aa88c554f2d2cf3dd1f9d4cff4ce5a717</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS53</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a33da480bd13f3aa0b7dd2423ddb7d542</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS54</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a6a5f71f1da3656fe0b56ff526a1a067d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS55</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a23e86b6851805cd35dd973c07a0c93f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS56</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af6d60a357f7ab51eba106eae68c3621c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS57</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>acf9f6a6cdbb985d7f3d7d28a743e6bc0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS58</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ae177c3da8f603519a18c8336fb6be3a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubS59</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af36725787b877a50dfa69f697db7cdf2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU50</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a059c61bbf1b2b92c38038e4934f6e9b4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU51</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a66f540a8f7d0f372275d51de112fb2d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU52</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a29b37f139dda634f6f3ce9922652e440</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU53</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>adb6db33ba7430538cf7eb34461d6d2a4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU54</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>abbdfd90c1daacc2f6a7150d4e21c3766</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU55</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ac5cbea89b891b78642a4b52cd5213768</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU56</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ad5514bada9f778d523f30d810584d04b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU57</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a326430fe5f1348a9fc8ddbbc00fb247e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU58</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a4d102f9d87fba9dbe486f77bfc3f352b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pubU59</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a3681df0fdbfa8f76c2c8a1593b84ca40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>rightError</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af8dae4ff1bc7a25e09161c870754b0c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int32_t</type>
      <name>sendPid_count</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a650d2bcb038cbaa5cf8062cf09a55e35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>velocity_joint_interface_</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>adb552505e711a1c9e097c23b6e6adacc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorHardwareTests</name>
    <filename>classMotorHardwareTests.html</filename>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>SetUp</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>aaa0b8d712543376620f2b36a831d35a6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>TearDown</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>af387fc25ec9d944f773eefcd449b2881</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>wait_for_read</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>aa67db18523e975f1250022b934a1b61b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>wait_for_write</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>a855bd29809a9d90f42d0e67af4ec1868</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>master_fd</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>add47757eebc05038f280bb79363392c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>char</type>
      <name>name</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>ab94002b81a330ebcc3e01c8c16e5fd2c</anchor>
      <arglist>[100]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>ros::NodeHandle</type>
      <name>nh</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>a1985682fd5bd8d42048f1c102d6f9c1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>MotorHardware *</type>
      <name>robot</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>aa30416148e4e94485877b10ca9d0173d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>slave_fd</name>
      <anchorfile>classMotorHardwareTests.html</anchorfile>
      <anchor>a24bfad3381e5956196e6f552b90df2a6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorMessage</name>
    <filename>classMotorMessage.html</filename>
    <member kind="enumvalue">
      <name>DEBUG_50</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf81f8dbe62a28fc6bbaddd820e3dbd9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_51</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa5d4768f5c1171a65ef9fef03b9eac707</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_52</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6cddffeeab1a00c049bde605bbc3e1f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_53</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa25386540d76e34d31c5709efdddb3e49</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_54</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabd73a20c2a1d995bdaf4ce1d12b070b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_55</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fab17a13fb5e712f7b06cbb27486f6b400</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_56</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa11371e716031867c24a755dda9c1b6c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_57</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fad22f4ee6e629f2cb18e99ecc2b087b66</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_58</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8f177782410fc9d4470f2c3e4ee51d70</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M1_INTEGRAL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fae9ba0c8cca99ac1c7030ef569dc24b05</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M1_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fae2d78b1ff4ee6c052d2eb079723111ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M2_INTEGRAL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa233216fd60dec149080ec78a57af3f34</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M2_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940faa2e10a848d79ea7aa17c8ddd7d2c3403</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>Limits</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M1_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fae2d78b1ff4ee6c052d2eb079723111ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M2_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940faa2e10a848d79ea7aa17c8ddd7d2c3403</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M1_INTEGRAL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fae9ba0c8cca99ac1c7030ef569dc24b05</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M2_INTEGRAL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa233216fd60dec149080ec78a57af3f34</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>MessageTypes</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0da</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_READ</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa67071dee4418b6dd61dafcb78c2431ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_WRITE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daabded9c6d1b10e39829c234b798d8cdae</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_RESPONSE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa70c8e4af05658893185a166d0b1a0415</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa13a42c2b1e585cf74adcfb4aa1f39696</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faba5baf9f6cb920757cafdf9e0fc4e1d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa74f26617507dbf027b21650814fadd07</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa3dd7794fecbf71a98948a3a66788d77c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf4ee68c423276d894ced4c69a18b98ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa98d360487fe4cc4591fa0a708bffd679</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa06832eaca5487a0ba28c937668d610b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6ad6026106eba2da6fe6b9e0456f8da0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa9ea3febeab5c0945eef4643560b870eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faead269348991d6de40cc87bbb03af099</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fafcd260477de702d1c1dc97780df24efd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa71946e5feac098fd70fadab691de3689</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa48d42f6aab79facb840c638e34c15802</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BATTERY_VOLTAGE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf6812f31a3086b3950ee0fea832ef349</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa07934bee616827d5ed6089e3861b7c7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa16f81addcaa5cc3fed5e3c51c2eb7c56</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa98175c954978cc3c626f1e7d8d42d0cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BRAKE_STOP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf66d40e4133ef58ee4e217937096f7ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_CRUISE_STOP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8212e987e83a8b687da09bd184862135</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_DEADMAN</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa48125c037aa5746b3c50f1d020e8da46</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_ERROR_COUNT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa0925141524bea5f2086ed75fdac58eef</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_FIRMWARE_VERSION</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa2adad5e30af8a9114e758b618d2a2c1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_HARDWARE_VERSION</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa2cbb0325df5be830ef677cf088ee7d2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LED_1</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa0063ffd92dc8acba1e9cabaedef06df4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LED_2</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa9644baeae990dfcf62d626c8b56cea11</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa4f7639597e92754a32ab0f7a08d9f441</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_MOTOR_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faffcd02ad810f1348cca80d012e3681d3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa482385165f8aeab7ff5b3c39b5deb515</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa44e9a33d2b4a321882fc72841e70e043</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_RAMP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa80fcfb01567fc69eb9899440fc598f07</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_SPEED_MEASURED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabbb59cb9e9a411cadd24aec2b65caf6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa302720c4d9fd23423bf77b655e59ff2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LIMIT_REACHED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa852f3eb61f11151a5ab7fdc415dd97f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MOVING_BUF_SIZE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa25a247bd4b7871918de2077229b887ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_C</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faeb0159bb18f074e69478744cddbed587</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_D</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa1b12d4247d9eee55833a498706ba2f3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_I</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6d5270a1f6046477d7309824977c7489</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_P</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa86ecc8014d39fff7277c28456fe3dd63</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faafef81342961449de15754e03710b4e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_MOTOR_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faa5822b0f04677c3de2b1791e1b0f4897</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa5e2882fcf2774647963b0028d4c31c14</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa565dbaf09c88eeb6c0771d91622a49e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_RAMP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabdf88629c3baadfb8feee1b82fc8a7cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_SPEED_MEASURED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faec548f8fdfdcd870d38b70cb7b9a5fc3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa35cbc70686f1bf980349483835e5deda</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_STOP_START</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa1eac4c47ded1db81f0bb6bcd214c8052</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>Registers</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_STOP_START</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa1eac4c47ded1db81f0bb6bcd214c8052</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BRAKE_STOP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf66d40e4133ef58ee4e217937096f7ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_CRUISE_STOP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8212e987e83a8b687da09bd184862135</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa44e9a33d2b4a321882fc72841e70e043</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa565dbaf09c88eeb6c0771d91622a49e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa302720c4d9fd23423bf77b655e59ff2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa35cbc70686f1bf980349483835e5deda</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_RAMP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa80fcfb01567fc69eb9899440fc598f07</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_RAMP</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabdf88629c3baadfb8feee1b82fc8a7cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa482385165f8aeab7ff5b3c39b5deb515</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa5e2882fcf2774647963b0028d4c31c14</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_DEADMAN</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa48125c037aa5746b3c50f1d020e8da46</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa4f7639597e92754a32ab0f7a08d9f441</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faafef81342961449de15754e03710b4e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_ERROR_COUNT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa0925141524bea5f2086ed75fdac58eef</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa71946e5feac098fd70fadab691de3689</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa9ea3febeab5c0945eef4643560b870eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa98d360487fe4cc4591fa0a708bffd679</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa74f26617507dbf027b21650814fadd07</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa48d42f6aab79facb840c638e34c15802</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faead269348991d6de40cc87bbb03af099</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa06832eaca5487a0ba28c937668d610b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_OL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa3dd7794fecbf71a98948a3a66788d77c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_MOTOR_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faffcd02ad810f1348cca80d012e3681d3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_MOTOR_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faa5822b0f04677c3de2b1791e1b0f4897</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_P</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa86ecc8014d39fff7277c28456fe3dd63</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_I</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6d5270a1f6046477d7309824977c7489</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_D</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa1b12d4247d9eee55833a498706ba2f3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_C</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faeb0159bb18f074e69478744cddbed587</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LED_1</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa0063ffd92dc8acba1e9cabaedef06df4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LED_2</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa9644baeae990dfcf62d626c8b56cea11</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_HARDWARE_VERSION</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa2cbb0325df5be830ef677cf088ee7d2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_FIRMWARE_VERSION</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa2adad5e30af8a9114e758b618d2a2c1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BATTERY_VOLTAGE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf6812f31a3086b3950ee0fea832ef349</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_MAIN_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fafcd260477de702d1c1dc97780df24efd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_MAIN_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf4ee68c423276d894ced4c69a18b98ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_5V_AUX_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6ad6026106eba2da6fe6b9e0456f8da0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_12V_AUX_CURRENT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faba5baf9f6cb920757cafdf9e0fc4e1d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LEFT_SPEED_MEASURED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabbb59cb9e9a411cadd24aec2b65caf6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_RIGHT_SPEED_MEASURED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faec548f8fdfdcd870d38b70cb7b9a5fc3</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_SPEED_SET</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa98175c954978cc3c626f1e7d8d42d0cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MOVING_BUF_SIZE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa25a247bd4b7871918de2077229b887ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_LIMIT_REACHED</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa852f3eb61f11151a5ab7fdc415dd97f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa07934bee616827d5ed6089e3861b7c7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_BOTH_ODOM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa16f81addcaa5cc3fed5e3c51c2eb7c56</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_50</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf81f8dbe62a28fc6bbaddd820e3dbd9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_51</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa5d4768f5c1171a65ef9fef03b9eac707</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_52</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa6cddffeeab1a00c049bde605bbc3e1f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_53</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa25386540d76e34d31c5709efdddb3e49</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_54</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fabd73a20c2a1d995bdaf4ce1d12b070b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_55</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fab17a13fb5e712f7b06cbb27486f6b400</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_56</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa11371e716031867c24a755dda9c1b6c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_57</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fad22f4ee6e629f2cb18e99ecc2b087b66</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>DEBUG_58</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8f177782410fc9d4470f2c3e4ee51d70</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa13a42c2b1e585cf74adcfb4aa1f39696</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_READ</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa67071dee4418b6dd61dafcb78c2431ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_RESPONSE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daa70c8e4af05658893185a166d0b1a0415</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>TYPE_WRITE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3f69722e3a26e75dfe11893d3bacb0daabded9c6d1b10e39829c234b798d8cdae</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>deserialize</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a6efeddd3c64e4d542d49975f2f548a27</anchor>
      <arglist>(const RawMotorMessage &amp;serialized)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>getData</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>aa22be43b56711abf16077231889a27d0</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>MotorMessage::Registers</type>
      <name>getRegister</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>acb57eb51d9a3901d7f9bc4f60133fa45</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>MotorMessage::MessageTypes</type>
      <name>getType</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe5572cb54e982d94e2fe197fb3304a6</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorMessage</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ae565755c0ac801638305e6ffab7e0ae9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>RawMotorMessage</type>
      <name>serialize</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab2febc9119a95e2505bae7db35fa7200</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setData</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>af7960a51437645d40d8c6d289be85b45</anchor>
      <arglist>(int32_t data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setRegister</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>aa5766f19a29f28a4126ffa24c4f85f46</anchor>
      <arglist>(MotorMessage::Registers reg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setType</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>abe171da50a15ca0f7def950476d31828</anchor>
      <arglist>(MotorMessage::MessageTypes type)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~MotorMessage</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a452503e64f670c0379cc7382055ba906</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>generateChecksum</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ad2cf860abb30d2dac4cfb91bfe570aaa</anchor>
      <arglist>(const std::vector&lt; uint8_t &gt; &amp;data)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint8_t</type>
      <name>generateChecksum</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3cd09a36242e28b6668d6e8bd6a8aee0</anchor>
      <arglist>(const RawMotorMessage &amp;data)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static int</type>
      <name>verifyRegister</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>aa28d0b431df39e753a0f11d9a273d576</anchor>
      <arglist>(uint8_t r)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static int</type>
      <name>verifyType</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a736fa691258e0e2564006f8206bdd674</anchor>
      <arglist>(uint8_t t)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::array&lt; uint8_t, 4 &gt;</type>
      <name>data</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ac6188570decb8e405e39333e12c4a814</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint8_t</type>
      <name>register_addr</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a206eb7352f32af82d41c11f0f79bc03c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint8_t</type>
      <name>type</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ade67d30c3aad6095aaff340a0dd5a5c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const uint8_t</type>
      <name>delimeter</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ae758e20053646fb584b1a89bed855c34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const uint8_t</type>
      <name>protocol_version</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a197bd48f0a855640afb180e6ba69647d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const uint8_t</type>
      <name>valid_registers</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>adcc80a082c59d4ce43e052654e41e5d7</anchor>
      <arglist>[]</arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static const uint8_t</type>
      <name>valid_types</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ae0897dab13f4fa3396ac44125fbd244a</anchor>
      <arglist>[]</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorSerial</name>
    <filename>classMotorSerial.html</filename>
    <member kind="function">
      <type>int</type>
      <name>commandAvailable</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a37bed22931062eab79a0ff3c2e0a7535</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorSerial</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a0beda89639984f45996b73dbf502fdd6</anchor>
      <arglist>(const std::string &amp;port=&quot;/dev/ttyUSB0&quot;, uint32_t baud_rate=9600, double loopRate=100)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorSerial</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a6f8d96afe777b45f2d8b2178d32b9504</anchor>
      <arglist>(const MotorSerial &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>MotorSerial &amp;</type>
      <name>operator=</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>ae725eb4d4729f133e8d85c6dac4f1596</anchor>
      <arglist>(const MotorSerial &amp;)</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage</type>
      <name>receiveCommand</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>ab830661f0ff75d3e3e1bea7a817c494b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>transmitCommand</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>ae7d1303be532af56cd0ec2fa90bb56b8</anchor>
      <arglist>(MotorMessage command)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>transmitCommands</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a337c22448f3b59c70cf60062ae332810</anchor>
      <arglist>(const std::vector&lt; MotorMessage &gt; &amp;commands)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~MotorSerial</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a4ed005d7439c658bbdff3855acef9331</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>appendOutput</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a92617d99381da30e47bc87519ecf04de</anchor>
      <arglist>(MotorMessage command)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>aeceea64cebad4e5af88197216190f835</anchor>
      <arglist>(MotorSerialTests, serialClosedOnInterupt)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>MotorMessage</type>
      <name>getInputCommand</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a7d8457d45aea0a29d93acedfdb1ab84f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>int</type>
      <name>inputAvailable</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>addac2cbaa5787faf0355694b979423cd</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>SerialThread</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>adce88d0f63c49cc205b944de5fd3206b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>shared_queue&lt; MotorMessage &gt;</type>
      <name>input</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>aa923730f3749ddc023dae1b307d0523e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>serial::Serial</type>
      <name>motors</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a7fb07f6a2b717e626917813e522f2296</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>shared_queue&lt; MotorMessage &gt;</type>
      <name>output</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>adbd1de5ad49a113d93bf620c56f6a109</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Rate</type>
      <name>serial_loop_rate</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a2af227e3807378b29af3c9d706d556a4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::thread</type>
      <name>serial_thread</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>ac56ba481c84d4e97bff407552fa1cb8c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>MotorSerialTests</name>
    <filename>classMotorSerialTests.html</filename>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>SetUp</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>a49f5ea4eb021db6b761255d03d0f6c0d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="virtual">
      <type>virtual void</type>
      <name>TearDown</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>a5df4909d9a4cc55cba3c54272b388586</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>master_fd</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>acc584edd5fcb757a2e09931cc090ef48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>MotorSerial *</type>
      <name>motors</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>aee680b535f9ee9f56ea48569818c0597</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>char</type>
      <name>name</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>a977075ec9fd3fadce9eb2fe9f73f2e27</anchor>
      <arglist>[100]</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>int</type>
      <name>slave_fd</name>
      <anchorfile>classMotorSerialTests.html</anchorfile>
      <anchor>affb950d35e1b1546d1181eb5a36ca31c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>NodeParams</name>
    <filename>structNodeParams.html</filename>
    <member kind="function">
      <type></type>
      <name>NodeParams</name>
      <anchorfile>structNodeParams.html</anchorfile>
      <anchor>ac4ba0e8d19714d15ab230cf697440302</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>NodeParams</name>
      <anchorfile>structNodeParams.html</anchorfile>
      <anchor>a2392ad979cb297a5420051267f031981</anchor>
      <arglist>(ros::NodeHandle nh)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>controller_loop_rate</name>
      <anchorfile>structNodeParams.html</anchorfile>
      <anchor>a07d8adeea742af2ed0983d988db8cb61</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shared_queue</name>
    <filename>classshared__queue.html</filename>
    <templarg>T</templarg>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>aebde87cbdc8300ac8de3eeac514f25b5</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fast_empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a087f6e5beccaf13a0bd9e4b9bbfd5578</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>T &amp;</type>
      <name>front</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>adccc270c5e9f9b95ccb0c8b4bdf6e94f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const T &amp;</type>
      <name>front</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a1b4e6926ce11c37b1f5b479313f95240</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>front_pop</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab0bfa1a8f247c799ea91534a69fe60ab</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>shared_queue &amp;</type>
      <name>operator=</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab207fc8f854b9635345f735185e42f00</anchor>
      <arglist>(const shared_queue &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pop</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>abd064f4f5ee0881e851d9eaebb06566a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>push</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a7010cc48b1fd126ce09856a1f63a1978</anchor>
      <arglist>(const T &amp;value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>push</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ae066a26feeb5644113e89c7fbbb21e48</anchor>
      <arglist>(const std::vector&lt; T &gt; &amp;values)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a951cc7709fa4b20cc25e39a5cc2273b7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a26054bdb476f52d57b67cd6806da05ad</anchor>
      <arglist>(const shared_queue &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a37a2f076e1a2f2c496dc60fc41641a2f</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab1729e625555d83a660f05b64a076e40</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::queue&lt; T &gt;</type>
      <name>internal_queue_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a09407bd81c8657b6d914cd9f659ce8a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; bool &gt;</type>
      <name>queue_empty_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a39fb8b67b7463b683b8d2fa44047c097</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>queue_mutex_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a08c4eb38c3dcce7667f75a3d5486f554</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shared_queue&lt; MotorMessage &gt;</name>
    <filename>classshared__queue.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>aebde87cbdc8300ac8de3eeac514f25b5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fast_empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a087f6e5beccaf13a0bd9e4b9bbfd5578</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage &amp;</type>
      <name>front</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>adccc270c5e9f9b95ccb0c8b4bdf6e94f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const MotorMessage &amp;</type>
      <name>front</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a1b4e6926ce11c37b1f5b479313f95240</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage</type>
      <name>front_pop</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab0bfa1a8f247c799ea91534a69fe60ab</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>shared_queue &amp;</type>
      <name>operator=</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab207fc8f854b9635345f735185e42f00</anchor>
      <arglist>(const shared_queue &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pop</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>abd064f4f5ee0881e851d9eaebb06566a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>push</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a7010cc48b1fd126ce09856a1f63a1978</anchor>
      <arglist>(const MotorMessage &amp;value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>push</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ae066a26feeb5644113e89c7fbbb21e48</anchor>
      <arglist>(const std::vector&lt; MotorMessage &gt; &amp;values)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a951cc7709fa4b20cc25e39a5cc2273b7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a26054bdb476f52d57b67cd6806da05ad</anchor>
      <arglist>(const shared_queue &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a37a2f076e1a2f2c496dc60fc41641a2f</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~shared_queue</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>ab1729e625555d83a660f05b64a076e40</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::queue&lt; MotorMessage &gt;</type>
      <name>internal_queue_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a09407bd81c8657b6d914cd9f659ce8a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; bool &gt;</type>
      <name>queue_empty_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a39fb8b67b7463b683b8d2fa44047c097</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>queue_mutex_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a08c4eb38c3dcce7667f75a3d5486f554</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
