Structure for MCAN Rx Buffer element which takes data as a pointer. Using this the MCAL CAN driver can optimize one full copy of CAN payload by a simple pointer assignment. Please note that as the data field is a pointer so wrong value for payload size passed from application will lead to data corruption.
Data Fields | |
uint32_t | id |
uint32_t | rtr |
uint32_t | xtd |
uint32_t | esi |
uint32_t | rxts |
uint32_t | dlc |
uint32_t | brs |
uint32_t | fdf |
uint32_t | fidx |
uint32_t | anmf |
uint8_t * | data |
uint32_t MCAN_RxBufElementNoCpy::id |
Identifier
uint32_t MCAN_RxBufElementNoCpy::rtr |
Remote Transmission Request 0 = Received frame is a data frame 1 = Received frame is a remote frame
uint32_t MCAN_RxBufElementNoCpy::xtd |
Extended Identifier 0 = 11-bit standard identifier 1 = 29-bit extended identifier
uint32_t MCAN_RxBufElementNoCpy::esi |
Error State Indicator 0 = Transmitting node is error active 1 = Transmitting node is error passive
uint32_t MCAN_RxBufElementNoCpy::rxts |
Rx Timestamp
uint32_t MCAN_RxBufElementNoCpy::dlc |
Data Length Code 0-8 = CAN + CAN FD: received frame has 0-8 data bytes 9-15 = CAN: received frame has 8 data bytes 9-15 = CAN FD: received frame has 12/16/20/24/32/48/64 data bytes
uint32_t MCAN_RxBufElementNoCpy::brs |
Bit Rat Switching 0 = Frame received without bit rate switching 1 = Frame received with bit rate switching
uint32_t MCAN_RxBufElementNoCpy::fdf |
FD Format 0 = Standard frame format 1 = CAN FD frame format (new DLC-coding and CRC)
uint32_t MCAN_RxBufElementNoCpy::fidx |
Filter Index
uint32_t MCAN_RxBufElementNoCpy::anmf |
Accepted Non-matching Frame 0 = Received frame matching filter index FIDX 1 = Received frame did not match any Rx filter element
uint8_t* MCAN_RxBufElementNoCpy::data |
Data bytes. Only first dlc number of bytes are valid.