Class NodeCanopenDriverInterface

Inheritance Relationships

Derived Type

Class Documentation

class NodeCanopenDriverInterface

Node Canopen Driver Interface.

This node provides the interface for NodeCanopenDriver classes that provide ROS node independent CANopen functionality.

Subclassed by ros2_canopen::node_interfaces::NodeCanopenDriver< NODETYPE >

Public Functions

inline NodeCanopenDriverInterface()
virtual void set_master(std::shared_ptr<lely::ev::Executor> exec, std::shared_ptr<lely::canopen::AsyncMaster> master) = 0

Set Master.

Sets the Lely Canopen Master Objects needed by the driver to add itself to the master.

virtual void demand_set_master() = 0

Demand set Master.

This function should ask the drivers parent container to set the master objects. This should result in a call to set_master function.

virtual void init() = 0

Initialise the driver.

In this function the ROS interface should be created and potentially necessary callback groups.

virtual void configure() = 0

Configure the driver.

This function should contain the configuration related things, such as reading parameter data or configuration data from files.

virtual void activate() = 0

Activate the driver.

This function should activate the driver, consequently it needs to start all timers and threads necessary for the operation of the driver.

virtual void deactivate() = 0

Deactivate the driver.

This function should deactivate the driver, consequently it needs to stop all timers and threads that are related to the operation of the diver.

virtual void cleanup() = 0

Cleanup the driver.

This function needs to clean the internal state of the driver. This means all data should be deleted.

virtual void shutdown() = 0

Shutdown the driver.

This function should shutdown the driver.

virtual void add_to_master() = 0

Add the driver to master.

virtual void remove_from_master() = 0

Remove the driver from master.