J1939 Error description¶
Error level¶
Error | Code | Description |
---|---|---|
WARNING | 0 | An error warning has occurred |
ERROR | 1 | An error has occurred |
FATAL | 2 | A fatal error has occurred |
OK | 3 | No error has occurred yet |
Error identifier¶
Error | Code | Description |
---|---|---|
ERR_ERR_ID | 0 | Error unit identifier |
DLL_ERR_ID | 1 | Data link layer identifier |
MEM_ERR_ID | 2 | Memory unit identifier |
TPL_ERR_ID | 3 | Transport protocol identifier |
NWM_ERR_ID | 4 | Network management identifier |
APL_ERR_ID | 5 | Application layer identifier |
CYC_ERR_ID | 6 | Cycle unit identifier |
REQ_ERR_ID | 7 | Request unit identifier |
L2C_ERR_ID | 8 | Layer 2 unit identifier |
ADR_ERR_ID | 9 | Addressing unit identifier |
NMEA_ERR_ID | 10 | NMEA 2000 module |
CDP_ERR_ID | 11 | CAN Diagnostic Protocol |
DIAG_ERR_ID | 12 | J1939 Diagnostic Module |
USR_ERR_ID | 13 | User specific code (generated) |
OK_ID | 14 | No error |
Error codes¶
Data Link layer¶
Error | Code | Description |
---|---|---|
DLL_ERR_TX_OVRN | 51 | Overrun in the TxQueue |
DLL_ERR_START_CAN | 52 | Starting CAN failed |
DLL_ERR_RESET_CAN | 53 | Reset CAN failed |
DLL_ERR_INIT_CAN | 54 | Init CAN failed |
DLL_ERR_BOFF | 61 | Bus error interrupt occurs on CAN |
DLL_ERR_EPAS | 62 | Error warning interrupt occurs on CAN |
DLL_ERR_EACT | 63 | CAN controller is in status error active |
DLL_ERR_DOI | 64 | Data overrun interrupt occurs on CAN |
DLL_ERR_RX_OVRN | 65 | Overrun in the RxQueue |
Memory¶
Error | Code | Description |
---|---|---|
MEM_ERR_ALLOC_MEMORY | 111 | Allocate memory failed |
MEM_ERR_FREE_MEMORY | 112 | Free memory failed |
Transport layer¶
Error | Code | Description |
---|---|---|
TPL_ERR_TX_OVRN | 151 | No free Entry in the TxQueue of the TPL available |
TPL_ERR_CONF_FILTER | 152 | Too many PGNs tried to register in the config filter |
TPL_ERR_UNEXP_BAM_FRM | 161 | Unexpected BAM frame received |
TPL_ERR_UNEXP_RTS_FRM | 162 | Unexpected RTS frame received |
TPL_ERR_UNEXP_CTS_FRM | 163 | Unexpected CTS frame received |
TPL_ERR_UNEXP_EOM_FRM | 164 | Unexpected EOM frame received |
TPL_ERR_UNEXP_CA_FRM | 165 | Unexpected CA frame received |
TPL_ERR_UNEXP_DT_FRM | 166 | Unexpected DT frame received |
TPL_ERR_RX_OVRN | 167 | No free Rx Msg Buffer in the TPL for a global message available |
TPL_ERR_TX_TIMEOUT0 | 168 | Timer overrun for Tx Timeout T0 |
TPL_ERR_TX_TIMEOUT2 | 169 | Timer overrun for Tx Timeout T2 |
TPL_ERR_RX_TIMEOUT0 | 170 | Timer overrun for Rx Timeout T0 |
TPL_ERR_RX_TIMEOUT1 | 171 | Timer overrun for Rx Timeout T1 |
TPL_ERR_RX_TIMEOUT2 | 172 | Timer overrun for Rx Timeout T2 |
TPL_ERR_RX_LONG | 173 | The length of the received message is too long for a seg msg |
TPL_ERR_SEND_MSG | 174 | Error by Sending: Can't send a segmented message |
TPL_ERR_SEND_CA | 175 | Sending a CA message failed |
TPL_ERR_SEND_NACK | 176 | Sending a NACK message failed |
Network management¶
Error | Code | Description |
---|---|---|
NWM_ERR_DEVICE_REG | 201 | The device is already registered in the device list |
NWM_ERR_INVALID_HDL | 202 | The device handle is invalid |
NWM_ERR_INVALID_ADDR | 203 | The device address is invalid |
NWM_ERR_NO_COMM | 211 | The device is not able to start the CAN communication (starting CAN failed) |
NWM_ERR_NO_ADDR | 212 | The device is not able to claim an address and is therefore not allowed to take part at network communication any longer |
NWM_ERR_LIST_FULL | 213 | The maximum number of nodes in the network is exceeded |
Application layer¶
Error | Code | Description |
---|---|---|
APL_ERR_TIME_EXCEEDED | 251 | APL_Main() was not called in the required sequence |
APL_ERR_TX_LONG | 252 | The data field of the transmit message is too long |
APL_ERR_NO_MEMORY | 253 | No memory for the data field of the transmit message allocated |
APL_ERR_REG_REQUEST | 254 | An error occurred during registration of a request PGN |
APL_ERR_TX_NO_ADDR | 255 | Device has no address claimed |
APL_ERR_INVALID_PARAM | 257 | Invalid parameter passed to an API function |
APL_ERR_REQ_RESPONSE | 261 | A request message couldn't be answered from the request handler due to a queue overrun |
Cyclic unit¶
Error | Code | Description |
---|---|---|
CYC_ERR_NOT_INITIALIZED | 301 | The unit is not yet initialized |
CYC_ERR_RX_REGISTRATION | 302 | The maximal number of receive messages is exceeded |
CYC_ERR_TX_REGISTRATION | 303 | The maximal number of transmit messages is exceeded |
CYC_ERR_TIME_EXCEEDED | 304 | CYC_Main() was not called in the required sequence |
CYC_ERR_RX_TIMEOUT | 311 | A registered message wasn't received in the given time |
CYC_ERR_TX_INVALID_HDL | 312 | A message couldn't be sent due to an invalid address handle |
CYC_ERR_TX_QUEUE_OVRN | 313 | A message couldn't be sent due to an overrun of the transmit queue |
CYC_ERR_RX_INVALID_LENGTH | 314 | The length of the received message is too long for the receive buffer |
Request unit¶
Error | Code | Description |
---|---|---|
REQ_ERR_INVALID_PARAM | 351 | Invalid parameter passed to an API function |
CAN diagnostic¶
Error | Code | Description |
---|---|---|
CDP_ERR_TIME_EXCEEDED | 551 | CDP_Main() was not called in the required sequence |
CDP_ERR_ADDR_FORMAT | 552 | The addressing format of the CAN diagnostic protocol is invalid |
CDP_ERR_CONF_PGN | 553 | There is no PGN entry free to register a CDP message |
CDP_ERR_UNKNOWN_PGN | 554 | PGN is not registered |
CDP_ERR_STATE_READY_TX | 555 | PGN is not ready for transmitting a CAN diagnostic message |
CDP_ERR_STATE_READY_RX | 556 | PGN is not ready for receiving a CAN diagnostic message |
CDP_ERR_NO_MEMORY | 557 | No memory for the data field allocated |
CDP_ERR_ALLOC_MEMORY | 561 | Allocate memory failed |
CDP_ERR_FREE_MEMORY | 562 | Free memory failed |
CDP_ERR_RX_LENGTH | 563 | The length of the received CAN diagnostic protocol message is too large for the available receive buffer |
CDP_ERR_RX_TIMEOUT_FC | 564 | The CAN diagnostic protocol flow control message wasn't received in the given time |
CDP_ERR_RX_TIMEOUT_CF | 565 | The CAN diagnostic protocol consecutive frame message wasn't received in the given time |
CDP_ERR_TX_TIMEOUT | 566 | The CAN diagnostic protocol message wasn't sent in the given time |
CDP_ERR_PCI_INVALID | 567 | The CAN diagnostic protocol control information was invalid |
J1939 diagnostic¶
Error | Code | Description |
---|---|---|
DIAG_ERR_MEM_ABORTED_TX | 611 | A memory access session was aborted due to a transmit problem (sending a memory access message failed) |
DIAG_ERR_MEM_ABORTED_RX | 612 | A memory access session was aborted due to a receive problem (a memory access message wasn't received in the expected time) |
DIAG_ERR_MEM_ABORTED_KEY | 613 | A memory access session was aborted due to security reasons (an invalid key was received) |
DIAG_ERR_MEM_ABORTED_DATA | 614 | A memory access session was aborted due to addressing problems (invalid data length was received) |
DIAG_ERR_MEM_BUSY | 615 | A memory access session was declined because the device is busy (another session is in process) |
DIAG_ERR_MEM_BUSY_FAILED | 616 | Transmit a memory access response 'busy' failed |
DIAG_ERR_MEM_INVALID_MSG | 617 | Invalid message received (the received PGN was not registered for the diagnostic unit) |
User specific error¶
Error | Code | Description |
---|---|---|
USR_ERR_REQ_RESPONSE | 661 | A request message couldn't be answered from the request handler due to a queue overrun |