I/O Stream UART#

I/O Stream UART.

Overview#

UART layer provides a set of standard APIs that can be used with all type of UART interface.

Initialization#

Each UART stream type provides its initalization with parameters specific to them. Note

  • Each UART stream requires a dedicated (L)DMA channel through DMADRV.

Modules#

sl_iostream_uart_t

sl_iostream_dma_config_t

sl_iostream_dma_context_t

sl_iostream_uart_config_t

sl_iostream_uart_context_t

Functions#

sl_status_t
sl_iostream_uart_deinit(sl_iostream_uart_t *iostream_uart)

UART Stream De-init.

void
sl_iostream_uart_set_auto_cr_lf(sl_iostream_uart_t *iostream_uart, bool on)

Configure Automatic line conversion.

bool
sl_iostream_uart_get_auto_cr_lf(sl_iostream_uart_t *iostream_uart)

Get Automatic line conversion.

void
sl_iostream_uart_prepare_for_sleep(sl_iostream_uart_t *iostream_uart)

UART Set next byte detect IRQ.

void
sl_iostream_uart_set_rx_energy_mode_restriction(sl_iostream_uart_t *iostream_uart, bool on)

Add or remove energy mode restriction to enable/disable reception when the system goes to sleep.

bool
sl_iostream_uart_get_rx_energy_mode_restriction(sl_iostream_uart_t *iostream_uart)

Get reception energy mode restriction configuration.

void
sl_iostream_uart_set_read_block(sl_iostream_uart_t *iostream_uart, bool on)

Configure Read blocking mode.

bool
sl_iostream_uart_get_read_block(sl_iostream_uart_t *iostream_uart)

Get read API block configuration.

Macros#

#define

uart flow control none

#define

uart flow control software

#define
UARTXON 0x11

uartx on

#define

uartx off

Function Documentation#

sl_iostream_uart_deinit#

sl_status_t sl_iostream_uart_deinit (sl_iostream_uart_t * iostream_uart)

UART Stream De-init.

Parameters
[in]iostream_uart

UART stream object.

Returns

  • Status result


Definition at line 178 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_set_auto_cr_lf#

void sl_iostream_uart_set_auto_cr_lf (sl_iostream_uart_t * iostream_uart, bool on)

Configure Automatic line conversion.

Parameters
[in]iostream_uart

UART stream object.

[in]on

If true, automatic LF to CRLF conversion will be enabled.


Definition at line 193 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_get_auto_cr_lf#

bool sl_iostream_uart_get_auto_cr_lf (sl_iostream_uart_t * iostream_uart)

Get Automatic line conversion.

Parameters
[in]iostream_uart

UART stream object.

Returns

  • Auto-conversion mode.


Definition at line 206 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_prepare_for_sleep#

void sl_iostream_uart_prepare_for_sleep (sl_iostream_uart_t * iostream_uart)

UART Set next byte detect IRQ.

Parameters
[in]iostream_uart

UART stream object.


Definition at line 216 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_set_rx_energy_mode_restriction#

void sl_iostream_uart_set_rx_energy_mode_restriction (sl_iostream_uart_t * iostream_uart, bool on)

Add or remove energy mode restriction to enable/disable reception when the system goes to sleep.

Parameters
[in]iostream_uart

UART context.

[in]on

If true, will be able to receive data when sleeping. i.e it affects the lowest power level that the system can go. Otherwise, it might not be possible to receive data when sleeping.


Definition at line 232 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_get_rx_energy_mode_restriction#

bool sl_iostream_uart_get_rx_energy_mode_restriction (sl_iostream_uart_t * iostream_uart)

Get reception energy mode restriction configuration.

Parameters
[in]iostream_uart

UART context.

Returns

  • Sleep configuration.


Definition at line 245 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_set_read_block#

void sl_iostream_uart_set_read_block (sl_iostream_uart_t * iostream_uart, bool on)

Configure Read blocking mode.

Parameters
[in]iostream_uart

UART context.

[in]on

If false, the read API will be non-blocking. Otherwise the read API will block until data is received.


Definition at line 260 of file platform/service/iostream/inc/sl_iostream_uart.h

sl_iostream_uart_get_read_block#

bool sl_iostream_uart_get_read_block (sl_iostream_uart_t * iostream_uart)

Get read API block configuration.

Parameters
[in]iostream_uart

UART context.

Returns

  • Block mode.


Definition at line 273 of file platform/service/iostream/inc/sl_iostream_uart.h

Macro Definition Documentation#

uartFlowControlNone#

#define uartFlowControlNone
Value:
0

uart flow control none


Definition at line 82 of file platform/service/iostream/inc/sl_iostream_uart.h

uartFlowControlSoftware#

#define uartFlowControlSoftware
Value:
0xFFFF

uart flow control software


Definition at line 83 of file platform/service/iostream/inc/sl_iostream_uart.h

UARTXON#

#define UARTXON
Value:
0x11

uartx on


Definition at line 84 of file platform/service/iostream/inc/sl_iostream_uart.h

UARTXOFF#

#define UARTXOFF
Value:
0x13

uartx off


Definition at line 85 of file platform/service/iostream/inc/sl_iostream_uart.h