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

One SCI_B channel: control shadow + a host-fed RX byte queue. More...

Data Fields

uint32_t ccr0
 CCR0 shadow (TE/RE/RIE/TIE/TEIE).
uint32_t transmitted
 Bytes captured from TDR writes.
uint32_t received
 Bytes the firmware read from RDR.
uint8_t rx [k_sci_rx_queue_len]
 Host->firmware byte ring.
uint32_t rx_head
 Next byte the firmware will read.
uint32_t rx_tail
 Next free slot for a queued byte.
uint32_t rx_dropped
 Bytes dropped on a full RX ring.

Detailed Description

One SCI_B channel: control shadow + a host-fed RX byte queue.

TX is always "drained" in the model (TDRE/TEND read as set), so only the control shadow (ccr0) and a transmitted-byte counter are kept on that side. RX is a simple ring of bytes the host queued via board_periph_sci_feed_rx; rx_head / rx_tail bound the live span and received counts every byte the firmware has consumed.

Definition at line 126 of file board_periph_sci.c.

Field Documentation

◆ ccr0

uint32_t sci_state_t::ccr0

CCR0 shadow (TE/RE/RIE/TIE/TEIE).

Definition at line 127 of file board_periph_sci.c.

Referenced by internal_sci_reg_read(), internal_sci_reg_write(), and internal_sci_tick_channel().

◆ received

uint32_t sci_state_t::received

Bytes the firmware read from RDR.

Definition at line 129 of file board_periph_sci.c.

Referenced by internal_sci_reg_read().

◆ rx

uint8_t sci_state_t::rx[k_sci_rx_queue_len]

Host->firmware byte ring.

Definition at line 130 of file board_periph_sci.c.

Referenced by board_periph_sci_feed_rx(), and internal_sci_reg_read().

◆ rx_dropped

uint32_t sci_state_t::rx_dropped

Bytes dropped on a full RX ring.

Definition at line 133 of file board_periph_sci.c.

Referenced by board_periph_sci_feed_rx().

◆ rx_head

uint32_t sci_state_t::rx_head

Next byte the firmware will read.

Definition at line 131 of file board_periph_sci.c.

Referenced by board_periph_sci_feed_rx(), internal_sci_reg_read(), and internal_sci_rx_available().

◆ rx_tail

uint32_t sci_state_t::rx_tail

Next free slot for a queued byte.

Definition at line 132 of file board_periph_sci.c.

Referenced by board_periph_sci_feed_rx(), and internal_sci_rx_available().

◆ transmitted

uint32_t sci_state_t::transmitted

Bytes captured from TDR writes.

Definition at line 128 of file board_periph_sci.c.

Referenced by internal_sci_reg_write().


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