ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If you are using the canopen_chain_node as is, you can:

  • send a SYNC, disable the SYNC, use the SYNC from another master
  • set/read objects with a service; if the data was mapped to a PDO it will be sent via PDO otherwise via SDO
  • send heatbeats

However, you cannot disable the NMT commands, they are hardcoded in canopen_master.

If you need a different behavior, you have to subclass Node. But there is not yet a mechanism to use a subclassed Node in canopen_chain_node.

Feel free to open a GitHub issue for anything that is missing.

If you are using the canopen_chain_node as is, you can:

  • send a SYNC, disable the SYNC, use the SYNC from another master
  • set/read objects with a service; if the data was mapped to a PDO it will be sent via PDO otherwise via SDO
  • send heatbeats

However, you cannot disable the NMT commands, they are hardcoded in canopen_master.

If you need a different behavior, you have to subclass Node. But there is not yet a mechanism to use a subclassed Node in canopen_chain_node.

Feel free to open a GitHub issue for anything that is missing.

Regarding your vcan problem:

As I outlines above you cannot disable the NMT handling ("could not reset node '1'"). So it seems that device 1 is not present (or emulated). The master cannot reach the slave devices and gives up.

If you are using the canopen_chain_node as is, you can:

  • send a SYNC, disable the SYNC, use the SYNC from another master
  • set/read objects with a service; if the data was mapped to a PDO it will be sent via PDO otherwise via SDO
  • send heatbeats

However, you cannot disable the NMT commands, they are hardcoded in canopen_master.

If you need a different behavior, you have to subclass Node. But there is not yet a mechanism to use a subclassed Node in canopen_chain_node.

Feel free to open a GitHub issue for anything that is missing.

Regarding your vcan problem:

As I outlines outlinef above you cannot disable the NMT handling ("could not reset node '1'"). So it seems that device 1 is not present (or emulated). The master cannot reach the slave devices and gives up.