CANopen Node
This section describes the API functions of the CANopen core module. These functions are implemented within the source file: co_core.c/h
...
Data Member | Type | Description |
---|---|---|
Dir | CO_DIR | The object directory object |
If | CO_IF | The bus interface object |
Emcy | CO_EMCY | The node emergency object |
Tmr | CO_TMR | The timer manager object |
Nmt | CO_NMT | The node network management object |
Sdo[] | CO_SDO | The SDO server object array |
SdoBuf | CPU_INT08U * | Reference to the SDO transfer buffer |
RPdo[] | CO_RPDO | The receive PDO object array |
TPdo[] | CO_TPDO | The transmit PDO object array |
TMap[] | CO_TPDO_LINK | The transmit PDO mapping link array |
Sync | CO_SYNC | The SYNC management object |
Error | CO_ERR | Internal error identification code |
NodeId | CPU_INT08U | The CANopen node ID |
Note: The data within these structures must never be manipulated without the corresponding class member functions. This will lead to unpredictable behavior of the CANopen node.
During calling a member function of a class, the first parameter must be a reference to a corresponding object. This should be done as shown in the following examples:
Code Block | ||
---|---|---|
| ||
CO_NODE AppNode; /* allocation of the application node */
:
CONodeInit (&AppNode ,...); /* call member function of class CO_NODE */
CODirFind (&(AppNode.Dir) ,...); /* call member function of class CO_DIR */
COIfSend (&(AppNode.If) ,...); /* call member function of class CO_IF */
COEmcySet (&(AppNode.Emcy),...); /* call member function of class CO_EMCY */
COTmrCreate(&(AppNode.Tmr) ,...); /* call member function of class CO_TMR */
CONmtReset (&(AppNode.Nmt) ,...); /* call member function of class CO_NMT */
: |
Note, that in all application source files, which needs to call one or more CANopen API functions, the header file co_core.h
must be included. This header file collects and includes all other header files.End of topic