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.