<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>__init__.py</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/dataspeed_ulc_can/</path>
    <filename>____init_____8py</filename>
    <namespace>dataspeed_ulc_can</namespace>
  </compound>
  <compound kind="file">
    <name>dispatch.h</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/include/dataspeed_ulc_can/</path>
    <filename>dispatch_8h</filename>
    <class kind="struct">dataspeed_ulc_can::MsgUlcCfg</class>
    <class kind="struct">dataspeed_ulc_can::MsgUlcCmd</class>
    <class kind="struct">dataspeed_ulc_can::MsgUlcReport</class>
    <namespace>dataspeed_ulc_can</namespace>
    <member kind="define">
      <type>#define</type>
      <name>BUILD_ASSERT</name>
      <anchorfile>dispatch_8h.html</anchorfile>
      <anchor>a077b099c141780e985a7f5e9b60db019</anchor>
      <arglist>(cond)</arglist>
    </member>
    <member kind="enumvalue">
      <name>ID_ULC_CMD</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46a4cf2cd968b8c9822fc5500df0ce45a5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ID_ULC_CONFIG</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46ac3cf41abfa58e5408ec6b62e8494ffea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ID_ULC_REPORT</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46a1e70f4782858df5793597992b5d56873</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>dispatchAssertSizes</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a283704f60e7ad1662684b0cbdd126877</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>MsgRx.h</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/tests/</path>
    <filename>MsgRx_8h</filename>
    <class kind="class">MsgRx</class>
  </compound>
  <compound kind="file">
    <name>node.cpp</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/</path>
    <filename>node_8cpp</filename>
    <includes id="UlcNode_8h" name="UlcNode.h" local="yes" imported="no">UlcNode.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>nodelet.cpp</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/</path>
    <filename>nodelet_8cpp</filename>
    <includes id="UlcNode_8h" name="UlcNode.h" local="yes" imported="no">UlcNode.h</includes>
    <class kind="class">dataspeed_ulc_can::UlcNodelet</class>
    <namespace>dataspeed_ulc_can</namespace>
    <member kind="function">
      <type></type>
      <name>PLUGINLIB_EXPORT_CLASS</name>
      <anchorfile>nodelet_8cpp.html</anchorfile>
      <anchor>a4a876324b0d04da2bbbb6520617f36bb</anchor>
      <arglist>(dataspeed_ulc_can::UlcNodelet, nodelet::Nodelet)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>setup.py</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/</path>
    <filename>setup_8py</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>speed.py</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/dataspeed_ulc_can/</path>
    <filename>speed_8py</filename>
    <class kind="class">dataspeed_ulc_can::speed::Speed</class>
    <namespace>dataspeed_ulc_can::speed</namespace>
  </compound>
  <compound kind="file">
    <name>speed_sine_wave.py</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/scripts/</path>
    <filename>speed__sine__wave_8py</filename>
    <class kind="class">speed_sine_wave::SpeedSineWave</class>
    <namespace>speed_sine_wave</namespace>
    <member kind="variable">
      <type></type>
      <name>node_instance</name>
      <anchorfile>namespacespeed__sine__wave.html</anchorfile>
      <anchor>ad0ba586143be34fb50578fc66c8eb7d3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>speed_square_wave.py</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/scripts/</path>
    <filename>speed__square__wave_8py</filename>
    <class kind="class">speed_square_wave::SpeedSquareWave</class>
    <namespace>speed_square_wave</namespace>
    <member kind="variable">
      <type></type>
      <name>node_instance</name>
      <anchorfile>namespacespeed__square__wave.html</anchorfile>
      <anchor>a32487cca60ff5acab33c5c2d1313f55a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_ulc_node.cpp</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/tests/</path>
    <filename>test__ulc__node_8cpp</filename>
    <includes id="dispatch_8h" name="dispatch.h" local="no" imported="no">dataspeed_ulc_can/dispatch.h</includes>
    <includes id="MsgRx_8h" name="MsgRx.h" local="yes" imported="no">MsgRx.h</includes>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>checkImmediateCfg</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a3554b99f5557162b3e0e8a5e633a20e0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>recvCan</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a61b1f761f0456706cdebef0a1f6c363b</anchor>
      <arglist>(const can_msgs::FrameConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>recvReport</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a18e5d355f16711ceb7d60841885d13c0</anchor>
      <arglist>(const dataspeed_ulc_msgs::UlcReportConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>aa2215ec3b084974796761d2805c6f725</anchor>
      <arglist>(ULCNode, topics)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a806490409d0807bfef909237b33fedd3</anchor>
      <arglist>(ULCNode, cfgTiming)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a4697ec7a4536dd6b8fe8c1a171948072</anchor>
      <arglist>(ULCNode, cmdRangeSaturation)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ab27560831043b47cd1ffedf1dd6436a6</anchor>
      <arglist>(ULCNode, outOfBoundsInputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a528a5cd67dfcce9cb78f526bd452ae5f</anchor>
      <arglist>(ULCNode, scaleFactors)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a3a7de10197eee01f446eb6edceb97607</anchor>
      <arglist>(ULCNode, dbwEnable)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ac2ca6ae5ad91ea76c3d276259f354c8d</anchor>
      <arglist>(ULCNode, twistInputs)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a9b502f31dca7183d0f26af3acf891e01</anchor>
      <arglist>(ULCNode, reportParsing)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>waitForMsg</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ab8eff3f733438f06a0190e1a5d50eb89</anchor>
      <arglist>(ros::WallDuration dur, const MsgRx&lt; T &gt; &amp;msg_rx)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>waitForTopics</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a55f293ecccbf21267647c81a3762ffb4</anchor>
      <arglist>(ros::WallDuration dur)</arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>ACCEL_REPORT_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a838fe42cc5c055d5045d91dbdf3d2405</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>ANGULAR_ACCEL_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a0bcb8c29f1efd022add52ad00773b59f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>CURVATURE_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a85a345f2380f41534a1fcfa72c38165e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>g_cfg_freq</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>af2058da18ce6d515af8e70d29ac85108</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>MsgRx&lt; MsgUlcCfg &gt;</type>
      <name>g_msg_ulc_cfg</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a0de5db9b578c0a2de16799b2ad63a947</anchor>
      <arglist>(ros::WallDuration(0.05))</arglist>
    </member>
    <member kind="variable">
      <type>MsgRx&lt; MsgUlcCmd &gt;</type>
      <name>g_msg_ulc_cmd</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a76d7d41a0494330e599a76810740e5f7</anchor>
      <arglist>(ros::WallDuration(0.05))</arglist>
    </member>
    <member kind="variable">
      <type>MsgRx&lt; dataspeed_ulc_msgs::UlcReport &gt;</type>
      <name>g_msg_ulc_report</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a9d752c424c0acae72937f65bfe1470d1</anchor>
      <arglist>(ros::WallDuration(0.05))</arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>g_pub_can</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a3c2937bd0e14a03529d172bf767d0ac8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>g_pub_enable</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>af2aa45cc47059b9244fc2ea9386e1564</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>g_pub_twist</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a4daa9c8c0174506b77020350e0644d3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>g_pub_twist_stamped</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ab1babb35ce88b8df7c5df160352488cd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Publisher</type>
      <name>g_pub_ulc_cmd</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a9bb8d32588fff24088f66dd5a94234c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Subscriber</type>
      <name>g_sub_can</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a8d0ff46ddfd31fe5e387abee66d39bef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::Subscriber</type>
      <name>g_sub_report</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a5549c86de74188e5b23d371f3dcb5a0e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>dataspeed_ulc_msgs::UlcCmd</type>
      <name>g_ulc_cmd</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ab4b55c4f6fa20842237c72dde2e80687</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>LATERAL_ACCEL_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a9b8a7754b05fd200320462a32af984b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>LIN_VEL_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a5a92799a2a6784122c81a1c53245fca6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>LINEAR_ACCEL_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>aafe67ca501f6d139e2c6dc3f840a0c77</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>LINEAR_DECEL_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ac03fffae58cd330d2180a42ece354d46</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>MAX_ANGLE_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a38eb7f97ecaf604c73c4cef87af2d46e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>MAX_RATE_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a5574cc56e2fe37c4edc5dfb3e7346791</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle *</type>
      <name>n</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>ad7ec98e0a304bd4c2c52732a01dd2294</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>ros::NodeHandle *</type>
      <name>pn</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a86be3dcfc3e51091aea3e9614b94bd3b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>SPEED_REPORT_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>a5678c0902911e4d6cdc0c2efb5f0cf82</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const double</type>
      <name>YAW_RATE_SCALE_FACTOR</name>
      <anchorfile>test__ulc__node_8cpp.html</anchorfile>
      <anchor>acf481c7e0b7169ee085e6cdbb6f1bdd0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>UlcNode.cpp</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/</path>
    <filename>UlcNode_8cpp</filename>
    <includes id="UlcNode_8h" name="UlcNode.h" local="yes" imported="no">UlcNode.h</includes>
    <includes id="dispatch_8h" name="dispatch.h" local="no" imported="no">dataspeed_ulc_can/dispatch.h</includes>
    <namespace>dataspeed_ulc_can</namespace>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>getParamWithSaturation</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a633fdc6976aa8414711227d47839084d</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const std::string &amp;key, T &amp;value, T min, T max)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static T</type>
      <name>overflowSaturation</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>ae8d5341a921b35a7d4a3f94bbbbcce0f</anchor>
      <arglist>(double input, T limit_min, T limit_max, double scale_factor, const std::string &amp;input_name, const std::string &amp;units)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>validInputs</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a991f5b17a66317bc65824527960646b9</anchor>
      <arglist>(const dataspeed_ulc_msgs::UlcCmd &amp;cmd)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>UlcNode.h</name>
    <path>/tmp/ws/src/dataspeed_ulc_ros/dataspeed_ulc_can/src/</path>
    <filename>UlcNode_8h</filename>
    <class kind="class">dataspeed_ulc_can::UlcNode</class>
    <namespace>dataspeed_ulc_can</namespace>
  </compound>
  <compound kind="class">
    <name>MsgRx</name>
    <filename>classMsgRx.html</filename>
    <templarg>MsgT</templarg>
    <member kind="function">
      <type>ros::WallDuration</type>
      <name>age</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a52745bf8914a9a22f20f7822ad39e562</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a62f1ab454763c022f33f3b6c68dfb45e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fresh</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>ab23fd41171c58ba4c7ab65d08602e9fd</anchor>
      <arglist>(ros::WallDuration delta) const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fresh</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a72f266208c2850f4e7f1a6f26b324025</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>const MsgT &amp;</type>
      <name>get</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a69bb99e62bb93a7c4c538d8a8d51dd0e</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MsgRx</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>acbc5ac1a344da8dfb4d69d46b2017876</anchor>
      <arglist>(const ros::WallDuration &amp;thresh)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>MsgRx</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a6dd447a9157808a9a3ace6dc43ae4860</anchor>
      <arglist>(const ros::WallDuration &amp;thresh, const MsgT &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>set</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>ab53e07bc770e4441640b9f7834183f21</anchor>
      <arglist>(const MsgT &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>const ros::WallTime &amp;</type>
      <name>stamp</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a13c8a0665c01512afaef4178d0979e0c</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::WallDuration</type>
      <name>dur_</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a7c422a446c0c6eb424eaf0787f8a413c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MsgT</type>
      <name>msg_</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a3ebfe82fd9b1e23f2c60df6984f8f2ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::WallTime</type>
      <name>stamp_</name>
      <anchorfile>classMsgRx.html</anchorfile>
      <anchor>a5cb78134acbfa3ed289a105abd63b4cb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>dataspeed_ulc_can::MsgUlcCfg</name>
    <filename>structdataspeed__ulc__can_1_1MsgUlcCfg.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad0__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>aa061c30d3cae4c9d44dc60256b6c8da2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad1__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>ae9e4e1930b1a1dd9cdc26e8ca1a88c29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad2__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>a344243ae1b1ecd04e10204c9a0187c13</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>angular_accel</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>a3bd7c29a1b35bfa5ad23d217fe81c6bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>lateral_accel</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>a3906dc14b293644e2f1a2ee3827d6cf1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>linear_accel</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>a9b8b5a9822415e1d03828da323959339</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>linear_decel</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>aac8caacdb92ae9f15b404fb19ad87744</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>wdc</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCfg.html</anchorfile>
      <anchor>a2f506b5d86e4c2d9865a101caba7c484</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>dataspeed_ulc_can::MsgUlcCmd</name>
    <filename>structdataspeed__ulc__can_1_1MsgUlcCmd.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad0__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>ac20ad35399e7cbd455a6d788fe4fdef0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad1__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a7e706ea24b3e770a977140be580c0717</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad2__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a654ae54c64358268a89c7817150b13e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>clear</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>acd878545207b9d219ee82804d02c3a42</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>enable_pedals</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a3adfeaed14a5d70fba5f1d91f5adf9cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>enable_shifting</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>aa35b5bbf20da8603f23d63124a990e5b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>enable_steering</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>aac7c90fe5785b212379ab00cc259f1ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>linear_velocity</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a096377fb354421300773ebccc1a506ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>shift_from_park</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a1ff3af65198823401c5fabe1a0f0ee69</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>steering_mode</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a2e1b60ffb748987eec9d23bd2288e593</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>wdc</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>a0c319943fc6ff80d049d9e43a639cb51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>yaw_command</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcCmd.html</anchorfile>
      <anchor>aaf9f8ed47031ed2960e7dbe06b716da7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>dataspeed_ulc_can::MsgUlcReport</name>
    <filename>structdataspeed__ulc__can_1_1MsgUlcReport.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>__pad0__</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a1026a1adabb3cc784af7b75a1f9e8e7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int8_t</type>
      <name>accel_meas</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>aeb32bcc8dfe7ccebfc9ad6baff225727</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int8_t</type>
      <name>accel_ref</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a336300609eabb50ef40998a792a5004d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>max_steering_angle</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>abae96d1f815e257fd03c8295059a7cfb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>max_steering_vel</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a331001c295b359799102b3ebe265a84e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>override</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a0bc2bcd4c1cc62007c7cde3ac6eaa798</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>pedals_enabled</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a16b2e13b95689262ea13e2b16c95b4f1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>speed_meas</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a6674b6d02d0c068b9cde2a0290772678</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>speed_preempted</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a7e69842c36a5281a6fbd35b818bd990c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>speed_ref</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a34b536e127bad442e66e247063f734c1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>steering_enabled</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>acc7c311f22a257cacdd36adc023482f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>steering_mode</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a12732b6b16f7723014c64825243e5b3a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>steering_preempted</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>a5ccbd09312edee291a7a81f3a1a488d1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>timeout</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>acf2a40f7fbafe3e8f8934ea6f9516a12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>tracking_mode</name>
      <anchorfile>structdataspeed__ulc__can_1_1MsgUlcReport.html</anchorfile>
      <anchor>aa946c5f967abcc40bb3b61968cba3c9d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>dataspeed_ulc_can::speed::Speed</name>
    <filename>classdataspeed__ulc__can_1_1speed_1_1Speed.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>ada57a683083855e00f9579018ac85d64</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>recv_enable</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>ab0f2cbbaa377a2943522bd73d2cbf9fc</anchor>
      <arglist>(self, msg)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>timer_callback</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a3fc5a73db16ea1ad9f27073b11c9fcdf</anchor>
      <arglist>(self, event)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>enabled</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a99220d785e6ad639f8b35818a4cb88c2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>period</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>aee30127585cf1a41aa13a1a02a34b64e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>pub_ulc_cmd</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a1f6d0cbb0ba1584f7a42d540cdf7859c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>t</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>ae83856ad7b9a13672a3fd46880fa870f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>ulc_cmd</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a6607bae68f8cf47adde319b5d01c4dd8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v1</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a84341580496453a15e6525c4268622f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v2</name>
      <anchorfile>classdataspeed__ulc__can_1_1speed_1_1Speed.html</anchorfile>
      <anchor>a3ee671261741a4b4932a763f3d32455f</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>speed_sine_wave::SpeedSineWave</name>
    <filename>classspeed__sine__wave_1_1SpeedSineWave.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a2d71fcf18ab0d76273c73822170e84ef</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>recv_report</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a6d6c254edce061a10ac9376a200d0e51</anchor>
      <arglist>(self, msg)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>timer_callback</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a180607c65eba4ad2e81405de54a6571a</anchor>
      <arglist>(self, event)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>reached_target_stamp</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>ac111d4713bb36f01a18e5a65f1de3ff7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>speed_meas</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>af777d2257f9bb02c6b34fefef9359da6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>state</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a20d493b49b2e146c5c2e70a2c73c40fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>t</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>aa348f6ce4f98f0b5d963347b38f8fe18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v1</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>abdf301fe920e5343155f6a7d152c8baa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v2</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a7ec4fedd9cfdef014963e0bb6b9605d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>APPROACHING</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>addef914e1ee80f3ced3c55bf45068d46</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>int</type>
      <name>TRACKING</name>
      <anchorfile>classspeed__sine__wave_1_1SpeedSineWave.html</anchorfile>
      <anchor>a63a5b774e58d2dd4c9663ce4cfdc49e2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>speed_square_wave::SpeedSquareWave</name>
    <filename>classspeed__square__wave_1_1SpeedSquareWave.html</filename>
    <member kind="function">
      <type>def</type>
      <name>__init__</name>
      <anchorfile>classspeed__square__wave_1_1SpeedSquareWave.html</anchorfile>
      <anchor>a38e8d719715822266cf2fbc4ab7cb2e6</anchor>
      <arglist>(self)</arglist>
    </member>
    <member kind="function">
      <type>def</type>
      <name>timer_callback</name>
      <anchorfile>classspeed__square__wave_1_1SpeedSquareWave.html</anchorfile>
      <anchor>ab9e3577ff97c3a3eca3fe05118d2cb19</anchor>
      <arglist>(self, event)</arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>t</name>
      <anchorfile>classspeed__square__wave_1_1SpeedSquareWave.html</anchorfile>
      <anchor>ad93e042496c6862d87b05eff3e57afa7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v1</name>
      <anchorfile>classspeed__square__wave_1_1SpeedSquareWave.html</anchorfile>
      <anchor>af9ee31408357b57d73e74c526833b40c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>v2</name>
      <anchorfile>classspeed__square__wave_1_1SpeedSquareWave.html</anchorfile>
      <anchor>a03c013bbdaa9fee2ac49ccaededf2ccc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>dataspeed_ulc_can::UlcNode</name>
    <filename>classdataspeed__ulc__can_1_1UlcNode.html</filename>
    <member kind="function">
      <type></type>
      <name>UlcNode</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>aa30bb4c0475dd96b43a399f2bea89ff5</anchor>
      <arglist>(ros::NodeHandle &amp;n, ros::NodeHandle &amp;pn)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>configTimerCb</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a8d049b2d9f30a3a5990a3f5b3683282c</anchor>
      <arglist>(const ros::TimerEvent &amp;event)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvCan</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a1d7673fe1149cfe685d5a6203e37b03d</anchor>
      <arglist>(const can_msgs::FrameConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvEnable</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a3dfa13ef4ca15230897a2a1f754e051c</anchor>
      <arglist>(const std_msgs::BoolConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvTwist</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a5596021705172859d715b0bd660d6db5</anchor>
      <arglist>(const geometry_msgs::TwistConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvTwistCmd</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a07950fe745f515b6229a2cf6ceb0760c</anchor>
      <arglist>(const geometry_msgs::Twist &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvTwistStamped</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a7ee7187b7f9f2fd5a3f90cc0675631a8</anchor>
      <arglist>(const geometry_msgs::TwistStampedConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>recvUlcCmd</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>ae44425c3050e01a6222a734ad6bb1c90</anchor>
      <arglist>(const dataspeed_ulc_msgs::UlcCmdConstPtr &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sendCfgMsg</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a6c2b4c5aace7f1827d923314c478c6de</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sendCmdMsg</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>aed02ef6ea7e37482bcc679832187a7e3</anchor>
      <arglist>(bool cfg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Time</type>
      <name>cmd_stamp_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a9cbbe531ec661678cf373b9688da2f1d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Timer</type>
      <name>config_timer_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>abecdc49d10164bd53099f9d143dc9e89</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>enable_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a3de42a62c6395adee3d27e03d775d33a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_can_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a0d026f24dde6ead6cea47e16dc4740a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_report_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>aad6628e43826f6ee081e00b690cab588</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_can_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a382fbd0f2883cecdfb27ce4ccf31d4e4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_cmd_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>abbff754ed5bb21d629c1d38c20da63f8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_enable_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>aaffd199e7acadff8dde53d4ae2852f15</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_twist_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a5bd7b8de717d810e952545dd8e64f613</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>sub_twist_stamped_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>a374be886dfd44268f56ae002263c1daa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>dataspeed_ulc_msgs::UlcCmd</type>
      <name>ulc_cmd_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNode.html</anchorfile>
      <anchor>ae246c26ea7b0ecac4cd3362efde62bbf</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>dataspeed_ulc_can::UlcNodelet</name>
    <filename>classdataspeed__ulc__can_1_1UlcNodelet.html</filename>
    <base>nodelet::Nodelet</base>
    <member kind="function">
      <type>void</type>
      <name>onInit</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNodelet.html</anchorfile>
      <anchor>a87006ffde4bf0efbd2ee95c8a4f202c0</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; UlcNode &gt;</type>
      <name>node_</name>
      <anchorfile>classdataspeed__ulc__can_1_1UlcNodelet.html</anchorfile>
      <anchor>a6471039587a039b600168db518e11397</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>dataspeed_ulc_can</name>
    <filename>namespacedataspeed__ulc__can.html</filename>
    <namespace>dataspeed_ulc_can::speed</namespace>
    <class kind="struct">dataspeed_ulc_can::MsgUlcCfg</class>
    <class kind="struct">dataspeed_ulc_can::MsgUlcCmd</class>
    <class kind="struct">dataspeed_ulc_can::MsgUlcReport</class>
    <class kind="class">dataspeed_ulc_can::UlcNode</class>
    <class kind="class">dataspeed_ulc_can::UlcNodelet</class>
    <member kind="enumvalue">
      <name>ID_ULC_CMD</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46a4cf2cd968b8c9822fc5500df0ce45a5c</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ID_ULC_CONFIG</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46ac3cf41abfa58e5408ec6b62e8494ffea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ID_ULC_REPORT</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a9447e177e8756400f0e7feafddfc9d46a1e70f4782858df5793597992b5d56873</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>dispatchAssertSizes</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a283704f60e7ad1662684b0cbdd126877</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>getParamWithSaturation</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a633fdc6976aa8414711227d47839084d</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const std::string &amp;key, T &amp;value, T min, T max)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static T</type>
      <name>overflowSaturation</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>ae8d5341a921b35a7d4a3f94bbbbcce0f</anchor>
      <arglist>(double input, T limit_min, T limit_max, double scale_factor, const std::string &amp;input_name, const std::string &amp;units)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>validInputs</name>
      <anchorfile>namespacedataspeed__ulc__can.html</anchorfile>
      <anchor>a991f5b17a66317bc65824527960646b9</anchor>
      <arglist>(const dataspeed_ulc_msgs::UlcCmd &amp;cmd)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>dataspeed_ulc_can::speed</name>
    <filename>namespacedataspeed__ulc__can_1_1speed.html</filename>
    <class kind="class">dataspeed_ulc_can::speed::Speed</class>
  </compound>
  <compound kind="namespace">
    <name>setup</name>
    <filename>namespacesetup.html</filename>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>d</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>aa2586b6c4dd84a0aaaf49cb1565cee6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>setup_args</name>
      <anchorfile>namespacesetup.html</anchorfile>
      <anchor>a504ffa482edfe0eff08f64b2f5dff0e9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>speed_sine_wave</name>
    <filename>namespacespeed__sine__wave.html</filename>
    <class kind="class">speed_sine_wave::SpeedSineWave</class>
    <member kind="variable">
      <type></type>
      <name>node_instance</name>
      <anchorfile>namespacespeed__sine__wave.html</anchorfile>
      <anchor>ad0ba586143be34fb50578fc66c8eb7d3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>speed_square_wave</name>
    <filename>namespacespeed__square__wave.html</filename>
    <class kind="class">speed_square_wave::SpeedSquareWave</class>
    <member kind="variable">
      <type></type>
      <name>node_instance</name>
      <anchorfile>namespacespeed__square__wave.html</anchorfile>
      <anchor>a32487cca60ff5acab33c5c2d1313f55a</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
