Astra MCU SDK Peripheral Driver Library
Loading...
Searching...
No Matches
can_rx_classic_header_t Struct Reference

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 
   } 
}; 

Detailed Description

Header layout reported for a received Classical CAN frame.

The bitfield layout matches the hardware RX descriptor format exactly.

Field Documentation

◆ frame_type

uint32_t can_rx_classic_header_t::frame_type

Frame type

◆ is_extended

uint32_t can_rx_classic_header_t::is_extended

Extended identifier flag

◆ is_rtr

uint32_t can_rx_classic_header_t::is_rtr

Remote transmission request

◆ status

uint32_t can_rx_classic_header_t::status

Frame status

◆ dlc

uint32_t can_rx_classic_header_t::dlc

Data length code

◆ id_0_6

uint32_t can_rx_classic_header_t::id_0_6

Identifier bits 0-6

◆ id_7_10

uint32_t can_rx_classic_header_t::id_7_10

Identifier bits 7-10

◆ ext_id

uint32_t can_rx_classic_header_t::ext_id

Extended identifier

◆ reserved_53_55

uint32_t can_rx_classic_header_t::reserved_53_55

Reserved bits 53-55

◆ crc_0_6

uint32_t can_rx_classic_header_t::crc_0_6

CRC bits 0-6

◆ crc_7_14

uint32_t can_rx_classic_header_t::crc_7_14

CRC bits 7-14

◆ rtr

uint32_t can_rx_classic_header_t::rtr

Remote transmission request

◆ ide

uint32_t can_rx_classic_header_t::ide

Identifier extension

◆ reserved_74_95

uint32_t can_rx_classic_header_t::reserved_74_95

Reserved bits 74-95

◆ reserved_96_127

uint32_t can_rx_classic_header_t::reserved_96_127

Reserved bits 96-127

◆ timestamp_low

uint32_t can_rx_classic_header_t::timestamp_low

Lower 32 bits of timestamp

◆ timestamp_high

uint32_t can_rx_classic_header_t::timestamp_high

Higher 32 bits of timestamp