Basic information about a packet being received or already completed and awaiting processing, including memory pointers to its data in the circular receive FIFO buffer.
This packet information refers to remaining packet data that has not already been consumed by sl_rail_read_rx_fifo(). Note
Because the receive FIFO buffer is circular, a packet might start near the end of the buffer and wrap around to the beginning of the buffer to finish, hence the distinction between the first and last portions. Packets that fit without wrapping only have a first portion (first_portion_bytes == packet_bytes and last_portion_data will be NULL).
Public Attributes#
The packet status of this packet.
The number of packet data bytes available to read in this packet.
The number of bytes in the first portion.
The pointer to the first portion of packet data containing first_portion_bytes number of bytes.
The pointer to the last portion of a packet, if any; NULL otherwise.
A bitmask representing which address filter(s) this packet has passed.
Public Attribute Documentation#
packet_status#
sl_rail_rx_packet_status_t sl_rail_rx_packet_info_t::packet_status
The packet status of this packet.
packet_bytes#
uint16_t sl_rail_rx_packet_info_t::packet_bytes
The number of packet data bytes available to read in this packet.
first_portion_bytes#
uint16_t sl_rail_rx_packet_info_t::first_portion_bytes
The number of bytes in the first portion.
p_first_portion_data#
uint8_t* sl_rail_rx_packet_info_t::p_first_portion_data
The pointer to the first portion of packet data containing first_portion_bytes number of bytes.
p_last_portion_data#
uint8_t* sl_rail_rx_packet_info_t::p_last_portion_data
The pointer to the last portion of a packet, if any; NULL otherwise.
The number of bytes in this portion is packet_bytes - first_portion_bytes.
filter_mask#
sl_rail_addr_filter_mask_t sl_rail_rx_packet_info_t::filter_mask
A bitmask representing which address filter(s) this packet has passed.
Will be 0 when not filtering or if packet info is retrieved before filtering has completed. It's undefined on platforms lacking SL_RAIL_SUPPORTS_ADDR_FILTER_MASK