bit 0-15: Device profile number bit 16-31: Additional information bit 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 specific bit 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 information bit 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 0 bit 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 string Name of the hardware version as string Name 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 object bit 0-15: Inhibit time of emergency message in 100µs max 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 0 bit 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 specific If 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 ID 0x1400 - 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: asynchronous 0x1400 - 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: asynchronous 0x1400 - 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: asynchronous 0x1400 - 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: asynchronous 0x1600 - 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 OD 0x1600 - 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 OD 0x1600 - 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 OD 0x1600 - 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 OD 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. 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 OD 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 OD 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 OD 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 OD bit 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 0 Error 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. 0 Zephyr RTOS CANopen sample 0