Header layout reported for a received Classical CAN frame. More...
#include <can.h>
Data Fields | |
| union { | |
| struct { | |
| uint32_t frame_type:2 | |
| uint32_t is_extended:1 | |
| uint32_t is_rtr:1 | |
| uint32_t status:10 | |
| uint32_t dlc:11 | |
| uint32_t id_0_6:7 | |
| uint32_t id_7_10:4 | |
| uint32_t ext_id:18 | |
| uint32_t reserved_53_55:3 | |
| uint32_t crc_0_6:7 | |
| uint32_t crc_7_14:8 | |
| uint32_t rtr:1 | |
| uint32_t ide:1 | |
| uint32_t reserved_74_95:22 | |
| uint32_t reserved_96_127 | |
| uint32_t timestamp_low | |
| uint32_t timestamp_high | |
| } | |
| }; | |
Header layout reported for a received Classical CAN frame.
The bitfield layout matches the hardware RX descriptor format exactly.
| uint32_t can_rx_classic_header_t::frame_type |
Frame type
| uint32_t can_rx_classic_header_t::is_extended |
Extended identifier flag
| uint32_t can_rx_classic_header_t::is_rtr |
Remote transmission request
| uint32_t can_rx_classic_header_t::status |
Frame status
| uint32_t can_rx_classic_header_t::dlc |
Data length code
| uint32_t can_rx_classic_header_t::id_0_6 |
Identifier bits 0-6
| uint32_t can_rx_classic_header_t::id_7_10 |
Identifier bits 7-10
| uint32_t can_rx_classic_header_t::ext_id |
Extended identifier
| uint32_t can_rx_classic_header_t::reserved_53_55 |
Reserved bits 53-55
| uint32_t can_rx_classic_header_t::crc_0_6 |
CRC bits 0-6
| uint32_t can_rx_classic_header_t::crc_7_14 |
CRC bits 7-14
| uint32_t can_rx_classic_header_t::rtr |
Remote transmission request
| uint32_t can_rx_classic_header_t::ide |
Identifier extension
| uint32_t can_rx_classic_header_t::reserved_74_95 |
Reserved bits 74-95
| uint32_t can_rx_classic_header_t::reserved_96_127 |
Reserved bits 96-127
| uint32_t can_rx_classic_header_t::timestamp_low |
Lower 32 bits of timestamp
| uint32_t can_rx_classic_header_t::timestamp_high |
Higher 32 bits of timestamp