ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_canfd_afl_rule_t Struct Reference

One Acceptance-Filter-List (AFL) rule: hardware ID/mask match plus an RX-FIFO routing target. More...

#include <ra8_canfd.h>

Data Fields

uint32_t id
 Right-aligned accept ID (11- or 29-bit).
uint32_t mask
 ID bit mask: 1 = must match, 0 = don't care.
bool extended
 true = 29-bit extended ID, false = 11-bit std.
bool rtr
 true = match remote frames, false = data frames.
uint8_t target_rx
 Destination RX FIFO index (0..1).

Detailed Description

One Acceptance-Filter-List (AFL) rule: hardware ID/mask match plus an RX-FIFO routing target.

Each rule programs one CFDGAFL slot. The controller accepts an inbound frame when, for some active rule, (frame_id & mask) == (id & mask) and the frame's IDE flag equals extended and its RTR flag equals rtr; matched frames are routed into RX FIFO target_rx instead of being dropped. id and mask are right-aligned identifiers: an 11-bit standard value when extended is false, a 29-bit extended value when true.

cppcheck cannot see tests/ so it flags every field as unused; each member is read in ra8_canfd_set_accept_filter in libs/ra8_hal/src/ra8_canfd_afl.c.

Invariant
If extended is false, id and mask fit in 11 bits.
If extended is true, id and mask fit in 29 bits.
target_rx < k_ra8_canfd_rx_fifo_count.
See also
ra8_canfd_set_accept_filter()

Definition at line 265 of file ra8_canfd.h.

Field Documentation

◆ extended

bool ra8_canfd_afl_rule_t::extended

true = 29-bit extended ID, false = 11-bit std.

Definition at line 268 of file ra8_canfd.h.

Referenced by internal_afl_id_word(), internal_afl_mask_word(), and internal_afl_validate_rule().

◆ id

uint32_t ra8_canfd_afl_rule_t::id

Right-aligned accept ID (11- or 29-bit).

Definition at line 266 of file ra8_canfd.h.

Referenced by internal_afl_id_word(), and internal_afl_validate_rule().

◆ mask

uint32_t ra8_canfd_afl_rule_t::mask

ID bit mask: 1 = must match, 0 = don't care.

Definition at line 267 of file ra8_canfd.h.

Referenced by internal_afl_mask_word(), and internal_afl_validate_rule().

◆ rtr

bool ra8_canfd_afl_rule_t::rtr

true = match remote frames, false = data frames.

Definition at line 269 of file ra8_canfd.h.

Referenced by internal_afl_id_word().

◆ target_rx

uint8_t ra8_canfd_afl_rule_t::target_rx

Destination RX FIFO index (0..1).

Definition at line 270 of file ra8_canfd.h.

Referenced by internal_afl_p1_word(), and internal_afl_validate_rule().


The documentation for this struct was generated from the following file: