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

One channel's 4-stage message FIFO plus its sticky error latches. More...

Data Fields

uint32_t word [k_ipc_fifo_depth]
 Ring storage (oldest at rd).
uint32_t rd
 Index of the oldest queued word.
uint32_t count
 Queued words (0..depth).
bool rerr
 Read-while-empty sticky latch.
bool ferr
 Write-while-full sticky latch.

Detailed Description

One channel's 4-stage message FIFO plus its sticky error latches.

word is a ring buffer: rd indexes the oldest entry and count the fill level, so push appends at (rd + count) % depth and pop consumes at rd. rerr / ferr mirror the STA sticky error bits until a CLR RCLR / FCLR write drops them.

Invariant
count <= k_ipc_fifo_depth and rd < k_ipc_fifo_depth.

Definition at line 115 of file board_periph_ipc.c.

Field Documentation

◆ count

uint32_t ipc_fifo_t::count

Queued words (0..depth).

Definition at line 118 of file board_periph_ipc.c.

Referenced by internal_ipc_clr_write(), internal_ipc_fifo_pop(), internal_ipc_fifo_push(), and internal_ipc_sta_value().

◆ ferr

bool ipc_fifo_t::ferr

Write-while-full sticky latch.

Definition at line 120 of file board_periph_ipc.c.

Referenced by internal_ipc_clr_write(), internal_ipc_fifo_push(), and internal_ipc_sta_value().

◆ rd

uint32_t ipc_fifo_t::rd

Index of the oldest queued word.

Definition at line 117 of file board_periph_ipc.c.

Referenced by internal_ipc_clr_write(), internal_ipc_fifo_pop(), and internal_ipc_fifo_push().

◆ rerr

bool ipc_fifo_t::rerr

Read-while-empty sticky latch.

Definition at line 119 of file board_periph_ipc.c.

Referenced by internal_ipc_clr_write(), internal_ipc_fifo_pop(), and internal_ipc_sta_value().

◆ word

uint32_t ipc_fifo_t::word[k_ipc_fifo_depth]

Ring storage (oldest at rd).

Definition at line 116 of file board_periph_ipc.c.

Referenced by internal_ipc_fifo_pop(), and internal_ipc_fifo_push().


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