|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
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. | |
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.
count <= k_ipc_fifo_depth and rd < k_ipc_fifo_depth. Definition at line 115 of file board_periph_ipc.c.
| 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().
| 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().
| 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().
| 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().
| 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().