ros-industrial / ros2_canopen

CANopen driver framework for ROS2
https://ros-industrial.github.io/ros2_canopen/manual/rolling/
159 stars 71 forks source link

Read an entire RPDO message and publish it #302

Open ashwinsushil opened 3 months ago

ashwinsushil commented 3 months ago

Describe the bug I want to create a publisher that publishes the entire 8 bytes in a PDO when master receives a PDO from a device (like an sensor or encoder).

Taking the case of Proxy driver: Currently, there is indeed a topic called /rpdo that publishes each value at an object index-subindex. But this triggered on the OnRpdoWrite callback where it pushes COData into a queue.

I would like to receive the entire PDO instead in one cycle and the time period of this publisher would be Event(ms) described in the eds file of the device(sensors, encoder). Therefore if there are 4 TPDO from the device, there should be 4 publishers..

Could you please suggest some ideas?

Logs Add build or execution log for context.

Setup:

Additional context Add any other context about the problem here.