Tool Libs
UMIT-TIROL Institute of Automation and Control Engineering library collection
 
Loading...
Searching...
No Matches
CAN::Open::Dispatch Struct Referenceabstract

CANOpen dispatch class. More...

#include <canopen.h>

Inherits Sink< SDO >, and Sink< Message >.

Collaboration diagram for CAN::Open::Dispatch:
[legend]

Public Member Functions

void nmt (NMT command, uint8_t nodeid)
 send NMT command to nodeid, rsp broadcast it (id = 0)
 
void sync ()
 send SYNC message on network
 
void heartbeat (uint8_t id, STATE state)
 send HEARTBEAT message to node id, signal own state
 
void guard (uint8_t id)
 send GUARD message to node id
 
void process ()
 call directly after CAN interrupt handler processed
 
bool full () override
 check if sink is full
 
virtual void push (const SDO &t)
 copy semantics does not check for space. guard by using 'if (!full) { ... }'
 
virtual void push (SDO &&)=0
 move semantics does not check for space. guard by using 'if (!full) { ... }'
 
void trypush (SDO &&t)
 use this if you don't care if it's going to be successful. data gets discarded if sink is full.
 
virtual void push (const Message &t)
 copy semantics does not check for space. guard by using 'if (!full) { ... }'
 
virtual void push (Message &&)=0
 move semantics does not check for space. guard by using 'if (!full) { ... }'
 
void trypush (Message &&t)
 use this if you don't care if it's going to be successful. data gets discarded if sink is full.
 

Detailed Description

CANOpen dispatch class.

use this as a middle layer between the CAN bus and the Device devices to handle translation between the protocols. call this class' process directly after the CAN irqHandler

cf. https://www.microcontrol.net/wp-content/uploads/2021/10/td-03011e.pdf

cf. https://www.can-cia.org/fileadmin/resources/documents/brochures/co_poster.pdf


The documentation for this struct was generated from the following file: