Header layout reported for a received CAN FD 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_20:14 | |
| uint32_t sbc:4 | |
| uint32_t ide:1 | |
| uint32_t esi:1 | |
| uint32_t brs:1 | |
| uint32_t reserved_85_95:11 | |
| uint32_t reserved_96_127 | |
| uint32_t timestamp_low | |
| uint32_t timestamp_high | |
| } | |
| }; | |
Header layout reported for a received CAN FD frame.
The bitfield layout matches the hardware RX descriptor format exactly.
| uint32_t can_rx_fd_header_t::frame_type |
Frame type
| uint32_t can_rx_fd_header_t::is_extended |
Extended identifier flag
| uint32_t can_rx_fd_header_t::is_rtr |
Remote transmission request
| uint32_t can_rx_fd_header_t::status |
Frame status
| uint32_t can_rx_fd_header_t::dlc |
Data length code
| uint32_t can_rx_fd_header_t::id_0_6 |
Identifier bits 0-6
| uint32_t can_rx_fd_header_t::id_7_10 |
Identifier bits 7-10
| uint32_t can_rx_fd_header_t::ext_id |
Extended identifier
| uint32_t can_rx_fd_header_t::reserved_53_55 |
Reserved bits 53-55
| uint32_t can_rx_fd_header_t::crc_0_6 |
CRC bits 0-6
| uint32_t can_rx_fd_header_t::crc_7_20 |
CRC bits 7-20
| uint32_t can_rx_fd_header_t::sbc |
Stuff bit count
| uint32_t can_rx_fd_header_t::ide |
Identifier extension
| uint32_t can_rx_fd_header_t::esi |
Error state indicator
| uint32_t can_rx_fd_header_t::brs |
Bit rate switch
| uint32_t can_rx_fd_header_t::reserved_85_95 |
Reserved bits 85-95
| uint32_t can_rx_fd_header_t::reserved_96_127 |
Reserved bits 96-127
| uint32_t can_rx_fd_header_t::timestamp_low |
Lower 32 bits of timestamp
| uint32_t can_rx_fd_header_t::timestamp_high |
Higher 32 bits of timestamp