Structure for MCAN Tx 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 | dlc |
uint32_t | brs |
uint32_t | fdf |
uint32_t | efc |
uint32_t | mm |
uint8_t * | data |
uint32_t MCAN_TxBufElementNoCpy::id |
Identifier
uint32_t MCAN_TxBufElementNoCpy::rtr |
Remote Transmission Request 0 = Transmit data frame 1 = Transmit remote frame
uint32_t MCAN_TxBufElementNoCpy::xtd |
Extended Identifier 0 = 11-bit standard identifier 1 = 29-bit extended identifier
uint32_t MCAN_TxBufElementNoCpy::esi |
Error State Indicator 0 = ESI bit in CAN FD format depends only on error passive flag 1 = ESI bit in CAN FD format transmitted recessive
uint32_t MCAN_TxBufElementNoCpy::dlc |
Data Length Code 0-8 = CAN + CAN FD: transmit frame has 0-8 data bytes 9-15 = CAN: transmit frame has 8 data bytes 9-15 = CAN FD: transmit frame has 12/16/20/24/32/48/64 data bytes
uint32_t MCAN_TxBufElementNoCpy::brs |
Bit Rat Switching 0 = CAN FD frames transmitted without bit rate switching 1 = CAN FD frames transmitted with bit rate switching
uint32_t MCAN_TxBufElementNoCpy::fdf |
FD Format 0 = Frame transmitted in Classic CAN format 1 = Frame transmitted in CAN FD format
uint32_t MCAN_TxBufElementNoCpy::efc |
Event FIFO Control 0 = Don't store Tx events 1 = Store Tx events
uint32_t MCAN_TxBufElementNoCpy::mm |
Message Marker
uint8_t* MCAN_TxBufElementNoCpy::data |
Data bytes. Only first dlc number of bytes are valid.