<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>__init__.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/leo_fw/</path>
    <filename>____init_____8py.html</filename>
    <namespace>leo_fw</namespace>
    <member kind="variable" protection="private">
      <type>list</type>
      <name>__all__</name>
      <anchorfile>namespaceleo__fw.html</anchorfile>
      <anchor>a9954706f9f103b6942bdb63a540c504b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>board.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/leo_fw/</path>
    <filename>board_8py.html</filename>
    <class kind="class">leo_fw::board::BoardType</class>
    <namespace>leo_fw::board</namespace>
    <member kind="function">
      <type>str</type>
      <name>check_firmware_version</name>
      <anchorfile>namespaceleo__fw_1_1board.html</anchorfile>
      <anchor>a5bd242d5f5312855175b895a8235fb77</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>Optional[BoardType]</type>
      <name>determine_board</name>
      <anchorfile>namespaceleo__fw_1_1board.html</anchorfile>
      <anchor>a0e311499cae6cebf0effd081be4a1135</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>firmware_message_converter.cpp</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/</path>
    <filename>firmware__message__converter_8cpp.html</filename>
    <member kind="function">
      <type>std::string</type>
      <name>get_calib_path</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a4e0a93736b42bebe145417577ecb32c9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>imu_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a753825292af0b690f13d9eefb75c84c3</anchor>
      <arglist>(const leo_msgs::ImuPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>load_parameters</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ae9a0f7f6578d3afe36c4e5ec4e011242</anchor>
      <arglist>(ros::NodeHandle &amp;pnh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>load_yaml_bias</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a36e8e46655cda2a780ef348031650338</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mecanum_odom_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a61971a03b023f4e1803b8ec00d37adcf</anchor>
      <arglist>(const leo_msgs::WheelOdomMecanumPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>merge_odometry_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a6f6a874e9add062d0b608b9d1db78db8</anchor>
      <arglist>(const ros::TimerEvent &amp;events)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>reset_odometry_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>aa5352e9de33dfc630227e55ea9e70a67</anchor>
      <arglist>(std_srvs::TriggerRequest &amp;req, std_srvs::TriggerResponse &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>set_imu_calibration_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ad55b7fec6d2891f8ba9d6e3a0ccdacbb</anchor>
      <arglist>(leo_msgs::SetImuCalibrationRequest &amp;req, leo_msgs::SetImuCalibrationResponse &amp;res)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wheel_odom_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a37ede8eb9c7de8a48ae9f15fa580845c</anchor>
      <arglist>(const leo_msgs::WheelOdomPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>wheel_states_callback</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ad3a24af4cce9bbab3850cf771be769b8</anchor>
      <arglist>(const leo_msgs::WheelStatesPtr &amp;msg)</arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>calib_file_path</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>addb45770cc555e6ac9cdbbdc6aadbdc7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>imu_advertised</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ad898f6ce4f8b7a571bfea5b6017b3d84</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; double &gt;</type>
      <name>imu_angular_velocity_covariance_diagonal</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a0583a68968ff15e6f6ffcb8dc0b8ae32</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; float &gt;</type>
      <name>imu_calibration_bias</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a5c047f5f65b38022c21a1f95a5e955e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>imu_frame_id</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a56d6c96a947e6f8616660e2e11752f2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; double &gt;</type>
      <name>imu_linear_acceleration_covariance_diagonal</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ae1b42c979abdc3183fd3f00bb00e7e67</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Publisher</type>
      <name>imu_pub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a93960bcb0c562e30adcdd8045874a8db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Subscriber</type>
      <name>imu_sub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a75c00e41e947ab1af8203517cb85b702</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>joint_states_advertised</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a55e9d820a5be9310752fa624e7a5e987</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Publisher</type>
      <name>joint_states_pub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ade29350cf653e9db9c4b8301938c9665</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>odom_frame_id</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>adf80cdddd764070ed068d0c72297dc2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>odom_merged_advertised</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>aba27a4d1c1aa8d80a33bdc6cd9287261</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static geometry_msgs::Point</type>
      <name>odom_merged_position</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a38e04434abb225c1cb877c46926c2a4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Publisher</type>
      <name>odom_merged_pub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>afab84d5d1613cf72d0196e408e6665f3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Timer</type>
      <name>odom_merged_timer</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a8ddf5306509c5dd0a1a74c5515cf8eba</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>odom_merged_yaw</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a7c509a9d7843379ecf9a6e5b29ab1e02</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::ServiceClient</type>
      <name>odom_reset_client</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>aec1b730958f795619b4a5c9ed1e4ca74</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>constexpr double</type>
      <name>PI</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a299aabc5fc8285cbf99025330a3d0d0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::ServiceServer</type>
      <name>reset_odometry_service</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a3a4d0963d6910c1af49d9694b323661c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>robot_frame_id</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a07a683948aba533475e3eb628baab920</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::ServiceServer</type>
      <name>set_imu_calibration_service</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a1ecd6a92b06f1a70dfd55adfeccf708a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::string</type>
      <name>tf_frame_prefix</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a572300b787feaa1271c86732a5ee5da4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>velocity_angular_z</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ac5ded7a5c354254abd1be5b48bc649f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>velocity_linear_x</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a5423c1219d1695f7f23b9e76ab5237a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static double</type>
      <name>velocity_linear_y</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a3337bc96d87833e0d468f23c43da9965</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; std::string &gt;</type>
      <name>wheel_joint_names</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>adec26d4e194719f398b8cc0f2731588e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>wheel_odom_advertised</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a9f4750edd57c2f81aa4f1a3107859046</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static bool</type>
      <name>wheel_odom_mecanum_advertised</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a4256dcf570520737fb8490ab876eb10c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Subscriber</type>
      <name>wheel_odom_mecanum_sub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>ad23bf7158eb8fd57cccade112bb38e25</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; double &gt;</type>
      <name>wheel_odom_mecanum_twist_covariance_diagonal</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a11e7fc238ab4f8b549fc7fa605654a8c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Publisher</type>
      <name>wheel_odom_pub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a56538f7c576ac136e5a059f6a2bcb6c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Subscriber</type>
      <name>wheel_odom_sub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a631c7b85b94f6603288545f4fa8c2bad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; double &gt;</type>
      <name>wheel_odom_twist_covariance_diagonal</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>afc9760dda13373a95170b5cc0ce4f723</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static ros::Subscriber</type>
      <name>wheel_states_sub</name>
      <anchorfile>firmware__message__converter_8cpp.html</anchorfile>
      <anchor>a325d5d4f404d8233b9b3099af3db9960</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>flash.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/leo_fw/</path>
    <filename>flash_8py.html</filename>
    <namespace>leo_fw::flash</namespace>
    <member kind="function">
      <type>def</type>
      <name>flash_core2</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>ab3f002c80cbbf433a7b435ec2f78ad24</anchor>
      <arglist>(str bootloader_path, str firmware_path)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>flash_firmware</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>a24504beb682e39242a7d32664a0a8727</anchor>
      <arglist>(Optional[str] firmware_path=None, Optional[BoardType] board_type=None, bool check_version=True)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>flash_leocore</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>a427baa5c5d272dbed86f2ed2a3f7965b</anchor>
      <arglist>(str firmware_path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>setup.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/</path>
    <filename>setup_8py.html</filename>
    <namespace>setup</namespace>
    <member kind="variable">
      <type></type>
      <name>setup_args</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>a504ffa482edfe0eff08f64b2f5dff0e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_hw.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/leo_fw/</path>
    <filename>test__hw_8py.html</filename>
    <class kind="class">leo_fw::test_hw::HardwareTester</class>
    <class kind="class">leo_fw::test_hw::TestMode</class>
    <namespace>leo_fw::test_hw</namespace>
  </compound>
  <compound kind="file">
    <name>utils.py</name>
    <path>/tmp/ws/src/leo_robot/leo_fw/src/leo_fw/</path>
    <filename>utils_8py.html</filename>
    <class kind="class">leo_fw::utils::CSIColor</class>
    <namespace>leo_fw::utils</namespace>
    <member kind="function">
      <type>bool</type>
      <name>is_tool</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>a86359c3b7adc2b925eb3660622c99cb2</anchor>
      <arglist>(str name)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>parse_yaml</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>ae56ca3df60bc37c337d8aab179269f18</anchor>
      <arglist>(str file_path)</arglist>
    </member>
    <member kind="function">
      <type>str</type>
      <name>prompt_options</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>a6557c7d41e612a10688d72275a608df1</anchor>
      <arglist>(list[tuple[str, Any]] options, int default=1)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>query_yes_no</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>aff262c51f71b6e0b1ef5818fecdeb0ac</anchor>
      <arglist>(str question, str default=&quot;yes&quot;)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>write_flush</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>ac3323837947ee87829707720af786acc</anchor>
      <arglist>(str msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>leo_fw::board::BoardType</name>
    <filename>classleo__fw_1_1board_1_1BoardType.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__str__</name>
      <anchorfile>classleo__fw_1_1board_1_1BoardType.html</anchorfile>
      <anchor>a6f5eda22736981b02cef7496198d9fc6</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>CORE2</name>
      <anchorfile>classleo__fw_1_1board_1_1BoardType.html</anchorfile>
      <anchor>adb4c5f34d4d5d7d3eb7a978948c1640e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>LEOCORE</name>
      <anchorfile>classleo__fw_1_1board_1_1BoardType.html</anchorfile>
      <anchor>a260aa041419eb1caee20678972dd75bc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>leo_fw::utils::CSIColor</name>
    <filename>classleo__fw_1_1utils_1_1CSIColor.html</filename>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>ENDC</name>
      <anchorfile>classleo__fw_1_1utils_1_1CSIColor.html</anchorfile>
      <anchor>a446bc5fa14385b0825f840284998c6c9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>FAIL</name>
      <anchorfile>classleo__fw_1_1utils_1_1CSIColor.html</anchorfile>
      <anchor>a3ff7db35b0501d401b49d7ea5e4ad429</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>OKGREEN</name>
      <anchorfile>classleo__fw_1_1utils_1_1CSIColor.html</anchorfile>
      <anchor>ac1601f5714a00ccb74597cd98a8130d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>WARNING</name>
      <anchorfile>classleo__fw_1_1utils_1_1CSIColor.html</anchorfile>
      <anchor>a256af05e3dd7536b9d72f9213c1f2caa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>leo_fw::test_hw::HardwareTester</name>
    <filename>classleo__fw_1_1test__hw_1_1HardwareTester.html</filename>
    <member kind="function">
      <type>None</type>
      <name>__init__</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a5457907c592bad861e7444dc4728db34</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>battery_callback</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>affb404c54346e7eacc9e28c39ac558de</anchor>
      <arglist>(self, Float32 data)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>check_battery</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>aef0b5bbf589b0a9a2b6b329831165229</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>check_encoder</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a6736941baa9cd858091cb9a31180bbb4</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>check_imu</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a93a2665ec4134fd73b424e7006933f09</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>check_motor_load</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>af4986fc3ee9c117e5a4f33b19dc8c2eb</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>check_torque</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a5388d4449556beb07e6fabfe42719073</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>imu_callback</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>aa1758155635ef822dbfd94432869093e</anchor>
      <arglist>(self, Imu data)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>test_hw</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a43ae3bbd428c163d6c336ccb8ff37529</anchor>
      <arglist>(self, TestMode hardware=TestMode.ALL)</arglist>
    </member>
    <member kind="function">
      <type>None</type>
      <name>wheel_callback</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a1151c0c2d2a50a2fcb990d5486d50515</anchor>
      <arglist>(self, WheelStates data)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>battery_sub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a582663c0bc151b9eb196fb24daeef088</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_pwmfl_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>af0387ecd33730583a6c730d09910b6bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_pwmfr_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>acb8209a4d42b4b0489fad89d16bcaae5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_pwmrl_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a2abb74a58acb557ee1d828781a4d4712</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_pwmrr_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a01e96c2894049cfca8c1cb71fd6a7d5e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_vel_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a9d1f061c006c70b6f1c90a2c27ee8bda</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_velfl_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a1eb6a8da039983fd878a0113a585301c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_velfr_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a651d95dab610640308c6bec015bb0da9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_velrl_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a7dbd221c65318665c1b817b4dbedec06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>cmd_velrr_pub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a71f1d9bd19267e7713ef01ddb92d59c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>imu_sub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>aef61406def14ceac2bfcd27103270c2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_new_battery_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>ac73cb0061f41f411e7978a64f30f78ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_new_imu_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>aa7c0398b4daa7c5a10ec9b31b9ad7fb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_new_wheel_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a45c5e3cf707460db31c9a99c13dac30f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>is_wheel_loaded</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a3a7ba24216ea194243ea0ab5490b56e0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>path</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a9c84d540f6d0cd2346983dac2d1a08e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>rospack</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a29b3d83cd1b1e553dad1b2623e3571d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>wheel_sub</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a44f718f441f57174fe0fe25439a37382</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type></type>
      <name>battery_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>ac9aaebb8eb363270e97dc931a6449d1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type></type>
      <name>imu_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a72bac9b2d38747f2d5fd7480aefdbe93</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>is_new_battery_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a10ce9edafa870c4b9a1a15589f858a0d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>is_new_imu_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>ae741f9eec7cc69a0699078d587dbb31c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>is_new_wheel_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a660265a288ae3034ffcc04dbb442f7db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>is_wheel_loaded</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>a9cd45477d873966882693c3dea76b40e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type></type>
      <name>wheel_data</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1HardwareTester.html</anchorfile>
      <anchor>ae0ee5241dfc755dac6e0032a6fa25611</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>leo_fw::test_hw::TestMode</name>
    <filename>classleo__fw_1_1test__hw_1_1TestMode.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__str__</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>ad4183c5c9bd4b0c1f7ab6c76afbbad4a</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>ALL</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>a3233c7a9ddd528943038095d112b355a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>BATTERY</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>a91de7f4e8f3d9d4b4318f9134968d69d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>ENCODER</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>a762f87509536c708cad9369c23d41b0b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>IMU</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>a51187d393e0b5a46d83cd1f06b59e50a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>string</type>
      <name>TORQUE</name>
      <anchorfile>classleo__fw_1_1test__hw_1_1TestMode.html</anchorfile>
      <anchor>aa62c62d45e00099a99b00471240ad910</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>leo_fw</name>
    <filename>namespaceleo__fw.html</filename>
    <namespace>leo_fw::board</namespace>
    <namespace>leo_fw::flash</namespace>
    <namespace>leo_fw::test_hw</namespace>
    <namespace>leo_fw::utils</namespace>
    <member kind="variable" protection="private">
      <type>list</type>
      <name>__all__</name>
      <anchorfile>namespaceleo__fw.html</anchorfile>
      <anchor>a9954706f9f103b6942bdb63a540c504b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>leo_fw::board</name>
    <filename>namespaceleo__fw_1_1board.html</filename>
    <class kind="class">leo_fw::board::BoardType</class>
    <member kind="function">
      <type>str</type>
      <name>check_firmware_version</name>
      <anchorfile>namespaceleo__fw_1_1board.html</anchorfile>
      <anchor>a5bd242d5f5312855175b895a8235fb77</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>Optional[BoardType]</type>
      <name>determine_board</name>
      <anchorfile>namespaceleo__fw_1_1board.html</anchorfile>
      <anchor>a0e311499cae6cebf0effd081be4a1135</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>leo_fw::flash</name>
    <filename>namespaceleo__fw_1_1flash.html</filename>
    <member kind="function">
      <type>def</type>
      <name>flash_core2</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>ab3f002c80cbbf433a7b435ec2f78ad24</anchor>
      <arglist>(str bootloader_path, str firmware_path)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>flash_firmware</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>a24504beb682e39242a7d32664a0a8727</anchor>
      <arglist>(Optional[str] firmware_path=None, Optional[BoardType] board_type=None, bool check_version=True)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>flash_leocore</name>
      <anchorfile>namespaceleo__fw_1_1flash.html</anchorfile>
      <anchor>a427baa5c5d272dbed86f2ed2a3f7965b</anchor>
      <arglist>(str firmware_path)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>leo_fw::test_hw</name>
    <filename>namespaceleo__fw_1_1test__hw.html</filename>
    <class kind="class">leo_fw::test_hw::HardwareTester</class>
    <class kind="class">leo_fw::test_hw::TestMode</class>
  </compound>
  <compound kind="namespace">
    <name>leo_fw::utils</name>
    <filename>namespaceleo__fw_1_1utils.html</filename>
    <class kind="class">leo_fw::utils::CSIColor</class>
    <member kind="function">
      <type>bool</type>
      <name>is_tool</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>a86359c3b7adc2b925eb3660622c99cb2</anchor>
      <arglist>(str name)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>parse_yaml</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>ae56ca3df60bc37c337d8aab179269f18</anchor>
      <arglist>(str file_path)</arglist>
    </member>
    <member kind="function">
      <type>str</type>
      <name>prompt_options</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>a6557c7d41e612a10688d72275a608df1</anchor>
      <arglist>(list[tuple[str, Any]] options, int default=1)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>query_yes_no</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>aff262c51f71b6e0b1ef5818fecdeb0ac</anchor>
      <arglist>(str question, str default=&quot;yes&quot;)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>write_flush</name>
      <anchorfile>namespaceleo__fw_1_1utils.html</anchorfile>
      <anchor>ac3323837947ee87829707720af786acc</anchor>
      <arglist>(str msg)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>setup</name>
    <filename>namespacesetup.html</filename>
    <member kind="variable">
      <type></type>
      <name>setup_args</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>a504ffa482edfe0eff08f64b2f5dff0e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
