I/O Stream UART context.

Public Attributes#

uint8_t *

UART Rx Buffer.

size_t

UART Rx Buffer length.

uint8_t *

Address of the next byte to be read.

bool

Flag used to indicate if reception buffer is empty.

Subscriber for new data on RX.

sli_iostream_uart_periph_t *

Pointer to UART Peripheral context.

bool

TX DMA transfer active flag.

sl_slist_node_t *

Head pointer for pending async write ops.

bool

Asynchronous tx mode.

volatile bool

Indicates if the transmitter is idle, keeping the clock enabled until idle is reached.

bool

em_req_added. Available only when Power Manager present.

bool

Enables reception while sleeping and keeps the clock enabled in deep sleep.

bool

Indicates if high frequency mode is enabled.

bool

lf_to_crlf

bool

software flow control

uint8_t *

Pointer to where the last control character scan ended.

volatile bool

Transmitter enabled.

bool

block. Available only when kernel present.

osMutexId_t

read_lock. Available only when kernel present.

osEventFlagsId_t

rx_data_flag. Available only when kernel present.

osMutexId_t

write_lock. Available only when kernel present.

Public Functions#

__ALIGNED(4) uint8_t read_lock_cb[osMutexCbSize]

read_lock control block. Available only when kernel present.

__ALIGNED(4) uint8_t rx_data_flag_cb[osEventFlagsCbSize]

rx_data_flag control block. Available only when kernel present.

__ALIGNED(4) uint8_t write_lock_cb[osMutexCbSize]

write_lock control block. Available only when kernel present.

Public Attribute Documentation#

rx_dma#

sl_iostream_rx_dma_context_t sl_iostream_uart_context_t::rx_dma

RX DMA Context.


rx_buffer#

uint8_t* sl_iostream_uart_context_t::rx_buffer

UART Rx Buffer.


rx_buffer_len#

size_t sl_iostream_uart_context_t::rx_buffer_len

UART Rx Buffer length.


rx_read_ptr#

uint8_t* sl_iostream_uart_context_t::rx_read_ptr

Address of the next byte to be read.


rx_empty#

bool sl_iostream_uart_context_t::rx_empty

Flag used to indicate if reception buffer is empty.


rx_subscriber#

sl_iostream_uart_rx_subscriber_t sl_iostream_uart_context_t::rx_subscriber

Subscriber for new data on RX.


uart_periph#

sli_iostream_uart_periph_t* sl_iostream_uart_context_t::uart_periph

Pointer to UART Peripheral context.


tx_dma#

sl_iostream_tx_dma_context_t sl_iostream_uart_context_t::tx_dma

DMA TX Context.


async_transfer_in_progress#

bool sl_iostream_uart_context_t::async_transfer_in_progress

TX DMA transfer active flag.


pending_write_ops#

sl_slist_node_t* sl_iostream_uart_context_t::pending_write_ops

Head pointer for pending async write ops.


async_tx_mode#

bool sl_iostream_uart_context_t::async_tx_mode

Asynchronous tx mode.


tx_idle#

volatile bool sl_iostream_uart_context_t::tx_idle

Indicates if the transmitter is idle, keeping the clock enabled until idle is reached.


em_req_added#

bool sl_iostream_uart_context_t::em_req_added

em_req_added. Available only when Power Manager present.


rx_enable#

bool sl_iostream_uart_context_t::rx_enable

Enables reception while sleeping and keeps the clock enabled in deep sleep.


enable_high_frequency#

bool sl_iostream_uart_context_t::enable_high_frequency

Indicates if high frequency mode is enabled.


lf_to_crlf#

bool sl_iostream_uart_context_t::lf_to_crlf

lf_to_crlf


sw_flow_control#

bool sl_iostream_uart_context_t::sw_flow_control

software flow control


ctrl_char_scan_ptr#

uint8_t* sl_iostream_uart_context_t::ctrl_char_scan_ptr

Pointer to where the last control character scan ended.


xon#

volatile bool sl_iostream_uart_context_t::xon

Transmitter enabled.


block#

bool sl_iostream_uart_context_t::block

block. Available only when kernel present.


read_lock#

osMutexId_t sl_iostream_uart_context_t::read_lock

read_lock. Available only when kernel present.


rx_data_flag#

osEventFlagsId_t sl_iostream_uart_context_t::rx_data_flag

rx_data_flag. Available only when kernel present.


write_lock#

osMutexId_t sl_iostream_uart_context_t::write_lock

write_lock. Available only when kernel present.


Public Function Documentation#

__ALIGNED#

sl_iostream_uart_context_t::__ALIGNED (4 )

read_lock control block. Available only when kernel present.

Parameters
TypeDirectionArgument NameDescription
4N/A

__ALIGNED#

sl_iostream_uart_context_t::__ALIGNED (4 )

rx_data_flag control block. Available only when kernel present.

Parameters
TypeDirectionArgument NameDescription
4N/A

__ALIGNED#

sl_iostream_uart_context_t::__ALIGNED (4 )

write_lock control block. Available only when kernel present.

Parameters
TypeDirectionArgument NameDescription
4N/A