<?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>LOWEST_FIRMWARE_VERSION</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>aafc999b29c52b7b2323120a3f5dea509</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>QTICKS_PER_RADIAN</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>aa51148f12244645ba34baa1e3c529459</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TICKS_PER_RADIAN_ENC_3_STATE</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>aa625e23153a960c9ef900b88973c4c1f</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>
    <member kind="variable">
      <type>int32_t</type>
      <name>g_odomEvent</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>aee5507248e57828f40d9ab7a1ad4a733</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>g_odomLeft</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a2053353178ebce959d77070cc16ba3e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>g_odomRight</name>
      <anchorfile>motor__hardware_8cc.html</anchorfile>
      <anchor>a1e6d1e0038a15432dd823ce6c2c574f1</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="struct">MotorDiagnostics</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="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="define">
      <type>#define</type>
      <name>MIN_FW_DEADZONE</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a1ab519330c441c118eb421e40dbc4fe6</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_ENC_6_STATE</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a3101a76c101e826831377cda31ee3418</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_ESTOP_SUPPORT</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a024f63e6f060bd7ccd0daafb6acd0a6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_FIRMWARE_DATE</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a6127f3d9d82e590164aae1b63551a42b</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_HW_VERSION_SET</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>af9064206d1c4a58d5451b8530213b8f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_MAX_SPEED_AND_PWM</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a8876c151b0c60f08dc9efb33ce4c9210</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_MOT_POW_ACTIVE</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a5ef1964e21b872fd9d63fd966bf2bf7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_PID_V_TERM</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>af35e2339583f16aff6d77e84bc08835e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MIN_FW_RECOMMENDED</name>
      <anchorfile>motor__message_8h.html</anchorfile>
      <anchor>a790d14c6d92f944e536f66a80fc31fd3</anchor>
      <arglist></arglist>
    </member>
    <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>probe_robot.cc</name>
    <path>/tmp/ws/src/ubiquity_motor/src/</path>
    <filename>probe__robot_8cc</filename>
    <includes id="motor__message_8h" name="motor_message.h" local="no" imported="no">ubiquity_motor/motor_message.h</includes>
    <class kind="struct">Options</class>
    <class kind="class">TimeoutException</class>
    <member kind="function">
      <type>bool</type>
      <name>find_switch</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>a8e5879ade9cc9920f9be5cbf59ed13b0</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;args, const std::string &amp;short_sw, const std::string &amp;long_sw)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>get_option</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>a11e1d9f9584b12534f4351756c0b3032</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;args, const std::string &amp;option, const std::string &amp;default_val)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>get_option</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>aee3382a98aa9b2b05f35b58ff511eb37</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;args, const std::string &amp;option, const int default_val)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>abf9e6b7e6f15df4b525a2e7705ba3089</anchor>
      <arglist>(int argc, char const *argv[])</arglist>
    </member>
    <member kind="function">
      <type>Options</type>
      <name>parse_args</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>a3609ab59fcdd5b6fa80b14fdc57ba734</anchor>
      <arglist>(const std::vector&lt; std::string &gt; &amp;args)</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage</type>
      <name>readRegister</name>
      <anchorfile>probe__robot_8cc.html</anchorfile>
      <anchor>aaef2dfa5172c3b17cd1318de7c344975</anchor>
      <arglist>(MotorMessage::Registers reg, serial::Serial &amp;robot)</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="file">
    <name>test_motor_board.py</name>
    <path>/tmp/ws/src/ubiquity_motor/scripts/</path>
    <filename>test__motor__board_8py</filename>
    <class kind="class">test_motor_board::serCommander</class>
    <namespace>test_motor_board</namespace>
    <member kind="function">
      <type>def</type>
      <name>calcPacketCksum</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a392e1c5e87e53f6db4db1ccf02d03eb6</anchor>
      <arglist>(msgBytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyByte</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>ab7c5de8e5ae6ca6c64707ac01bf50714</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyLongWord</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a0d5bb4e7bf481e2e975773e99cd5a416</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyWord</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a732a020c4ec88b793061a9c43b3eee6f</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>formMagniParamSetMessage</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a9b868ea657fff13a40ad17fe779cbd19</anchor>
      <arglist>(registerNumber, paramValue)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>formMagniSpeedMessage</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a1353f7819a7aa9b45f63462cfb46a134</anchor>
      <arglist>(rightSpeed, leftSpeed)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>keyboard_thread</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>ab306e5959d604deb5b860766aa6b29fd</anchor>
      <arglist>(intKeys)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logAlways</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a2d090883bad8778465ebd439fc48ae02</anchor>
      <arglist>(message)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logDebug</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a76875cf604b879f77036aadafd1a2a45</anchor>
      <arglist>(message)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>runTillKeypress</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a4b04e91a641c64fbf24924291517f904</anchor>
      <arglist>(speed)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>setSpeedTillKeypress</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a986d5540f34e2a0f976562371db34371</anchor>
      <arglist>(ser, speed1, speed2)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>showHelp</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>abcc25cbb7a99d0dbba9f5d128f5fc959</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>stopMotors</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>afed014a63efecb1a85558857899458f8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>g_debug</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a86e6d7b57abeb0ee7dd66b3b6a310004</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>g_serialDev</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a1179e65d04d2c517b6905d97652535bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>g_version</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>af6887e965c42a253f84f65593afd83e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_pi_gpio.py</name>
    <path>/tmp/ws/src/ubiquity_motor/scripts/</path>
    <filename>test__pi__gpio_8py</filename>
    <namespace>test_pi_gpio</namespace>
    <member kind="function">
      <type>def</type>
      <name>blinkLed</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a2e8b1080d94c1e6019d981a48c88921b</anchor>
      <arglist>(ledGpioLine, numBlinks, timeOfBlinks, finalLedState)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logLine</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a242afac5a6382d7bb156cc061c92b750</anchor>
      <arglist>(line)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>printUsage</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a424c89ea8c3eb484f49354b9430d4e11</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>args</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aefae3994c7d232b3ba2bd6ad281b33d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>bitError</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a076a539da226011937e4320ada08a9c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>g_simpleDebug</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a0b5548ac4a6a2f89594029daf5e60086</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>IN</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a94b52767d8cb39dfc5311d197e765063</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>logFilePath</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aabbdcf0a7cb9f4ba41c33ab17aef1fdd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>opts</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>af32a11f9e4febb7e42a509ab83c6d9bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>output</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>af37225ed6df557af83587612c98624a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>pull_up_down</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a31a05ab44025b981e0df0f609f1a6788</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>retValue</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a13b24f4aa206464bdd33e73a55953f1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>scriptStartTime</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aa432f7986e080bdda9eafa3743b8fc6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>scriptVersion</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a4ff0ecf0bccdfc9ff29f3d7f936bbca1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>statusLed</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>acdbaa6599fa1351c71484c89d2ec9827</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test1inputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a42bca84beea16840b9c240921bcf0407</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test1outputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a48880c22d7edbaf10554a59cc9984c61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test2inputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a7dfb55d1377635fd7ec004eec9bd427b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test2outputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a0b98f20ce58c3cd696c2846c7385fa59</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>verbose</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>afc71d2ac3f2695ec7791f1d4b49dd751</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_velocity.py</name>
    <path>/tmp/ws/src/ubiquity_motor/scripts/</path>
    <filename>test__velocity_8py</filename>
    <namespace>test_velocity</namespace>
    <member kind="function">
      <type>def</type>
      <name>odometry_callback</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a2f111a159107e38855c8b8fdf69835df</anchor>
      <arglist>(msg)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>slow_motion</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>af7d665c0d96840d20635c8e042fb17c7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>ANGLE</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>ae47659e7b80ab2ab240c7d3eb9a1e8de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>anonymous</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a6d6818a64c1788cba9d7d9abc6cd5f66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>last_pos</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>aaa4f0eb74ab695b1c971679761589560</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>last_t</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a40988d852c9d5f7f5655070cec8bf691</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>VELOCITY</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a22ffd7e0991a6d97a82938ec7cf17df4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>upgrade_firmware.py</name>
    <path>/tmp/ws/src/ubiquity_motor/scripts/</path>
    <filename>upgrade__firmware_8py</filename>
    <class kind="class">upgrade_firmware::InvalidFileException</class>
    <class kind="class">upgrade_firmware::Packet</class>
    <class kind="class">upgrade_firmware::ReadFile</class>
    <namespace>upgrade_firmware</namespace>
    <member kind="function">
      <type>def</type>
      <name>add8</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a63aee1157b0d910e6332bf6156246019</anchor>
      <arglist>(a, b)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>compute_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5c7db5ed5abd3908933c9fe20bd9e98e</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>convert_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa10d53a2115b5ff652f57c9b98ecefc8</anchor>
      <arglist>(checksum, flash_id, row_number, row_size)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>convert_num</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abaf4c87406169a0962f3bb159c9227c6</anchor>
      <arglist>(arr)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>crc16_ccitt</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab3aa98c5164f6cf703a3c2f85d83576d</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>cstr</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ad355326d019567803770ce5bd3227db0</anchor>
      <arglist>(x)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>file_convert_num</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa8869b598ecc8c4a4ff103aecc4ca9ce</anchor>
      <arglist>(arr)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>load_hex</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2740385b4f33bb9690d2225e9b987504</anchor>
      <arglist>(filename)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__encrypted_flash_line</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac4e447ce52f2c7ee054783da93735b64</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__flash_line</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2eaaeb31c5faa00816df8a5fe10cc978</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__header</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a87c5b9bf12c7109da70afd824b4efe2e</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__data</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5ba9d4842665ed5f28afbe97fa990b42</anchor>
      <arglist>(ser, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__encrypted_program_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac552d48099d9435d9a65ec3bfe6461c1</anchor>
      <arglist>(ser, flash_id, row_number, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__enter_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa3cc42664586ad184072a2ce6dffc1df</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__erase_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab96633ceddf1c0b1493f2245f1df870e</anchor>
      <arglist>(ser, flash_id, row_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__exit_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a46deaf16682182c594043bc9c4ee6280</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__get_application_status</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9552294fe290f0a6da94eb7edb663e57</anchor>
      <arglist>(ser, app_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__get_flash_size</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a455251f2c9f9878d12f9a725de085b61</anchor>
      <arglist>(ser, flash_id)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__program_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a25f86003b02a0ec992f04dc8af5f4a50</anchor>
      <arglist>(ser, flash_id, row_number, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__set_active_application</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a33caa7ae49734ca1f6f39ce195002a1f</anchor>
      <arglist>(ser, app_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__sync_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a88b41ccc68dbbe1c3d6f2a0cf1294288</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__verify_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a4a785874bb0ee8c3f5a77d8409649c65</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__verify_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a6ed3a685becb3807fa6d83f891a3fb7d</anchor>
      <arglist>(ser, flash_id, row_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>twos_complement</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa8f3e902d492cdcb634fd90f1b90ae44</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>args</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0dfab89b69807b6c161b9504b5a76e91</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>dictionary</type>
      <name>auth_headers</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2eb7fce95dcc6ad038e8a76cda6e877e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>bootloader_version</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa0717dc001637debd6dc4525e725b47d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>bytes_at_a_time</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5ffcd1c6d07006513a831f6c628875a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5104a63a937f17daf366026c4bcb94be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>chunk_size</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a099e9cad73fb7a58a6c3a5266b8327d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>def</type>
      <name>comp_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac77b0656fad839e939a0269f41891c10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abea8b319d8e0766748c5db9730c55693</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_length</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa56dee14b9736147eb912beb3dbb33c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_next</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9b44aa181aea334fc931001fa3aeaa5e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>data_sent</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab1cb27df126657eec939fc59ffe697e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_strip</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af43a0eb8e4ac7d668c90a2f721e90d24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>DEBUG</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a3ae8861bfd9f8bf781672c728fc46eea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>default</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a941150a021217d872d1d48fc8a699370</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>email</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a527ea4642633e666ea5bdb0b1051f818</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_checksum_type</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a07961973f931836852ca01e629b8a3c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_silicon_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a47413db4f74ecb45b48cd7310dfe5723</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_silicon_rev</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac55a9fcedeacce5fa0a2b513a7eda882</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_first_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0561a6bedaa0aa87c057f4fbd45d0e25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa75c55dc6662a23292f630641b38f186</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_last_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>acb8991cf14004d4f55ddacfc5aad5210</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>help</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a78e9f0d1ba9da4c87054f107d3889a2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>hex_stream</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abf73bf2c7624ab1f442e103b5be8f220</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>last_percent</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0506eae86d7d1e6f2ed3a7f4674cac61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>parser</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a10c5423b5dc047135f3d14418ba97d35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>path_to_file</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab30421cd62573281d77d225d94878a10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>r</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a519f553379310239ef257d93354c0a40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>def</type>
      <name>real_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af486171b94cfd01680c931ff74764480</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>request_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9b523bf981d4cd27d329070c94c6ffa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>row_number</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af843214e9b9e5e70fbe89e3c9dcbf19b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ser</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aeb70435006f6330fe4c2d4f3303ec82f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>serial_port</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a3fd4d925e854579f8d3069ba222574e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>silicon_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>accd045bd4a5f03d6cdfbd61e6b38feec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>silicon_rev</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a65b2ff512eb229aa3c797aa3e656b4ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>TMP_FILE_PATH</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a76775f6603395b38ec23b5781dc0933b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>token</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5a2a24c2d4b30891b0646822fa4a07d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>version</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ae9b3a98732ea545d313f815780b26679</anchor>
      <arglist></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>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>float</type>
      <name>battery_voltage_multiplier</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a9270e9fa6f0d8221c70607ce85dae6c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>battery_voltage_offset</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a4ca0afb13e0d048db559b03a2d25900f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>controller_board_version</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a560a8a75af41aaa15b67c82ca1bfa521</anchor>
      <arglist></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>deadzone_enable</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>aee4364d096901fd5e7aba65fc57823dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>estop_detection</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a5c72076f547af02e1c956aa161c5c574</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>estop_pid_threshold</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a25ac437df4260efdf7af627971149f20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>hw_options</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a55f0e372fc67222a1a3ac74cfb23de55</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>max_pwm</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a1f106ce6250f4c1c33c5d36f71b2b622</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>max_speed_fwd</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a6a69251c3f90ccf2f97291ddfaf5b1e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int32_t</type>
      <name>max_speed_rev</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>a8e6d70f1f3f8a715d074f5c645b41f6b</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>
    <member kind="variable">
      <type>int32_t</type>
      <name>pid_velocity</name>
      <anchorfile>structFirmwareParams.html</anchorfile>
      <anchor>aa9b86d28d41a3906f5e958f73f867bd4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>upgrade_firmware::InvalidFileException</name>
    <filename>classupgrade__firmware_1_1InvalidFileException.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classupgrade__firmware_1_1InvalidFileException.html</anchorfile>
      <anchor>ad86cca79addef774e0ce97f13f518db1</anchor>
      <arglist>(self)</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="struct">
    <name>MotorDiagnostics</name>
    <filename>structMotorDiagnostics.html</filename>
    <member kind="function">
      <type>void</type>
      <name>battery_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a76521e7e139e4d79e5efef8696a339b4</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>firmware_date_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>adb6710a74a6110535c2e84983c8fe681</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>firmware_options_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>afc6d4f3bd5e0c128fa786fad45f53f16</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>firmware_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>ad74afa585a226ceaf3d85bb591a72e34</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>limit_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>aa5b9e69bbcd59c80b3c658102fbb849a</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>motor_power_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a79eb5f8f7c929445a08f15271292b952</anchor>
      <arglist>(diagnostic_updater::DiagnosticStatusWrapper &amp;stat)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorDiagnostics</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>aefd0fc42186f07c9e287e00406340452</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>battery_voltage</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a74aaaf402d58e9208b8887cd409e4a7c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>estop_motor_power_off</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a197db122d38bc6f2e0bcdfec13bc0c44</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_date</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a2f169a29c5592b791aa948b970a7d340</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_options</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>aa0a672947b2a57c6e397d735a01733cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_version</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a9c1f2001e8dda75188549d47db3cb936</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>left_integral_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>aff3c12548b919c3becbddbf2012e2750</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>left_max_speed_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a766e72d1837212b02ae95efc596dbb8e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>left_pwm_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>ae68d6c13e0dc1ebea02607d02fb30033</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>odom_max_freq</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a55b72aa326ad2979c30142ae60509989</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>odom_min_freq</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>adec332b93b9dff693f4b211ff1db78a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>diagnostic_updater::FrequencyStatus</type>
      <name>odom_update_status</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a320a7719d8f1045129e0fea897be9f16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>param_limit_in_firmware</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a6985f1fcebd44e483c7d3d20f364380c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>right_integral_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a201f383e0c8d3d2139fcc028bc3b23cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>right_max_speed_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>aa6e70fc95306608a868b81ebdb45fc72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>right_pwm_limit</name>
      <anchorfile>structMotorDiagnostics.html</anchorfile>
      <anchor>a436b88c95f7b69f5b18611f71cdec990</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>void</type>
      <name>clearCommands</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>acf65e0fc99f6a0a4379f1071f8c37122</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>getEstopState</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a0cc162e9a5e5d469ad7f0b758f6e9d57</anchor>
      <arglist>(void)</arglist>
    </member>
    <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>requestFirmwareDate</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>aa4143cd525bd78349fcb5cd80affabc9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>requestFirmwareVersion</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a30a37312bddf346494df622a63d2e8e7</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>setDeadzoneEnable</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a3d09392b54503de5a15a648c9931654d</anchor>
      <arglist>(int32_t deadzone_enable)</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>setEstopDetection</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2577325c59cda61dec24ee3aa09d8b93</anchor>
      <arglist>(int32_t estop_detection)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setEstopPidThreshold</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a12ef7ba4e44f6b9c208fffe64263cd4e</anchor>
      <arglist>(int32_t estop_pid_threshold)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setHardwareVersion</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a0ba36cbfbccd71691312eba56a7240f6</anchor>
      <arglist>(int32_t hardware_version)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxFwdSpeed</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a8c9237fc8a7147b1c8d0bf0dcf7e41b6</anchor>
      <arglist>(int32_t max_speed_fwd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxPwm</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>acb616a245636312615cfec26593241cb</anchor>
      <arglist>(int32_t max_pwm)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMaxRevSpeed</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>afeab008cb62e093e08f2ac16c6cceca3</anchor>
      <arglist>(int32_t max_speed_rev)</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">
      <type>void</type>
      <name>writeSpeedsInRadians</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a8b0882d945c02878b97b857313d8fb4a</anchor>
      <arglist>(double left_radians, double right_radians)</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>deadman_enable</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a43ea2bb6ea27071814a739876c05e5af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>diagnostic_updater::Updater</type>
      <name>diag_updater</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a21f6e377c42f2b4935d38316e70a0a7d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>estop_pid_threshold</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a526fe113b344b0d76cc634d735cdf140</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_date</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a5d2c786c5e60b9c78fb77aa21ea817bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>firmware_options</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>aeaba6f19f6b64096db046538453ae253</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="variable">
      <type>int</type>
      <name>hardware_version</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a182d79b321c0ba31c4ef5e018c91bdc8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>max_pwm</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ae8d889444ecfed6d76d0325c78c96462</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>max_speed_fwd</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ac5558c0541ff2baaef1b5534a758b56f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>max_speed_rev</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>aafc17b69462593b168204035b18e02ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>_addOdometryRequest</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>adad6da34f8cf16577d24515456c807c9</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>a82e8ba2105b430ca5efea7d0016412bd</anchor>
      <arglist>(std::vector&lt; MotorMessage &gt; &amp;commands) const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>double</type>
      <name>calculateRadiansFromTicks</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a946eb21015058ce55e562154ca280447</anchor>
      <arglist>(int16_t ticks) const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>int16_t</type>
      <name>calculateSpeedFromRadians</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a5a95492a5e1f5d5d027d2e9d81d94efc</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>ros::Publisher</type>
      <name>battery_state</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>afdb8880c0067c968924456ac3a566b96</anchor>
      <arglist></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>bool</type>
      <name>estop_motor_power_off</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a718fab5eb26712239f31d16a4a824941</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FirmwareParams</type>
      <name>fw_params</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2f29792c79fced9a933bb520fba8f863</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>MotorDiagnostics</type>
      <name>motor_diag_</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>af71830b5258d739800343a810a8a737b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>motor_power_active</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a203ca4f1744aa43ef59a6551a21ffceb</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>prev_fw_params</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>ae135db1f613041eb6e2af178f19aa1ef</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>double</type>
      <name>ticks_per_radian</name>
      <anchorfile>classMotorHardware.html</anchorfile>
      <anchor>a2a9b015f35b6f3ca2a48628fc65572d2</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>ERR_BAD_CHECKSUM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858cad187e50dc92ac442ff8f964d3cc79542</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_BAD_TYPE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca0eba207da87c428718eacb248d87a7a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_DELIMITER</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca3b4b2f093e508eabab02215f1842ec94</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_NONE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca743f55bdf9cac1e051c3ae38f7988ef1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_UNKNOWN_REGISTER</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858caba0255ebec04aaef3f44820a6669e112</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_WRONG_PROTOCOL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca9b3728963c639c1d36aa50b90fff3865</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ErrorCodes</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_NONE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca743f55bdf9cac1e051c3ae38f7988ef1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_DELIMITER</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca3b4b2f093e508eabab02215f1842ec94</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_WRONG_PROTOCOL</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca9b3728963c639c1d36aa50b90fff3865</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_BAD_CHECKSUM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858cad187e50dc92ac442ff8f964d3cc79542</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_BAD_TYPE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858ca0eba207da87c428718eacb248d87a7a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ERR_UNKNOWN_REGISTER</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ab682ce447e65664cf79fc0554f4b858caba0255ebec04aaef3f44820a6669e112</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>HwOptions</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a4ab6aaa8438a69ebe6a4ff764dcf1239</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>OPT_ENC_6_STATE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a4ab6aaa8438a69ebe6a4ff764dcf1239a100a69312be293f21c18f3a33695914e</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_MAX_SPD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa5f8a50623266573d987de2f0eca6df41</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_MAX_SPD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa622ff62e6466ae95da416c1ffc03624d</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_PARAM_LIMIT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940faffe595895ef630ad1ddf8edd789227d5</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="enumvalue">
      <name>LIM_M1_MAX_SPD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa5f8a50623266573d987de2f0eca6df41</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_M2_MAX_SPD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940fa622ff62e6466ae95da416c1ffc03624d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>LIM_PARAM_LIMIT</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a3a014828431590baf4350ad3f0e6940faffe595895ef630ad1ddf8edd789227d5</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>OPT_ENC_6_STATE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a4ab6aaa8438a69ebe6a4ff764dcf1239a100a69312be293f21c18f3a33695914e</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_DEADZONE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa91b2700e3cd940559de2f1356a97ab5f</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_ESTOP_ENABLE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa404ca8ae2a47e6a9e4eeab1110060010</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_FIRMWARE_DATE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8a61ff12b47bf20ee442283034a5a41f</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_HW_OPTIONS</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa7d053aaca51414b4622a86eb6e705947</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_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_MAX_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa327f4ed1eddc2f52a6da8e5080b89b7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MAX_SPEED_FWD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faea16342526c981944cd4b58c15ed5ce8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MAX_SPEED_REV</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa800f7ee5f3fc9a457c93748d34c4604b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MOT_PWR_ACTIVE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf317a78bcbab02d2ce91b255d0f588c1</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_PARAM_V</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faee969417145ad95dae6a2a32978e6ec4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PID_MAX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faea7ae1cdd564b6fa1547d12b1dd1237f</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_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_ROBOT_ID</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8df8667d1ff5436a84cfea8550f94869</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_UNUSED_19</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fae765c43bbf90f4cd4937e060e90d0830</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_UNUSED_19</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fae765c43bbf90f4cd4937e060e90d0830</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PARAM_V</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faee969417145ad95dae6a2a32978e6ec4</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>REG_ROBOT_ID</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8df8667d1ff5436a84cfea8550f94869</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MOT_PWR_ACTIVE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faf317a78bcbab02d2ce91b255d0f588c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_ESTOP_ENABLE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa404ca8ae2a47e6a9e4eeab1110060010</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_PID_MAX_ERROR</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faea7ae1cdd564b6fa1547d12b1dd1237f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MAX_SPEED_FWD</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1faea16342526c981944cd4b58c15ed5ce8</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MAX_SPEED_REV</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa800f7ee5f3fc9a457c93748d34c4604b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_MAX_PWM</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa327f4ed1eddc2f52a6da8e5080b89b7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_HW_OPTIONS</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa7d053aaca51414b4622a86eb6e705947</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_DEADZONE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa91b2700e3cd940559de2f1356a97ab5f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>REG_FIRMWARE_DATE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>afe0fc51da4f821d5b32b53589344ca1fa8a61ff12b47bf20ee442283034a5a41f</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>MotorMessage::ErrorCodes</type>
      <name>deserialize</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a873fb8f0be1dcd32b23afaf5ec38038d</anchor>
      <arglist>(const RawMotorMessage &amp;serialized)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>getData</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a55f683b5ee758e591566e8a6b4918018</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage::Registers</type>
      <name>getRegister</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>adb7be6ee894f11f6ae6b1e9e4f1cfa10</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MotorMessage::MessageTypes</type>
      <name>getType</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ad90a5adc0e0a47e8e2a690f8c6fc82ed</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>ab2ae08148e463dc33815ef52f0aa786e</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="variable" static="yes">
      <type>static const uint8_t</type>
      <name>delimeter</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>ae758e20053646fb584b1a89bed855c34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const int32_t</type>
      <name>MOT_POW_ACTIVE</name>
      <anchorfile>classMotorMessage.html</anchorfile>
      <anchor>a18fa832c7fe32118c31c884496944db0</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>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>a7003b3b21bcbf7ebd23b8de57e27155d</anchor>
      <arglist>(const std::string &amp;port=&quot;/dev/ttyUSB0&quot;, uint32_t baud_rate=9600)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MotorSerial</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>ae5b623fec276fd4e38dafeafe4e5a194</anchor>
      <arglist>(MotorSerial const &amp;)=delete</arglist>
    </member>
    <member kind="function">
      <type>MotorSerial &amp;</type>
      <name>operator=</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a484ceb41ad1f8d4acdfbf768b8af1991</anchor>
      <arglist>(MotorSerial const &amp;)=delete</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>void</type>
      <name>SerialThread</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>adce88d0f63c49cc205b944de5fd3206b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>error_threshold</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a40e8e583834d32e5657c684ed6af9248</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>int</type>
      <name>serial_errors</name>
      <anchorfile>classMotorSerial.html</anchorfile>
      <anchor>a8d5fed8503065f182a3f5a438e900e63</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="struct">
    <name>Options</name>
    <filename>structOptions.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>baud_rate</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>a8cb97b68e83b3204428cccf21733f255</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>firmware</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>a872c51b808620d1e9730fbb546d175b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>help</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>a11ff7e822575781f10e4256db9232f12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>pcb_rev</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>a779044af36cbe45cdc54301b5e5aa47b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>robot</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>af5ffccc034192957aec87f58919ad532</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>serial_port</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>a48319552be004444f55206ad5667b84f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>verbose</name>
      <anchorfile>structOptions.html</anchorfile>
      <anchor>abaa084df3c7ed900634b4d187aa58ea0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>upgrade_firmware::Packet</name>
    <filename>classupgrade__firmware_1_1Packet.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>ad97a6aef748ac4173d6f25773046d54a</anchor>
      <arglist>(self, ser, cmd)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>do_ignore_response</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a793bdd4f3b9a58f2499b46abdd9e5fdc</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a9b2aae858d66305c46ae2c51fe4dbf88</anchor>
      <arglist>(self, bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read_num</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a9a7c236885d886cc958923b945041371</anchor>
      <arglist>(self, bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>require_len</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a7acd66c2e797be7bd04f6cb2d0a5f32f</anchor>
      <arglist>(self, mylen)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a97dd2807d5db5c152c6740d56bad617f</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>write</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a525047b4bfef45bd5bc42e731a1517bb</anchor>
      <arglist>(self, x, mylen=None)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a00f551de54b7529d64881bbc0444ae65</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>id_ptr</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a5f0128d8126d7ad3df00de5ea8b29a06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ignore_response</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>ac648cff4bc9bdca7642ab1309ebf0760</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>inp</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a9f16edc7a091ebb673dada0de93ffc18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_sent</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a4357c85857e03037c935a47ff9cbd6fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>out</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>afcf3797abb94a7475e77f288b9f4d1d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ser</name>
      <anchorfile>classupgrade__firmware_1_1Packet.html</anchorfile>
      <anchor>a647997228f91dae06b37df7c0a132ec8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>upgrade_firmware::ReadFile</name>
    <filename>classupgrade__firmware_1_1ReadFile.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>a351453a8c0886a53e85d6c33ca76a737</anchor>
      <arglist>(self, content, encrypted)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>get_position</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>a9c02156c649a333a0cb9138d3e863759</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>get_size</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>ac561e13c54d6762ff9e2e2cf9e4d4d29</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>is_encrypted</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>acc7742edb59fa1ff712aa405ee387a36</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>is_open</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>adbbec444b9b9092d45f2e128e2d31067</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>ac6b6e197383e449f6813b6def89efeaa</anchor>
      <arglist>(self, bc)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>content</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>ae8fcdbe2a6170d06ac3a9136e9881d09</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>encrypted</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>ab65443484a85bf87a571b3cf4fedbeaf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>size</name>
      <anchorfile>classupgrade__firmware_1_1ReadFile.html</anchorfile>
      <anchor>a9a74534947858ad708f30759dae34b96</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>test_motor_board::serCommander</name>
    <filename>classtest__motor__board_1_1serCommander.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classtest__motor__board_1_1serCommander.html</anchorfile>
      <anchor>a97bda6afa12b95bf41dbfcb395541f35</anchor>
      <arglist>(self)</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>a3029304a6ea7b36b54ebc39c54575cc3</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fast_empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a32bce444f75c9a7e8e2fba2160e13311</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>a202de084b5c9ae609766a3c410ed4e35</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>a6708cafbc10c0b8422c1171e1496e127</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>std::atomic&lt; bool &gt;</type>
      <name>queue_empty_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a751c5b1e0206d2aea594f73a26dd4ea2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>queue_mutex_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a07a559c867ab863258b91a7b09ff0327</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>a3029304a6ea7b36b54ebc39c54575cc3</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fast_empty</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a32bce444f75c9a7e8e2fba2160e13311</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>a202de084b5c9ae609766a3c410ed4e35</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>a6708cafbc10c0b8422c1171e1496e127</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>std::atomic&lt; bool &gt;</type>
      <name>queue_empty_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a751c5b1e0206d2aea594f73a26dd4ea2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>queue_mutex_</name>
      <anchorfile>classshared__queue.html</anchorfile>
      <anchor>a07a559c867ab863258b91a7b09ff0327</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>TimeoutException</name>
    <filename>classTimeoutException.html</filename>
    <member kind="function">
      <type></type>
      <name>TimeoutException</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>aa7d17a07686326f2034d8d53d112592c</anchor>
      <arglist>(const char *description)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TimeoutException</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>a3aa8d17a5e124f678cd41a5d941f0951</anchor>
      <arglist>(const TimeoutException &amp;other)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual const char *</type>
      <name>what</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>a97eaf01fc39ddb94b060020b42fefd6e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~TimeoutException</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>ab8b6594f020a206072b5cbc0d94070e8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>TimeoutException &amp;</type>
      <name>operator=</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>a9231746d88ea3abacf13346ea3f628ea</anchor>
      <arglist>(const TimeoutException &amp;)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>e_what_</name>
      <anchorfile>classTimeoutException.html</anchorfile>
      <anchor>accda906c1b06a8a455a4316ee500a15e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>test_motor_board</name>
    <filename>namespacetest__motor__board.html</filename>
    <class kind="class">test_motor_board::serCommander</class>
    <member kind="function">
      <type>def</type>
      <name>calcPacketCksum</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a392e1c5e87e53f6db4db1ccf02d03eb6</anchor>
      <arglist>(msgBytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyByte</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>ab7c5de8e5ae6ca6c64707ac01bf50714</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyLongWord</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a0d5bb4e7bf481e2e975773e99cd5a416</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>fetchReplyWord</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a732a020c4ec88b793061a9c43b3eee6f</anchor>
      <arglist>(ser, cmdHex, regHex)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>formMagniParamSetMessage</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a9b868ea657fff13a40ad17fe779cbd19</anchor>
      <arglist>(registerNumber, paramValue)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>formMagniSpeedMessage</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a1353f7819a7aa9b45f63462cfb46a134</anchor>
      <arglist>(rightSpeed, leftSpeed)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>keyboard_thread</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>ab306e5959d604deb5b860766aa6b29fd</anchor>
      <arglist>(intKeys)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logAlways</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a2d090883bad8778465ebd439fc48ae02</anchor>
      <arglist>(message)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logDebug</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a76875cf604b879f77036aadafd1a2a45</anchor>
      <arglist>(message)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>runTillKeypress</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a4b04e91a641c64fbf24924291517f904</anchor>
      <arglist>(speed)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>setSpeedTillKeypress</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a986d5540f34e2a0f976562371db34371</anchor>
      <arglist>(ser, speed1, speed2)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>showHelp</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>abcc25cbb7a99d0dbba9f5d128f5fc959</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>stopMotors</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>afed014a63efecb1a85558857899458f8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>g_debug</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a86e6d7b57abeb0ee7dd66b3b6a310004</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>g_serialDev</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>a1179e65d04d2c517b6905d97652535bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>g_version</name>
      <anchorfile>namespacetest__motor__board.html</anchorfile>
      <anchor>af6887e965c42a253f84f65593afd83e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>test_pi_gpio</name>
    <filename>namespacetest__pi__gpio.html</filename>
    <member kind="function">
      <type>def</type>
      <name>blinkLed</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a2e8b1080d94c1e6019d981a48c88921b</anchor>
      <arglist>(ledGpioLine, numBlinks, timeOfBlinks, finalLedState)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>logLine</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a242afac5a6382d7bb156cc061c92b750</anchor>
      <arglist>(line)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>printUsage</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a424c89ea8c3eb484f49354b9430d4e11</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>args</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aefae3994c7d232b3ba2bd6ad281b33d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>bitError</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a076a539da226011937e4320ada08a9c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>g_simpleDebug</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a0b5548ac4a6a2f89594029daf5e60086</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>IN</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a94b52767d8cb39dfc5311d197e765063</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>logFilePath</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aabbdcf0a7cb9f4ba41c33ab17aef1fdd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>opts</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>af32a11f9e4febb7e42a509ab83c6d9bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>output</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>af37225ed6df557af83587612c98624a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>pull_up_down</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a31a05ab44025b981e0df0f609f1a6788</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>retValue</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a13b24f4aa206464bdd33e73a55953f1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>scriptStartTime</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>aa432f7986e080bdda9eafa3743b8fc6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>scriptVersion</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a4ff0ecf0bccdfc9ff29f3d7f936bbca1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>statusLed</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>acdbaa6599fa1351c71484c89d2ec9827</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test1inputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a42bca84beea16840b9c240921bcf0407</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test1outputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a48880c22d7edbaf10554a59cc9984c61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test2inputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a7dfb55d1377635fd7ec004eec9bd427b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>test2outputs</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>a0b98f20ce58c3cd696c2846c7385fa59</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>verbose</name>
      <anchorfile>namespacetest__pi__gpio.html</anchorfile>
      <anchor>afc71d2ac3f2695ec7791f1d4b49dd751</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>test_velocity</name>
    <filename>namespacetest__velocity.html</filename>
    <member kind="function">
      <type>def</type>
      <name>odometry_callback</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a2f111a159107e38855c8b8fdf69835df</anchor>
      <arglist>(msg)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>slow_motion</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>af7d665c0d96840d20635c8e042fb17c7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>ANGLE</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>ae47659e7b80ab2ab240c7d3eb9a1e8de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>anonymous</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a6d6818a64c1788cba9d7d9abc6cd5f66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>last_pos</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>aaa4f0eb74ab695b1c971679761589560</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>last_t</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a40988d852c9d5f7f5655070cec8bf691</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>VELOCITY</name>
      <anchorfile>namespacetest__velocity.html</anchorfile>
      <anchor>a22ffd7e0991a6d97a82938ec7cf17df4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>upgrade_firmware</name>
    <filename>namespaceupgrade__firmware.html</filename>
    <class kind="class">upgrade_firmware::InvalidFileException</class>
    <class kind="class">upgrade_firmware::Packet</class>
    <class kind="class">upgrade_firmware::ReadFile</class>
    <member kind="function">
      <type>def</type>
      <name>add8</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a63aee1157b0d910e6332bf6156246019</anchor>
      <arglist>(a, b)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>compute_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5c7db5ed5abd3908933c9fe20bd9e98e</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>convert_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa10d53a2115b5ff652f57c9b98ecefc8</anchor>
      <arglist>(checksum, flash_id, row_number, row_size)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>convert_num</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abaf4c87406169a0962f3bb159c9227c6</anchor>
      <arglist>(arr)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>crc16_ccitt</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab3aa98c5164f6cf703a3c2f85d83576d</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>cstr</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ad355326d019567803770ce5bd3227db0</anchor>
      <arglist>(x)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>file_convert_num</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa8869b598ecc8c4a4ff103aecc4ca9ce</anchor>
      <arglist>(arr)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>load_hex</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2740385b4f33bb9690d2225e9b987504</anchor>
      <arglist>(filename)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__encrypted_flash_line</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac4e447ce52f2c7ee054783da93735b64</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__flash_line</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2eaaeb31c5faa00816df8a5fe10cc978</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>read__header</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a87c5b9bf12c7109da70afd824b4efe2e</anchor>
      <arglist>(f)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__data</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5ba9d4842665ed5f28afbe97fa990b42</anchor>
      <arglist>(ser, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__encrypted_program_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac552d48099d9435d9a65ec3bfe6461c1</anchor>
      <arglist>(ser, flash_id, row_number, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__enter_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa3cc42664586ad184072a2ce6dffc1df</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__erase_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab96633ceddf1c0b1493f2245f1df870e</anchor>
      <arglist>(ser, flash_id, row_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__exit_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a46deaf16682182c594043bc9c4ee6280</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__get_application_status</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9552294fe290f0a6da94eb7edb663e57</anchor>
      <arglist>(ser, app_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__get_flash_size</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a455251f2c9f9878d12f9a725de085b61</anchor>
      <arglist>(ser, flash_id)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__program_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a25f86003b02a0ec992f04dc8af5f4a50</anchor>
      <arglist>(ser, flash_id, row_number, data_next)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__set_active_application</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a33caa7ae49734ca1f6f39ce195002a1f</anchor>
      <arglist>(ser, app_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__sync_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a88b41ccc68dbbe1c3d6f2a0cf1294288</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__verify_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a4a785874bb0ee8c3f5a77d8409649c65</anchor>
      <arglist>(ser)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>send__verify_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a6ed3a685becb3807fa6d83f891a3fb7d</anchor>
      <arglist>(ser, flash_id, row_number)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>twos_complement</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa8f3e902d492cdcb634fd90f1b90ae44</anchor>
      <arglist>(bytes)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>args</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0dfab89b69807b6c161b9504b5a76e91</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>dictionary</type>
      <name>auth_headers</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a2eb7fce95dcc6ad038e8a76cda6e877e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>bootloader_version</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa0717dc001637debd6dc4525e725b47d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>bytes_at_a_time</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5ffcd1c6d07006513a831f6c628875a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5104a63a937f17daf366026c4bcb94be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>chunk_size</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a099e9cad73fb7a58a6c3a5266b8327d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>def</type>
      <name>comp_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac77b0656fad839e939a0269f41891c10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abea8b319d8e0766748c5db9730c55693</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_length</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa56dee14b9736147eb912beb3dbb33c7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_next</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9b44aa181aea334fc931001fa3aeaa5e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>data_sent</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab1cb27df126657eec939fc59ffe697e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>data_strip</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af43a0eb8e4ac7d668c90a2f721e90d24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>DEBUG</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a3ae8861bfd9f8bf781672c728fc46eea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>default</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a941150a021217d872d1d48fc8a699370</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>email</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a527ea4642633e666ea5bdb0b1051f818</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_checksum_type</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a07961973f931836852ca01e629b8a3c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_silicon_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a47413db4f74ecb45b48cd7310dfe5723</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>file_silicon_rev</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ac55a9fcedeacce5fa0a2b513a7eda882</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_first_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0561a6bedaa0aa87c057f4fbd45d0e25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aa75c55dc6662a23292f630641b38f186</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>flash_last_row</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>acb8991cf14004d4f55ddacfc5aad5210</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>help</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a78e9f0d1ba9da4c87054f107d3889a2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>hex_stream</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>abf73bf2c7624ab1f442e103b5be8f220</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>last_percent</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a0506eae86d7d1e6f2ed3a7f4674cac61</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>parser</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a10c5423b5dc047135f3d14418ba97d35</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>path_to_file</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ab30421cd62573281d77d225d94878a10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>r</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a519f553379310239ef257d93354c0a40</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>def</type>
      <name>real_checksum</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af486171b94cfd01680c931ff74764480</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>list</type>
      <name>request_bootloader</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a9b523bf981d4cd27d329070c94c6ffa9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>row_number</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>af843214e9b9e5e70fbe89e3c9dcbf19b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ser</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>aeb70435006f6330fe4c2d4f3303ec82f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>serial_port</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a3fd4d925e854579f8d3069ba222574e9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>silicon_id</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>accd045bd4a5f03d6cdfbd61e6b38feec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>silicon_rev</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a65b2ff512eb229aa3c797aa3e656b4ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>string</type>
      <name>TMP_FILE_PATH</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a76775f6603395b38ec23b5781dc0933b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>token</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>a5a2a24c2d4b30891b0646822fa4a07d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>version</name>
      <anchorfile>namespaceupgrade__firmware.html</anchorfile>
      <anchor>ae9b3a98732ea545d313f815780b26679</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
