<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>canopen_motor_chain_node.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>canopen__motor__chain__node_8cpp</filename>
    <includes id="motor__chain_8h" name="motor_chain.h" local="no" imported="no">canopen_motor_node/motor_chain.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>canopen__motor__chain__node_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>controller_manager_layer.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>controller__manager__layer_8cpp</filename>
    <includes id="controller__manager__layer_8h" name="controller_manager_layer.h" local="no" imported="no">canopen_motor_node/controller_manager_layer.h</includes>
  </compound>
  <compound kind="file">
    <name>controller_manager_layer.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>controller__manager__layer_8h</filename>
    <includes id="robot__layer_8h" name="robot_layer.h" local="no" imported="no">canopen_motor_node/robot_layer.h</includes>
    <class kind="class">canopen::ControllerManagerLayer</class>
    <namespace>canopen</namespace>
    <namespace>controller_manager</namespace>
  </compound>
  <compound kind="file">
    <name>handle_layer.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>handle__layer_8cpp</filename>
    <includes id="handle__layer_8h" name="handle_layer.h" local="no" imported="no">canopen_motor_node/handle_layer.h</includes>
    <includes id="interface__mapping_8h" name="interface_mapping.h" local="yes" imported="no">interface_mapping.h</includes>
    <class kind="class">LimitsHandle</class>
    <member kind="function">
      <type>void</type>
      <name>addLimitsHandle</name>
      <anchorfile>handle__layer_8cpp.html</anchorfile>
      <anchor>a142e622cd7383e895c91e13f5ac16a85</anchor>
      <arglist>(std::vector&lt; LimitsHandleBaseSharedPtr &gt; &amp;limits, const T &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>prepareFilter</name>
      <anchorfile>handle__layer_8cpp.html</anchorfile>
      <anchor>a5f5e5a51c5b9d16abc170c13dbf3b13c</anchor>
      <arglist>(const std::string &amp;joint_name, const std::string &amp;filter_name, filters::FilterChain&lt; double &gt; &amp;filter, XmlRpc::XmlRpcValue &amp;options, canopen::LayerStatus &amp;status)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>handle_layer.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>handle__layer_8h</filename>
    <includes id="unit__converter_8h" name="unit_converter.h" local="no" imported="no">canopen_motor_node/unit_converter.h</includes>
    <includes id="handle__layer__base_8h" name="handle_layer_base.h" local="no" imported="no">canopen_motor_node/handle_layer_base.h</includes>
    <class kind="struct">canopen::ObjectVariables::Getter</class>
    <class kind="class">canopen::HandleLayer</class>
    <class kind="class">canopen::LimitsHandleBase</class>
    <class kind="class">canopen::ObjectVariables</class>
    <namespace>canopen</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; HandleLayer &gt;</type>
      <name>HandleLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a7e7bb9917600c0cc4f49bc2d91c24ee2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; LimitsHandleBase &gt;</type>
      <name>LimitsHandleBaseSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a82570bb1fe6589994818fd87299ff5bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_DOMAIN &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a61de2294d03331ad83334bd849a0a72b</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_OCTET_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a68eb4a91d9dcc3e5facd7dda3e1a7226</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_UNICODE_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aeaabbcb275997c3048c7ff604acc3324</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_VISIBLE_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a530c0bfca9c1d919ce579ed251565b0f</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>handle_layer_base.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>handle__layer__base_8h</filename>
    <class kind="class">canopen::HandleLayerBase</class>
    <namespace>canopen</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; HandleLayerBase &gt;</type>
      <name>HandleLayerBaseSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>abe840a309ad28c6733d16729a0709281</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>interface_mapping.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>interface__mapping_8h</filename>
    <class kind="class">InterfaceMapping</class>
    <member kind="variable">
      <type>InterfaceMapping</type>
      <name>g_interface_mapping</name>
      <anchorfile>interface__mapping_8h.html</anchorfile>
      <anchor>afc0289fd0606d5610b9c6839250e2a19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>motor_chain.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>motor__chain_8cpp</filename>
    <includes id="motor__chain_8h" name="motor_chain.h" local="no" imported="no">canopen_motor_node/motor_chain.h</includes>
    <includes id="handle__layer_8h" name="handle_layer.h" local="no" imported="no">canopen_motor_node/handle_layer.h</includes>
    <class kind="class">XmlRpcSettings</class>
  </compound>
  <compound kind="file">
    <name>motor_chain.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>motor__chain_8h</filename>
    <includes id="robot__layer_8h" name="robot_layer.h" local="no" imported="no">canopen_motor_node/robot_layer.h</includes>
    <includes id="controller__manager__layer_8h" name="controller_manager_layer.h" local="no" imported="no">canopen_motor_node/controller_manager_layer.h</includes>
    <class kind="class">canopen::MotorChain</class>
    <namespace>canopen</namespace>
  </compound>
  <compound kind="file">
    <name>robot_layer.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/src/</path>
    <filename>robot__layer_8cpp</filename>
    <includes id="robot__layer_8h" name="robot_layer.h" local="no" imported="no">canopen_motor_node/robot_layer.h</includes>
    <includes id="interface__mapping_8h" name="interface_mapping.h" local="yes" imported="no">interface_mapping.h</includes>
    <class kind="class">ModeLookup</class>
    <member kind="variable">
      <type>InterfaceMapping</type>
      <name>g_interface_mapping</name>
      <anchorfile>robot__layer_8cpp.html</anchorfile>
      <anchor>afc0289fd0606d5610b9c6839250e2a19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>robot_layer.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>robot__layer_8h</filename>
    <includes id="handle__layer__base_8h" name="handle_layer_base.h" local="no" imported="no">canopen_motor_node/handle_layer_base.h</includes>
    <class kind="class">canopen::RobotLayer</class>
    <class kind="struct">canopen::RobotLayer::SwitchData</class>
    <namespace>canopen</namespace>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; RobotLayer &gt;</type>
      <name>RobotLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a078897605de979e12b78d1b4c34bbc52</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_muparser.cpp</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/test/</path>
    <filename>test__muparser_8cpp</filename>
    <includes id="unit__converter_8h" name="unit_converter.h" local="no" imported="no">canopen_motor_node/unit_converter.h</includes>
    <includes id="handle__layer_8h" name="handle_layer.h" local="no" imported="no">canopen_motor_node/handle_layer.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__muparser_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>mapVariable</name>
      <anchorfile>test__muparser_8cpp.html</anchorfile>
      <anchor>a640bc9412ebf99617917cdf83c9141e2</anchor>
      <arglist>(const std::string &amp;, double *p)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__muparser_8cpp.html</anchorfile>
      <anchor>a5eef9e43d2ddc253ebe262959cbfe27f</anchor>
      <arglist>(TestMuparser, CheckNorm)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>unit_converter.h</name>
    <path>/tmp/ws/src/ros_canopen/canopen_motor_node/include/canopen_motor_node/</path>
    <filename>unit__converter_8h</filename>
    <class kind="class">canopen::UnitConverter</class>
    <namespace>canopen</namespace>
  </compound>
  <compound kind="class">
    <name>canopen::ControllerManagerLayer</name>
    <filename>classcanopen_1_1ControllerManagerLayer.html</filename>
    <base>canopen::Layer</base>
    <member kind="function">
      <type></type>
      <name>ControllerManagerLayer</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a0570d08cdce7bbfdf7196bc10b2cfc11</anchor>
      <arglist>(const canopen::RobotLayerSharedPtr robot, const ros::NodeHandle &amp;nh, const ros::Duration &amp;fixed_period)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleDiag</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>ac426871850232ad88d1dba06f3445229</anchor>
      <arglist>(canopen::LayerReport &amp;report)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleHalt</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a9928d35cde7bc4811cd252d1d1eb6216</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleInit</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a99280874fbde9a3c7aea151ce7db2d6c</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleRead</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a124677da410b5d7af9706c7d4e46bafc</anchor>
      <arglist>(canopen::LayerStatus &amp;status, const LayerState &amp;current_state)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleRecover</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a07cdf563b22fce157dd165239dc7161d</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleShutdown</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>afe556c8c2be774e142f2f84f316419ec</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleWrite</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a6f37650c33fa2f19dae5f68710547019</anchor>
      <arglist>(canopen::LayerStatus &amp;status, const LayerState &amp;current_state)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; controller_manager::ControllerManager &gt;</type>
      <name>cm_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a18a826281324a9d3ded462691beee34b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ros::Duration</type>
      <name>fixed_period_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>afcf2833b68ab268489008369e78b6b48</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>canopen::time_point</type>
      <name>last_time_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>ab51772ac8b5e4ecf599f025bded16990</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a09cef265ceca6477f73699a2f9a05f1a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; bool &gt;</type>
      <name>recover_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a65ad566028f37d08d8fd7ff820b11071</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>canopen::RobotLayerSharedPtr</type>
      <name>robot_</name>
      <anchorfile>classcanopen_1_1ControllerManagerLayer.html</anchorfile>
      <anchor>a193c8530beaa8e4dda7d85c69489c57a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>canopen::ObjectVariables::Getter</name>
    <filename>structcanopen_1_1ObjectVariables_1_1Getter.html</filename>
    <member kind="function">
      <type></type>
      <name>Getter</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>a3cc7a6e52c572419cd0d4c2a4c201021</anchor>
      <arglist>(const ObjectStorage::Entry&lt; T &gt; &amp;entry)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator double *</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>aec352a3112c5f15154d8e879e21cbf96</anchor>
      <arglist>() const </arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator()</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>a6e415d21bb1fb01d62507a3cb66313d8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>readObject</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>a85c70d96c407f4810cf620deb35da196</anchor>
      <arglist>(ObjectStorage::Entry&lt; T &gt; &amp;entry, double &amp;res)</arglist>
    </member>
    <member kind="variable">
      <type>boost::function&lt; bool(double &amp;)&gt;</type>
      <name>func</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>aaf51ee32a1166a192825f02ddd7660a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>boost::shared_ptr&lt; double &gt;</type>
      <name>val_ptr</name>
      <anchorfile>structcanopen_1_1ObjectVariables_1_1Getter.html</anchorfile>
      <anchor>aa5e85e8a08de3201224b21152d4adc09</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::HandleLayer</name>
    <filename>classcanopen_1_1HandleLayer.html</filename>
    <base>canopen::HandleLayerBase</base>
    <member kind="function">
      <type>CanSwitchResult</type>
      <name>canSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a3e27b8309dc8493e148393c69bc9a09a</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enableLimits</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a32a345542f4c7212b80eeb492de29bb3</anchor>
      <arglist>(bool enable)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enforceLimits</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a8bad977f9455354d3a11fc59590fecaf</anchor>
      <arglist>(const ros::Duration &amp;period, bool reset)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>forwardForMode</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>af968bbee51f335b308af0fb660c802bc</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>HandleLayer</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a323587619b8a5755501a41f94bbcf3f1</anchor>
      <arglist>(const std::string &amp;name, const canopen::MotorBaseSharedPtr &amp;motor, const canopen::ObjectStorageSharedPtr storage, XmlRpc::XmlRpcValue &amp;options)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>prepareFilters</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ac5b8a56f2adf2ea430315b1ed8710960</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a0f5b061dfe207753701e05969fe40946</anchor>
      <arglist>(hardware_interface::JointStateInterface &amp;iface)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a56e52537600d77018e0c7baf435b6558</anchor>
      <arglist>(hardware_interface::PositionJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a08bcfbd02cb4d5308dcb9dabd8456950</anchor>
      <arglist>(hardware_interface::VelocityJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)</arglist>
    </member>
    <member kind="function">
      <type>hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a1c40cad7c0d4c3170c43736a32d75e12</anchor>
      <arglist>(hardware_interface::EffortJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>switchMode</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>aa75069b1d165c8d768f5fedafbd36e5a</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double *</type>
      <name>assignVariable</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a0b09c6b336977ff7ec45a7ddb19515b6</anchor>
      <arglist>(const std::string &amp;name, double *ptr, const std::string &amp;req)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::unordered_map&lt; MotorBase::OperationMode, hardware_interface::JointHandle * &gt;</type>
      <name>CommandMap</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a0f6c97bfcbe1d79fc8581365faaebf90</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>hardware_interface::JointHandle *</type>
      <name>addHandle</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ab8a0464f8e8b8bd0888cfadc357023a4</anchor>
      <arglist>(T &amp;iface, hardware_interface::JointHandle *jh, const std::vector&lt; MotorBase::OperationMode &gt; &amp;modes)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleDiag</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a6104227113b86236e92b738ac9ccdf0a</anchor>
      <arglist>(canopen::LayerReport &amp;report)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleHalt</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>adb1e4c459e5912a52443142db710fd1c</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleInit</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>af59be74889740ce677e601f1b2e535da</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleRead</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a459a3de46bc153dcb8ebb28f3f7a50fa</anchor>
      <arglist>(canopen::LayerStatus &amp;status, const LayerState &amp;current_state)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleRecover</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a248fe828640c5a553cc74281806ffce3</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleShutdown</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a4c9a2a6708f7b7dcf665bcfed8e5e8fe</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual void</type>
      <name>handleWrite</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>afb379a52a3f4b0c08d7c8ae81401987b</anchor>
      <arglist>(canopen::LayerStatus &amp;status, const LayerState &amp;current_state)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>select</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>af1067c1f4f6b35cf63df13d9b47a87e0</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_eff_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a90c535709f4c7e9020209bcbdad72506</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_pos_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a993d6d145f9dae9e79763f9bf3a43a4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>cmd_vel_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ab72c92e2a4c851b747b76394023569c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>CommandMap</type>
      <name>commands_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a31bedd6ecca48e3619f59806fc4b4439</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_eff_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ae763a8206272e6846967af0ae4c91da3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_pos_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a9b2a9b8f483a0b4f5dcecaf944c1f38e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_target_eff_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>aacafbda0b6ec0046f7175e0722c77359</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_target_pos_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a330c3690226bec1c18efad6073ebc2d7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_target_vel_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a671fd29f1dfa75c07d2df4833b0e3969</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::scoped_ptr&lt; UnitConverter &gt;</type>
      <name>conv_vel_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a7000600ba5b77117ac43bc65eb009385</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>eff_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a8e3dae9420126cc730c40c2d3a8b5afc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>enable_limits_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>af977a0463ecc0dc84d0006335fa5dea5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::FilterChain&lt; double &gt;</type>
      <name>filter_eff_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ade090edd4a79dcbef94ba577a0bbd2d9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::FilterChain&lt; double &gt;</type>
      <name>filter_pos_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ab6d16d83f55fb05e72b5d9a3aeca3519</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>filters::FilterChain&lt; double &gt;</type>
      <name>filter_vel_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a4aad2542a81e9e370811c9369e8c9bbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; bool &gt;</type>
      <name>forward_command_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>acb727108e2fa7a230e07f6b4022436bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointHandle</type>
      <name>jeh_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a20e503fae1fb673ee13c350b599c53cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; hardware_interface::JointHandle * &gt;</type>
      <name>jh_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ae9ea7adae7bc0eee54fb4e8480e73ed9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointHandle</type>
      <name>jph_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a9c25ea4d49e69643fa443dc8e7d55e4f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointStateHandle</type>
      <name>jsh_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ab945cebe09d6b438f2af9523a8eb3df2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointHandle</type>
      <name>jvh_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a9155e7bb253a872e5b54a9ac37dec5e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; LimitsHandleBaseSharedPtr &gt;</type>
      <name>limits_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a5b186468ac4031be71680991bbc9e150</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>canopen::MotorBaseSharedPtr</type>
      <name>motor_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>acf9006864fc17dbe7116d3cc72303c94</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>options_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a0e8ea65e8237f732526d56b365b2caf2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>pos_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ad3c1012f2d8468b9e4bd362960f1147b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ObjectVariables</type>
      <name>variables_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>ae45d89cdae34bf5eaa1ca8e43cccdedd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>vel_</name>
      <anchorfile>classcanopen_1_1HandleLayer.html</anchorfile>
      <anchor>a4138208bb6b3e8a97787af478efb8bf3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::HandleLayerBase</name>
    <filename>classcanopen_1_1HandleLayerBase.html</filename>
    <base>canopen::Layer</base>
    <member kind="enumeration">
      <type></type>
      <name>CanSwitchResult</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NotSupported</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fafca21912944b02f2eff4b4c93a9e9159</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NotReadyToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa8389cc5a219cef967f7a0c5e19e30477</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ReadyToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa36e12c9986d37b709fdc80dfc575c808</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NoNeedToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa8a01f854ecedca9cc57e92971d729f97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NoNeedToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa8a01f854ecedca9cc57e92971d729f97</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NotReadyToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa8389cc5a219cef967f7a0c5e19e30477</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>NotSupported</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fafca21912944b02f2eff4b4c93a9e9159</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>ReadyToSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a61e8524f5b50af7366abb8843ea1853fa36e12c9986d37b709fdc80dfc575c808</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual CanSwitchResult</type>
      <name>canSwitch</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>afd7d5b319fdd133a95c62f1cd76fd2e1</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>enableLimits</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a582bb5cc6d3a0f3d3b131a3cd5b00eac</anchor>
      <arglist>(bool enable)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>enforceLimits</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a963b56248494f1a4a047c29af68eeb42</anchor>
      <arglist>(const ros::Duration &amp;period, bool reset)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>forwardForMode</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a2887b9f3070eebd0416110a3570c398f</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)=0</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>HandleLayerBase</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a09ad1e711fa7b984c9bb9ed22304a827</anchor>
      <arglist>(const std::string &amp;name)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a89500f8c255601be1789e4b0dc80ec04</anchor>
      <arglist>(hardware_interface::JointStateInterface &amp;iface)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a73c2911992d820a83ee65d522454ea31</anchor>
      <arglist>(hardware_interface::PositionJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a619ececbec6502679bf87df5db674ff0</anchor>
      <arglist>(hardware_interface::VelocityJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual hardware_interface::JointHandle *</type>
      <name>registerHandle</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>af99c997c09e627ffaa52de0434a3a501</anchor>
      <arglist>(hardware_interface::EffortJointInterface &amp;iface, const joint_limits_interface::JointLimits &amp;limits, const joint_limits_interface::SoftJointLimits *soft_limits=0)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>switchMode</name>
      <anchorfile>classcanopen_1_1HandleLayerBase.html</anchorfile>
      <anchor>a9ef0bd4db16a04ae98c02fdf989cccdc</anchor>
      <arglist>(const canopen::MotorBase::OperationMode &amp;m)=0</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>InterfaceMapping</name>
    <filename>classInterfaceMapping.html</filename>
    <member kind="function">
      <type>std::vector&lt; canopen::MotorBase::OperationMode &gt;</type>
      <name>getInterfaceModes</name>
      <anchorfile>classInterfaceMapping.html</anchorfile>
      <anchor>a995c4395c8ae10ac2afd6d3b026b6aef</anchor>
      <arglist>(const std::string &amp;interface)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasConflict</name>
      <anchorfile>classInterfaceMapping.html</anchorfile>
      <anchor>a6d22688f0be2ba43ab397223d9988913</anchor>
      <arglist>(const std::string &amp;interface, canopen::MotorBase::OperationMode mode)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>InterfaceMapping</name>
      <anchorfile>classInterfaceMapping.html</anchorfile>
      <anchor>a0c4d11801e50687ab11ce8c1ca294516</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::bimap&lt; boost::bimaps::multiset_of&lt; std::string &gt;, boost::bimaps::set_of&lt; canopen::MotorBase::OperationMode &gt; &gt;</type>
      <name>bimap_type</name>
      <anchorfile>classInterfaceMapping.html</anchorfile>
      <anchor>a8db47d0ac452f382497b1a59120fc0ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bimap_type</type>
      <name>mapping_</name>
      <anchorfile>classInterfaceMapping.html</anchorfile>
      <anchor>acaa85b9785ba07b33db41949d2bfe457</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>LimitsHandle</name>
    <filename>classLimitsHandle.html</filename>
    <templarg></templarg>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>enforce</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a8c4927cd27753a3f1a788e6705bddcfe</anchor>
      <arglist>(const ros::Duration &amp;period)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LimitsHandle</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a0e2948db6d28bd3d52be3ed7a63eeca4</anchor>
      <arglist>(const T &amp;handle)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>reset</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a26d5c54de387314d7f7d00e16d5f679f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a328892296cfb3f38171c13bddc12ed95</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a586cfd920239bf83ac5aebe687df619e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>T</type>
      <name>limits_handle_</name>
      <anchorfile>classLimitsHandle.html</anchorfile>
      <anchor>a3b8173fe5544743e55230dec131589bd</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::LimitsHandleBase</name>
    <filename>classcanopen_1_1LimitsHandleBase.html</filename>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; LimitsHandleBase &gt; Ptr</type>
      <name>ROS_DEPRECATED</name>
      <anchorfile>classcanopen_1_1LimitsHandleBase.html</anchorfile>
      <anchor>a40442789b01dc8e4f8b4a39994561827</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>enforce</name>
      <anchorfile>classcanopen_1_1LimitsHandleBase.html</anchorfile>
      <anchor>af817c9dc2de9a0eed59bfc4bace423a4</anchor>
      <arglist>(const ros::Duration &amp;period)=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>reset</name>
      <anchorfile>classcanopen_1_1LimitsHandleBase.html</anchorfile>
      <anchor>affe847d0aacf1f67f04cb7b4231d08e6</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~LimitsHandleBase</name>
      <anchorfile>classcanopen_1_1LimitsHandleBase.html</anchorfile>
      <anchor>a1406e06c42d554bec46b817f6fedd71e</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>ModeLookup</name>
    <filename>classModeLookup.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>getMode</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>a95dccd70311f34a6f3efc95d3ee17315</anchor>
      <arglist>(MotorBase::OperationMode &amp;om, const std::string &amp;key)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasMixedModes</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>a7e33bf0415f8daaba8d3b840082d2e6c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasModes</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>a2b0be55342785533f1c6f7b264a612ea</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ModeLookup</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>aaa0f4f5fc39b2a40cfbb90844235dc56</anchor>
      <arglist>(ros::NodeHandle &amp;nh_c)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int</type>
      <name>default_mode_</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>ad3d1bb48359ad4f0b5c5b8e245638e6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>has_default_mode_</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>acfcbb69583714743cb523d53a42f0de4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>has_lookup_</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>a4eaedfe6bc3ca8f2a6a55f21a3430da6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::map&lt; std::string, int &gt;</type>
      <name>lookup_</name>
      <anchorfile>classModeLookup.html</anchorfile>
      <anchor>a2b6ffe0de2627e815fc6d9097c9e5d19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::MotorChain</name>
    <filename>classcanopen_1_1MotorChain.html</filename>
    <base>canopen::RosChain</base>
    <member kind="function">
      <type></type>
      <name>MotorChain</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a6427402a65c0f535e21eb7c746f2f276</anchor>
      <arglist>(const ros::NodeHandle &amp;nh, const ros::NodeHandle &amp;nh_priv)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>setup_chain</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a250bb528b92ab5f2d560fc53eda3661c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>nodeAdded</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a2288008d9a81b8e12da620883995689c</anchor>
      <arglist>(XmlRpc::XmlRpcValue &amp;params, const canopen::NodeSharedPtr &amp;node, const LoggerSharedPtr &amp;logger)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; ControllerManagerLayer &gt;</type>
      <name>cm_</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a68f5cd0f8ea4db6685e05dfc7e3ab746</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ClassAllocator&lt; canopen::MotorBase &gt;</type>
      <name>motor_allocator_</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a129355414f698abec64f6ae8ea7e57c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::shared_ptr&lt; canopen::LayerGroupNoDiag&lt; canopen::MotorBase &gt; &gt;</type>
      <name>motors_</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a31b8ea960bbf6325baaf3282d6f4c38f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>RobotLayerSharedPtr</type>
      <name>robot_layer_</name>
      <anchorfile>classcanopen_1_1MotorChain.html</anchorfile>
      <anchor>a1618fb648d102704d5ed6aa5e5efb7b8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::ObjectVariables</name>
    <filename>classcanopen_1_1ObjectVariables.html</filename>
    <class kind="struct">canopen::ObjectVariables::Getter</class>
    <member kind="function">
      <type>double *</type>
      <name>getVariable</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>af68d244f4243d223df3b46af8731ce3a</anchor>
      <arglist>(const std::string &amp;n)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ObjectVariables</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>ab7abdb5f2eeeef664e70f07a7175858d</anchor>
      <arglist>(const ObjectStorageSharedPtr storage)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>sync</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>a84c521dfd909c046e87b5868e750f1fa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double *</type>
      <name>func</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>a5f622a424bff0e5a28a44a8c88cf0d2c</anchor>
      <arglist>(ObjectVariables &amp;list, const canopen::ObjectDict::Key &amp;key)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::unordered_map&lt; ObjectDict::Key, Getter &gt;</type>
      <name>getters_</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>aaeb669095b621ef26707df43ff76b9b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::mutex</type>
      <name>mutex_</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>a4124bb906856f8f91b1b5a833e1e1081</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ObjectStorageSharedPtr</type>
      <name>storage_</name>
      <anchorfile>classcanopen_1_1ObjectVariables.html</anchorfile>
      <anchor>a759644eda3234dbf797e31861d0d35e2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::RobotLayer</name>
    <filename>classcanopen_1_1RobotLayer.html</filename>
    <base>LayerGroupNoDiag&lt; HandleLayerBase &gt;</base>
    <base>hardware_interface::RobotHW</base>
    <class kind="struct">canopen::RobotLayer::SwitchData</class>
    <member kind="function">
      <type>void</type>
      <name>add</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ab1dd533be95477a3a81a253123bc9494</anchor>
      <arglist>(const std::string &amp;name, HandleLayerBaseSharedPtr handle)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>doSwitch</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>aa4a9864bc3db3fa21d5e04505ef34e9d</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>enforce</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a47548fe080dba0af3c7f51e0203b355d</anchor>
      <arglist>(const ros::Duration &amp;period, bool reset)</arglist>
    </member>
    <member kind="function">
      <type>urdf::JointConstSharedPtr</type>
      <name>getJoint</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a03cd23f4fa0ad73c78cba5715845969f</anchor>
      <arglist>(const std::string &amp;n) const </arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>handleInit</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a7a71608b6753e513a3cdf348495d05fe</anchor>
      <arglist>(canopen::LayerStatus &amp;status)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>prepareSwitch</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ada6a14d6dcc623942a750ed0c67b12e4</anchor>
      <arglist>(const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;start_list, const std::list&lt; hardware_interface::ControllerInfo &gt; &amp;stop_list)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>RobotLayer</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a045d8f2ab002cc4280d8c9a253c1a372</anchor>
      <arglist>(ros::NodeHandle nh)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::unordered_map&lt; std::string, HandleLayerBaseSharedPtr &gt;</type>
      <name>HandleMap</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>af311a0291172a45d26ba8458101ad727</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::vector&lt; SwitchData &gt;</type>
      <name>SwitchContainer</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ad2031d2862a4dfd40be4e5993eb7102c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::unordered_map&lt; std::string, SwitchContainer &gt;</type>
      <name>SwitchMap</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a571ffbd407cd88fff4da962ddbffda4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>stopControllers</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a88ca0fa012eff55ca2d72a83420da564</anchor>
      <arglist>(const std::vector&lt; std::string &gt; controllers)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::EffortJointInterface</type>
      <name>eff_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a071108cd4a28b09316b9a296f016e11b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::EffortJointSaturationInterface</type>
      <name>eff_saturation_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ae652794034e679d460bbfde5aec66778</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::EffortJointSoftLimitsInterface</type>
      <name>eff_soft_limits_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a60cfcc7e7c8327ef516376e762351b80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::atomic&lt; bool &gt;</type>
      <name>first_init_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>af6da40cddfe76295e6946e6403ff99a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>HandleMap</type>
      <name>handles_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>aa0a50238fb6652b433dcdf27cff6cfd5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a5f89908f394af8973cbb6908e878d862</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::PositionJointInterface</type>
      <name>pos_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ab83078825b9bc9a8b78c15c6fd28dd54</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::PositionJointSaturationInterface</type>
      <name>pos_saturation_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>addd3274396a099b83c4cd5db02fbd9a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::PositionJointSoftLimitsInterface</type>
      <name>pos_soft_limits_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a3b857ca1ddd1cd70e68d6476fa0cf31c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::JointStateInterface</type>
      <name>state_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a513c59486a260c90fb1e9a7cc8cb1011</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>SwitchMap</type>
      <name>switch_map_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ab3757e9be23fabaad882792affabccef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>urdf::Model</type>
      <name>urdf_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a7a41d63a35bdb44d7d1ae0b2485a0fbd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>hardware_interface::VelocityJointInterface</type>
      <name>vel_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a733f4ca7d3b97d10dcf2b19e049f8345</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::VelocityJointSaturationInterface</type>
      <name>vel_saturation_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>a0c6b3c7d8c1ab69a81233e1d51a8c72b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>joint_limits_interface::VelocityJointSoftLimitsInterface</type>
      <name>vel_soft_limits_interface_</name>
      <anchorfile>classcanopen_1_1RobotLayer.html</anchorfile>
      <anchor>ac4a4254d5db0fad3fe2a1bc82f7325a1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>canopen::RobotLayer::SwitchData</name>
    <filename>structcanopen_1_1RobotLayer_1_1SwitchData.html</filename>
    <member kind="variable">
      <type>bool</type>
      <name>enforce_limits</name>
      <anchorfile>structcanopen_1_1RobotLayer_1_1SwitchData.html</anchorfile>
      <anchor>a49da8e841d8a1d9a948046f208a43d66</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>HandleLayerBaseSharedPtr</type>
      <name>handle</name>
      <anchorfile>structcanopen_1_1RobotLayer_1_1SwitchData.html</anchorfile>
      <anchor>a70c5dd4f1ecc3206849ff644e28b319f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>canopen::MotorBase::OperationMode</type>
      <name>mode</name>
      <anchorfile>structcanopen_1_1RobotLayer_1_1SwitchData.html</anchorfile>
      <anchor>ae82a8285d842ccdf191af7e5056bc2f8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>canopen::UnitConverter</name>
    <filename>classcanopen_1_1UnitConverter.html</filename>
    <member kind="typedef">
      <type>boost::function&lt; double *(const std::string &amp;) &gt; get_var_func_type</type>
      <name>__attribute__</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a93c2893b32e09e6972abb51780861def</anchor>
      <arglist>((deprecated))</arglist>
    </member>
    <member kind="typedef">
      <type>boost::function&lt; double *(const std::string &amp;) &gt;</type>
      <name>GetVarFuncType</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a1243ca593f3e9e71797b4f9a59a1a694</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>evaluate</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a97548d694a321cba3ed9fc49c62cf10d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a5087561fb9b387245e39af38ca40e3ee</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UnitConverter</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>aa2a2236c3729802df7a68128f863b882</anchor>
      <arglist>(const std::string &amp;expression, GetVarFuncType var_func)</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::shared_ptr&lt; double &gt;</type>
      <name>variable_ptr</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a545228c6c5fc7293f6862d2b6af38ef3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>std::list&lt; variable_ptr &gt;</type>
      <name>variable_ptr_list</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a4a77c388a63e051f5b04826b8f849954</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>avg</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>ac4c4cd5cedb4adece9803b59ecb64948</anchor>
      <arglist>(const double *vals, int num)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double *</type>
      <name>createVariable</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>ad528f7ccd5481b178303ef50c05ab650</anchor>
      <arglist>(const char *name, void *userdata)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>deg2rad</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a43a30ae9cce9130385c8774de0b872aa</anchor>
      <arglist>(double d)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>norm</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a0aaae9ca26d1110a72d1af6bc4eb9cc9</anchor>
      <arglist>(double val, double min, double max)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>rad2deg</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a51db25d399b902376d237646896085ca</anchor>
      <arglist>(double r)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static double</type>
      <name>smooth</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a4018a8f4be065bf7dc4270c198452ec9</anchor>
      <arglist>(double val, double old_val, double alpha)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>mu::Parser</type>
      <name>parser_</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>afd8076275abc51f29372f6c0cc4ee2d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>GetVarFuncType</type>
      <name>var_func_</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>aa4b51278f3754cd2fa56e43721cd80aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>variable_ptr_list</type>
      <name>var_list_</name>
      <anchorfile>classcanopen_1_1UnitConverter.html</anchorfile>
      <anchor>a8c3f71bbe60991937861fa37c79497b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>XmlRpcSettings</name>
    <filename>classXmlRpcSettings.html</filename>
    <base>canopen::Settings</base>
    <member kind="function">
      <type>XmlRpcSettings &amp;</type>
      <name>operator=</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>ada5c74da7ba0a9ab8eec92d17ef0c11b</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;v)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>XmlRpcSettings</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>ae1f47ca949a152dee0ac1a4c40bb96d2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>XmlRpcSettings</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a5c38076bd1568e5772db8e8c6c23ff71</anchor>
      <arglist>(const XmlRpc::XmlRpcValue &amp;v)</arglist>
    </member>
    <member kind="function" protection="private" virtualness="virtual">
      <type>virtual bool</type>
      <name>getRepr</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>af81a550fc6477b4dac44ed2d5de8a90e</anchor>
      <arglist>(const std::string &amp;n, std::string &amp;repr) const </arglist>
    </member>
    <member kind="variable" protection="private">
      <type>XmlRpc::XmlRpcValue</type>
      <name>value_</name>
      <anchorfile>classXmlRpcSettings.html</anchorfile>
      <anchor>a5d9a8e3018f166530de68640277278f9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>canopen</name>
    <filename>namespacecanopen.html</filename>
    <class kind="class">canopen::ControllerManagerLayer</class>
    <class kind="class">canopen::HandleLayer</class>
    <class kind="class">canopen::HandleLayerBase</class>
    <class kind="class">canopen::LimitsHandleBase</class>
    <class kind="class">canopen::MotorChain</class>
    <class kind="class">canopen::ObjectVariables</class>
    <class kind="class">canopen::RobotLayer</class>
    <class kind="class">canopen::UnitConverter</class>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Cyclic_Synchronous_Position, int32_t, 0x607A, 0, 0 &gt;</type>
      <name>CyclicSynchronousPositionMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ac795bd52d1fb401fbf60b3b2c51fb9eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Cyclic_Synchronous_Torque, int16_t, 0x6071, 0, 0 &gt;</type>
      <name>CyclicSynchronousTorqueMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a8d2df2f94825fc7eada9026d77de0e03</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Cyclic_Synchronous_Velocity, int32_t, 0x60FF, 0, 0 &gt;</type>
      <name>CyclicSynchronousVelocityMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a63b116f84490848b7b02eb91c94c0118</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; ExternalSyncLayer &gt;</type>
      <name>ExternalMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ae8f9463ad90ca7618a8d706721976e08</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; ExternalSyncLayer &gt;</type>
      <name>ExternalMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ae8f9463ad90ca7618a8d706721976e08</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; ExternalSyncLayer &gt;</type>
      <name>ExternalMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ae8f9463ad90ca7618a8d706721976e08</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; HandleLayerBase &gt;</type>
      <name>HandleLayerBaseSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>abe840a309ad28c6733d16729a0709281</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; HandleLayer &gt;</type>
      <name>HandleLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a7e7bb9917600c0cc4f49bc2d91c24ee2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Interpolated_Position, int32_t, 0x60C1, 0x01,(1&lt;&lt; Command402::CW_Operation_mode_specific0)&gt;</type>
      <name>InterpolatedPositionMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aae1a4d97edef22501883f99d192bf43d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; LimitsHandleBase &gt;</type>
      <name>LimitsHandleBaseSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a82570bb1fe6589994818fd87299ff5bc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Logger &gt;</type>
      <name>LoggerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a478375ea718688d92ac84b18d18a1e2b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Master::MasterSharedPtr</type>
      <name>MasterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a7f2430da5c7b38f43edb7ac2a6968773</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Master::MasterSharedPtr</type>
      <name>MasterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a7f2430da5c7b38f43edb7ac2a6968773</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>Master::MasterSharedPtr</type>
      <name>MasterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a7f2430da5c7b38f43edb7ac2a6968773</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Mode &gt;</type>
      <name>ModeSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a4039f4b39e85c082204c5d44e57acabe</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>MotorBase::MotorBaseSharedPtr</type>
      <name>MotorBaseSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a69179cba208bbf95a599f44631054282</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Node &gt;</type>
      <name>NodeSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af08a3ac2c84b470e2205b27f8827161d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Node &gt;</type>
      <name>NodeSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af08a3ac2c84b470e2205b27f8827161d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; Node &gt;</type>
      <name>NodeSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af08a3ac2c84b470e2205b27f8827161d</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const ObjectDict &gt;</type>
      <name>ObjectDictConstSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a3d1b3b2ea2396d2f29b5c2847c037698</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const ObjectDict &gt;</type>
      <name>ObjectDictConstSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a3d1b3b2ea2396d2f29b5c2847c037698</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; const ObjectDict &gt;</type>
      <name>ObjectDictConstSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a3d1b3b2ea2396d2f29b5c2847c037698</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectDict::ObjectDictSharedPtr</type>
      <name>ObjectDictSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab853eea67abb0096a4d4015d8a5ca383</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectDict::ObjectDictSharedPtr</type>
      <name>ObjectDictSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab853eea67abb0096a4d4015d8a5ca383</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectDict::ObjectDictSharedPtr</type>
      <name>ObjectDictSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab853eea67abb0096a4d4015d8a5ca383</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectStorage::ObjectStorageSharedPtr</type>
      <name>ObjectStorageSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab4e75c46aa0fefd848c950721016ee9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectStorage::ObjectStorageSharedPtr</type>
      <name>ObjectStorageSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab4e75c46aa0fefd848c950721016ee9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ObjectStorage::ObjectStorageSharedPtr</type>
      <name>ObjectStorageSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab4e75c46aa0fefd848c950721016ee9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Profiled_Torque, int16_t, 0x6071, 0, 0 &gt;</type>
      <name>ProfiledTorqueMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a268ba7021adf31a2e2fb5cafb05aea24</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Profiled_Velocity, int32_t, 0x60FF, 0, 0 &gt;</type>
      <name>ProfiledVelocityMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a945574157e57fc36bd9fe58199d01695</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; RobotLayer &gt;</type>
      <name>RobotLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a078897605de979e12b78d1b4c34bbc52</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; SimpleSyncLayer &gt;</type>
      <name>SimpleMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af33bf2cf8a7f83b53716d76568385425</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; SimpleSyncLayer &gt;</type>
      <name>SimpleMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af33bf2cf8a7f83b53716d76568385425</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>WrapMaster&lt; SimpleSyncLayer &gt;</type>
      <name>SimpleMaster</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>af33bf2cf8a7f83b53716d76568385425</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncCounter &gt;</type>
      <name>SyncCounterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a4df4787f6d79fc69271ecc57d0af95c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncCounter &gt;</type>
      <name>SyncCounterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a4df4787f6d79fc69271ecc57d0af95c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncCounter &gt;</type>
      <name>SyncCounterSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a4df4787f6d79fc69271ecc57d0af95c0</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncLayer &gt;</type>
      <name>SyncLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aecea33ed8ecf4b3d9aa9067d1c92fea8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncLayer &gt;</type>
      <name>SyncLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aecea33ed8ecf4b3d9aa9067d1c92fea8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; SyncLayer &gt;</type>
      <name>SyncLayerSharedPtr</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aecea33ed8ecf4b3d9aa9067d1c92fea8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::duration</type>
      <name>time_duration</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a6ba2d15f009c4011a408a39663ea5264</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::duration</type>
      <name>time_duration</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a6ba2d15f009c4011a408a39663ea5264</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::duration</type>
      <name>time_duration</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a6ba2d15f009c4011a408a39663ea5264</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::time_point</type>
      <name>time_point</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a871e89c0295e2ee21285ce7d2839a960</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::time_point</type>
      <name>time_point</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a871e89c0295e2ee21285ce7d2839a960</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::chrono::high_resolution_clock::time_point</type>
      <name>time_point</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a871e89c0295e2ee21285ce7d2839a960</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ModeForwardHelper&lt; MotorBase::Velocity, int16_t, 0x6042, 0,(1&lt;&lt; Command402::CW_Operation_mode_specific0)|(1&lt;&lt; Command402::CW_Operation_mode_specific1)|(1&lt;&lt; Command402::CW_Operation_mode_specific2)&gt;</type>
      <name>VelocityMode</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a4134286891ae3802d8b021057a58302b</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>addLoggerEntries</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a9cbd0e2f6670d99412e13559c0260d1a</anchor>
      <arglist>(XmlRpc::XmlRpcValue merged, const std::string param, uint8_t level, Logger &amp;logger)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static R *</type>
      <name>branch_type</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a473bf28a8bbea2fadf5e3fa0d626c735</anchor>
      <arglist>(const uint16_t data_type)</arglist>
    </member>
    <member kind="function">
      <type>time_point</type>
      <name>get_abs_time</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ab84c59bc8a7f0ecb24c96b6d085fff98</anchor>
      <arglist>(const time_duration &amp;timeout)</arglist>
    </member>
    <member kind="function">
      <type>time_point</type>
      <name>get_abs_time</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a3e92c863290655b130984e6d9c780049</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>hash_value</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ae4fee86136588479cccba0e1f0cb0aee</anchor>
      <arglist>(ObjectDict::Key const &amp;k)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>join</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>abb5414c13fde3e81d51f3d2cd51e9df6</anchor>
      <arglist>(const T &amp;container, const std::string &amp;delim)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_DOMAIN &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a61de2294d03331ad83334bd849a0a72b</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_OCTET_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a68eb4a91d9dcc3e5facd7dda3e1a7226</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_UNICODE_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>aeaabbcb275997c3048c7ff604acc3324</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>double *</type>
      <name>ObjectVariables::func&lt; canopen::ObjectDict::DEFTYPE_VISIBLE_STRING &gt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a530c0bfca9c1d919ce579ed251565b0f</anchor>
      <arglist>(ObjectVariables &amp;, const canopen::ObjectDict::Key &amp;)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a44ff1a4629298158ca8df4e6e516981b</anchor>
      <arglist>(std::ostream &amp;stream, const NodeIdOffset&lt; T &gt; &amp;n)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>a538b00f30d530ac25ad0fa8ca6bfe772</anchor>
      <arglist>(std::ostream &amp;stream, const ObjectDict::Key &amp;k)</arglist>
    </member>
    <member kind="function">
      <type>std::pair&lt; std::string, bool &gt;</type>
      <name>parseObjectName</name>
      <anchorfile>namespacecanopen.html</anchorfile>
      <anchor>ae485924544f45c4f34178a19e06b70a4</anchor>
      <arglist>(std::string obj_name)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>controller_manager</name>
    <filename>namespacecontroller__manager.html</filename>
    <member kind="typedef">
      <type>boost::shared_ptr&lt; ControllerLoaderInterface &gt;</type>
      <name>ControllerLoaderInterfaceSharedPtr</name>
      <anchorfile>namespacecontroller__manager.html</anchorfile>
      <anchor>ada3faf6413eef105f521fc31ec83f97c</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
