bit 0-15: Device profile number
bit 16-31: Additional informationbit 0: generic error
bit 1: current
bit 2: voltage
bit 3: temperature
bit 4: communication error (overrun, error state)
bit 5: device profile specific
bit 6: Reserved (always 0)
bit 7: manufacturer specificbit 0-31: Not used by stack (available for user)Number of Errors
bit 0-7: Zero can be written to erase error history
Standard Error Field
bit 0-15: Error code as transmitted in the Emergency object
bit 16-31: Manufacturer specific additional informationbit 0-10: COB-ID for SYNC object
bit 11-29: set to 0
bit 30: 1(0) - node generates (does NOT generate) SYNC object
bit 31: set to 0bit 0-31: period of SYNC transmission in µs (0 = no transmission, no checking)bit 0-31: window length after SYNC when PDOS must be transmitted in µs, (0 = not used)Name of the manufacturer as stringName of the hardware version as stringName of the software version as string.The objects at index 100Ch and 100Dh include the guard time in milliseconds and the life time factor.
The life time factor multiplied with the guard time gives the life time for the Life Guarding Protocol. It is
0 if not used.The life time factor multiplied with the guard time gives the life time for the node guarding protocol. It is
0 if not used.Writing value 0x65766173 ('s','a','v','e' from LSB to MSB) into this location stores all ROM variables into EEPROM.Writing value 0x64616F6C ('l','o','a','d' from LSB to MSB) into this location restores all ROM and EEPROM variables after reset. (After reset read form EEPROM is not performed, so default values are used.)Index 1012h defines the COB-ID of the Time-Stamp Object (TIME). Further, it defines whether the
device consumes the TIME or whether the device generates the TIME.This object contains a time stamp with a resolution of 1 µs (see 9.3.2). It can be mapped into a PDO in
order to define a high resolution time stamp message. (Note that the data type of the standard time
stamp message (TIME) is fixed). Further application specific use is encouraged.bit 0-10: COB-ID
bit 11-30: set to 0 for 11 bit COB-ID
bit 31: 0(1) - node uses (does NOT use) Emergency objectbit 0-15: Inhibit time of emergency message in 100µsmax sub-index
Consumer Heartbeat Time
bit 0-15: Heartbeat consumer time in ms (0 = node is not monitored)
bit 16-23: Node ID
bit 24-31: set to 0bit 0-15: Heartbeat producer time in ms (0 = disable transmission)max sub-index
Vendor-ID
bit 0-31: Assigned by CiA
Product code
bit 0-31: Manufacturer specific
Revision number
bit 0-15: Minor revision num. (CANopen behavior has not changed)
bit 16-31: Major revision number (CANopen behavior has changed)
Serial number
bit 0-31: Manufacturer specificIf value is zero, then SYNC message is transmitted with data length 0.
If Value is from 2 to 240, then SYNC message has one data byte, which contains the counter.
Other values are reserved.If error is detected and operating NMT state is NMT operational, this object defines behavior of the device.
Value definition for all subindexes:
0x00 - if operational, switch to NMT pre-operational
0x01 - do nothing
0x02 - switch to NMT stopped
01 - Communication error - bus off or Heartbeat consumer error.
02 - Communication other error (critical errors - see 'Error status bits') except CAN bus passive but including bus off or Heartbeat consumer.
03 - Communication passive - any communication error including CAN bus passive.
04 - Generic error (critical errors - see 'Error status bits').
05 - Device profile error - bit 5 in error register is set.
06 - Manufacturer specific error - bit 7 in error register is set.0x1200 SDO server parameter
max sub-index
COB-ID client to server (Receive SDO)
bit 0-31: 0x00000600 + Node ID
COB-ID server to client (Transmit SDO)
bit 0-31: 0x00000580 + Node ID
0x1201 - 0x127F SDO server parameter
max sub-index
COB-ID client to server (Receive SDO)
bit 0-10: COB_ID
bit 11-30: Set to 0
bit 31*: 0(1) - node uses (does NOT use) SDO
COB-ID server to client (Transmit SDO)
bit 0-31: same as previous
Node-ID of the SDO client
bit 0-7: Node ID (optional)0x1280 - 0x12FF SDO client parameter
max sub-index
COB-ID client to server (Transmit SDO)
bit 0-10: COB_ID
bit 11-30: Set to 0
bit 31: 0(1) - node uses (does NOT use) SDO
COB-ID server to client (Receive SDO)
bit 0-31: same as previous
Node-ID of the SDO server
0-7: Node ID0x1400 - 0x15FF RPDO communication parameter
max sub-index
COB-ID
bit 0-10: COB-ID for PDO, to change it bit 31 must be set
bit 11-29: set to 0 for 11 bit COB-ID
bit 30: 0(1) - rtr are allowed (are NOT allowed) for PDO
bit 31: 0(1) - node uses (does NOT use) PDO
Transmission type
value = 0-240: receiving is synchronous, process after next reception of SYNC object
value = 241-253: not used
value = 254: manufacturer specific
value = 255: asynchronous0x1400 - 0x15FF RPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0 - 240: receiving is synchronous, process after next reception of SYNC object
value = 241 - 253: not used
value = 254: manufacturer specific
value = 255: asynchronous0x1400 - 0x15FF RPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0 - 240: receiving is synchronous, process after next reception of SYNC object
value = 241 - 253: not used
value = 254: manufacturer specific
value = 255: asynchronous0x1400 - 0x15FF RPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0 - 240: receiving is synchronous, process after next reception of SYNC object
value = 241 - 253: not used
value = 254: manufacturer specific
value = 255: asynchronous0x1600 - 0x17FF RPDO mapping parameter (To change mapping, 'Number of mapped objects' must be set to 0)
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1600 - 0x17FF RPDO mapping parameter (To change mapping, 'Number of mapped objects' must be set to 0)
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1600 - 0x17FF RPDO mapping parameter (To change mapping, 'Number of mapped objects' must be set to 0)
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1600 - 0x17FF RPDO mapping parameter (To change mapping, 'Number of mapped objects' must be set to 0)
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1800 - 0x19FF TPDO communication parameter
max sub-index
COB-ID
bit 0-10: COB-ID for PDO, to change it bit 31 must be set
bit 11-29: set to 0 for 11 bit COB-ID
bit 30: 0(1) - rtr are allowed (are NOT allowed) for PDO
bit 31: 0(1) - node uses (does NOT use) PDO
Transmission type
value = 0: transmitting is synchronous, specification in device profile
value = 1-240: transmitting is synchronous after every N-th SYNC object
value = 241-251: not used
value = 252-253: Transmitted only on reception of Remote Transmission Request
value = 254: manufacturer specific
value = 255: asynchronous, specification in device profile
inhibit time
bit 0-15: Minimum time between transmissions of the PDO in 100µs. Zero disables functionality.
event timer
bit 0-15: Time between periodic transmissions of the PDO in ms. Zero disables functionality.
SYNC start value
value = 0: Counter of the SYNC message shall not be processed.
value = 1-240: The SYNC message with the counter value equal to this value shall be regarded as the first received SYNC message.0x1800 - 0x19FF TPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0: transmitting is synchronous, specification in device profile
value = 1 - 240: transmitting is synchronous after every N - th SYNC object
value = 241 - 251: not used
value = 252 - 253: Transmitted only on reception of Remote Transmission Request
value = 254: manufacturer specific
value = 255: asynchronous, specification in device profile
inhibit time
bit 0 - 15: Minimum time between transmissions of the PDO in 100µs.Zero disables functionality.
event timer
bit 0-15: Time between periodic transmissions of the PDO in ms.Zero disables functionality.
SYNC start value
value = 0: Counter of the SYNC message shall not be processed.
value = 1-240: The SYNC message with the counter value equal to this value shall be regarded as the first received SYNC message.0x1800 - 0x19FF TPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0: transmitting is synchronous, specification in device profile
value = 1 - 240: transmitting is synchronous after every N - th SYNC object
value = 241 - 251: not used
value = 252 - 253: Transmitted only on reception of Remote Transmission Request
value = 254: manufacturer specific
value = 255: asynchronous, specification in device profile
inhibit time
bit 0 - 15: Minimum time between transmissions of the PDO in 100µs.Zero disables functionality.
event timer
bit 0-15: Time between periodic transmissions of the PDO in ms.Zero disables functionality.
SYNC start value
value = 0: Counter of the SYNC message shall not be processed.
value = 1-240: The SYNC message with the counter value equal to this value shall be regarded as the first received SYNC message.0x1800 - 0x19FF TPDO communication parameter
max sub-index
COB - ID
bit 0 - 10: COB - ID for PDO, to change it bit 31 must be set
bit 11 - 29: set to 0 for 11 bit COB - ID
bit 30: 0(1) - rtr are allowed(are NOT allowed) for PDO
bit 31: 0(1) - node uses(does NOT use) PDO
Transmission type
value = 0: transmitting is synchronous, specification in device profile
value = 1 - 240: transmitting is synchronous after every N - th SYNC object
value = 241 - 251: not used
value = 252 - 253: Transmitted only on reception of Remote Transmission Request
value = 254: manufacturer specific
value = 255: asynchronous, specification in device profile
inhibit time
bit 0 - 15: Minimum time between transmissions of the PDO in 100µs.Zero disables functionality.
event timer
bit 0-15: Time between periodic transmissions of the PDO in ms.Zero disables functionality.
SYNC start value
value = 0: Counter of the SYNC message shall not be processed.
value = 1-240: The SYNC message with the counter value equal to this value shall be regarded as the first received SYNC message.0x1A00 - 0x1BFF TPDO mapping parameter. (To change mapping, 'Number of mapped objects' must be set to 0).
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1A00 - 0x1BFF TPDO mapping parameter. (To change mapping, 'Number of mapped objects' must be set to 0).
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1A00 - 0x1BFF TPDO mapping parameter. (To change mapping, 'Number of mapped objects' must be set to 0).
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from OD0x1A00 - 0x1BFF TPDO mapping parameter. (To change mapping, 'Number of mapped objects' must be set to 0).
Number of mapped objects
mapped object (subindex 1...8)
bit 0 - 7: data length in bits
bit 8 - 15: subindex from OD
bit 16 - 31: index from ODbit 0: 0(1) - device is not (is) NMT master
bit 1: 0(1) - if bit3=0, start explicitly assigned (all) nodes
bit 2: 0(1) - automatically enter (DO NOT automatically enter) the operational state on bootup
bit 3: 0(1) - NMT master may (may not) start nodes automatically
bit 4: 0(1) - if monitored node fails heartbeat handle that (all) node(s)
bit 5: 0(1) - flying master process not (yes) supported
bit 6: 0(1) - use bit 4 (ignore bit 4, stop all nodes)
bit 7-31: reserved, set to 0Error Status Bits indicates error conditions inside stack or inside application. Specific bit is set by CO_errorReport() function, when error occurs in program. It can be reset by CO_errorReset() function, if error is solved. Emergency message is sent on each change of any Error Status Bit. If critical bits are set, node will not be able to stay in operational state. For more information see file CO_Emergency.h.
Default error status bits are:
Communication or protocol errors from driver (informative):
00 - ERROR_NO_ERROR - Error Reset or No Error.
01 - ERROR_CAN_BUS_WARNING - CAN bus warning.
02 - ERROR_RXMSG_WRONG_LENGTH - Wrong data length of received CAN message.
03 - ERROR_RXMSG_OVERFLOW - Previous received CAN message wasn't processed yet.
04 - ERROR_RPDO_WRONG_LENGTH - Wrong data length of received PDO.
05 - ERROR_RPDO_OVERFLOW - Previous received PDO wasn't processed yet.
06 - ERROR_CAN_RX_BUS_PASSIVE - CAN receive bus is passive.
07 - ERROR_CAN_TX_BUS_PASSIVE - CAN transmit bus is passive.
Communication or protocol errors from driver (critical):
08 - ERROR_08_reserved - (reserved)
09 - ERROR_09_reserved - (reserved)
0A - ERROR_CAN_TX_BUS_OFF - CAN transmit bus is off.
0B - ERROR_CAN_RXB_OVERFLOW - CAN module receive buffer has overflowed.
0C - ERROR_CAN_TX_OVERFLOW - CAN transmit buffer has overflowed.
0D - ERROR_TPDO_OUTSIDE_WINDOW - TPDO is outside SYNC window.
0E - ERROR_CAN_CONFIGURATION_FAILED - Configuration of CAN module CAN failed (Rx or Tx).
0F - ERROR_0F_reserved - (reserved)
Communication or protocol errors (informative):
10 - ERROR_NMT_WRONG_COMMAND - Wrong NMT command received.
11 - ERROR_SYNC_EARLY - SYNC message was too early.
12 - ERROR_12_reserved - (reserved)
13 - ERROR_13_reserved - (reserved)
14 - ERROR_14_reserved - (reserved)
15 - ERROR_15_reserved - (reserved)
16 - ERROR_16_reserved - (reserved)
17 - ERROR_17_reserved - (reserved)
Communication or protocol errors (critical):
18 - ERROR_SYNC_TIME_OUT - SYNC message timeout.
19 - ERROR_SYNC_LENGTH - Unexpected SYNC data length
1A - ERROR_PDO_WRONG_MAPPING - Error with PDO mapping.
1B - ERROR_HEARTBEAT_CONSUMER - Heartbeat consumer timeout.
1C - ERROR_HEARTBEAT_CONSUMER_REMOTE_RESET - Heartbeat consumer detected remote node reset.
1D - ERROR_1D_reserved - (reserved)
1E - ERROR_1E_reserved - (reserved)
1F - ERROR_1F_reserved - (reserved)
Generic errors (informative):
20 - ERROR_20_reserved - (reserved)
21 - ERROR_21_reserved - (reserved)
22 - ERROR_22_reserved - (reserved)
23 - ERROR_23_reserved - (reserved)
24 - ERROR_24_reserved - (reserved)
25 - ERROR_25_reserved - (reserved)
26 - ERROR_26_reserved - (reserved)
27 - ERROR_27_reserved - (reserved)
Generic errors (critical):
28 - ERROR_WRONG_ERROR_REPORT - Wrong parameters to <CO_errorReport()> function.
29 - ERROR_ISR_TIMER_OVERFLOW - Timer task has overflowed.
2A - ERROR_MEMORY_ALLOCATION_ERROR - Unable to allocate memory for objects.
2B - ERROR_GENERIC_ERROR - Generic error, test usage.
2C - ERROR_MAIN_TIMER_OVERFLOW - Mainline function exceeded maximum execution time.
2D - ERROR_INTERNAL_STATE_APPL - Error in application software internal state.
2E - ERROR_2E_reserved - (reserved)
2F - ERROR_2F_reserved - (reserved)
Manufacturer specific errors:
Manufacturer may define its own constants up to index 0xFF. Of course, he must then define large enough buffer for error status bits (up to 32 bytes).Power on Counter counts total microcontroller resets in its lifetime. This variable is an example of EEPROM usage.This variable contains number of button presses registered since last reboot. This variable is an example of RAM usage.
The counter can be reset by writing the value 0.0Zephyr RTOS CANopen sample0