Class CANopenManager

Class Documentation

class CANopenManager

CANopenManager takes care of CANopen communication - creates master controller and two Roboteq drivers (front and rear)

Public Functions

CANopenManager(const CANopenSettings &canopen_settings)
inline ~CANopenManager()
void Initialize()

Starts CANopen communication (in a new thread) and waits for boot to finish.

Throws:

std::runtime_error – if boot fails

void Deinitialize()

Stops CANopen communication - sends stop signal and waits.

void Activate()

Activates CANopen communication thread. This method should be invoked after all objects using this communication are created.

Throws:

std::runtime_error – if CAN communication not activated or not initialized

inline std::shared_ptr<lely::canopen::AsyncMaster> GetMaster()

Returns master controller.

Throws:

std::runtime_error – if CANopenManager is not initialized

Returns:

std::shared_ptr<lely::canopen::AsyncMaster> master controller