From 534193bd8ee228274b6c9c42e0f38530f4a2e28a Mon Sep 17 00:00:00 2001 From: mcbed Date: Mon, 24 Apr 2023 12:42:04 +0200 Subject: [PATCH] added doc --- ethercat_driver_ros2/sphinx/index.rst | 1 + .../sphinx/user_guide/sdo_async_com.rst | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 ethercat_driver_ros2/sphinx/user_guide/sdo_async_com.rst diff --git a/ethercat_driver_ros2/sphinx/index.rst b/ethercat_driver_ros2/sphinx/index.rst index b701791..79ae84d 100644 --- a/ethercat_driver_ros2/sphinx/index.rst +++ b/ethercat_driver_ros2/sphinx/index.rst @@ -19,6 +19,7 @@ EtherCAT Driver ROS2 Stack user_guide/config_generic_slave user_guide/config_cia402_drive + user_guide/sdo_async_com .. toctree:: :maxdepth: 1 diff --git a/ethercat_driver_ros2/sphinx/user_guide/sdo_async_com.rst b/ethercat_driver_ros2/sphinx/user_guide/sdo_async_com.rst new file mode 100644 index 0000000..89111e7 --- /dev/null +++ b/ethercat_driver_ros2/sphinx/user_guide/sdo_async_com.rst @@ -0,0 +1,29 @@ +SDO acyclic exchange using ROS2 services +======================================== + +Service Data Objects (SDO) contain object dictionary entries that can be exchanged acyclically. SDO works as a mailbox sending and buffering received data. This communication is acyclic and is dependent on available bandwidth in the communication cycle. This communication is not deterministic and is best suited for transmitting configuration data. + +The EtherCAT Driver ROS2 stack comes with a service server that allows the exchange of data with an EtherCAT slave using ROS2 services through SDO. +The following services are available: + +.. list-table:: + :header-rows: 1 + + * - Service + - Interface + - Description + * - :code:`ethercat_manager/get_sdo` + - :code:`ethercat_msgs::srv::GetSdo` + - Read data from slave SDO register + * - :code:`ethercat_manager/set_sdo` + - :code:`ethercat_msgs::srv::SetSdo` + - Write data to slave SDO register + +Usage +----- + +Build and source the :code:`ethercat_manager` package and run: + +.. code-block:: shell + + $ ros2 run ethercat_manager ethercat_sdo_srv_server