49typedef enum : uint8_t {
ra8_sci_state_t s_sci_state[k_ra8_sci_channel_count_val]
Per-channel allocation + dispatch table.
Full-featured Serial Communications Interface driver.
bool(* ra8_sci_tx_fn_t)(void *ctx, uint8_t *byte)
TX-empty interrupt callback signature.
void(* ra8_sci_rx_fn_t)(void *ctx, uint8_t byte)
RX interrupt callback signature.
ra8_sci_limits_inner_t
File-local bounds and channel-table sizing.
@ k_ra8_sci_channel_count_val
Total channels tracked.
@ k_ra8_sci_channel_max_index
SCI0..SCI9.
Per-channel dispatch state.
uint32_t rx_len
Total bytes requested.
uint8_t * rx_buf
Destination buffer, NULL when idle.
uint32_t tx_len
Total bytes requested.
ra8_sci_rx_fn_t rx_fn
Attached RX handler, NULL if none.
uint32_t rx_idx
Next byte index to write.
void * tx_ctx
TX handler context.
const uint8_t * tx_buf
Source buffer, NULL when idle.
uint32_t tx_idx
Next byte index to push.
ra8_sci_tx_fn_t tx_fn
Attached TX handler, NULL if none.
bool initialized
True after ra8_sci_init.
void * rx_ctx
RX handler context.