Error Codes
This chapter contains the description of all error codes.
Error Code | The error code indicates, that ... |
---|---|
| no error is detected. |
| a parameter pointer is NULL |
| the bus identifier is out of range |
| the buffer size (CAN frame size) is invalid |
| the driver indicates, that the CAN bus can’t cant be opened |
| the CAN bus can’t cant be enabled |
| the I/O function code is out of range |
| the given message identifier is not found |
| the message identifier is out of range |
| unused signals are linked to the message |
| the message can’t cant be created |
| the signal identifier is out of range |
| the signal is not configured |
| the given signal size is invalid, e.g. is not 1, 2 or 4 |
| the signal can’t cant be created |
| the given frame width is not 1, 2 or 4 |
| the CAN frame can’t cant be released to the memory pool |
| the CAN frame can’t cant be set into the RX or TX queue |
| the CAN frame can’t cant be allocated from the memory pool |
| the CAN semaphore(s) can’t cant be created |
| the CAN RX queue is empty and timeout error is detected |
| the CAN RX queue is empty |
| the CAN semaphore pending timeout error is detected |
| the CAN semaphore posting timeout error is detected |
| the CAN TX queue is empty |
Note: the global variable “CPUCPU_INT16S can_
errnum” errnum
holds the last detected error code.
4 Hardware Abstraction
The driver layer abstracts the different CAN controllers from the common usable CAN library. This chapter describes the interface of the low level device driver functions.
There are some parameters in function declarations, which are stated to be as ‘unused’. This is done to get a common device driver interface (even beside the CAN device), similar to the Posix driver interface.