40#define UART_MAX_NUMBER 10
163 uint32_t bytes_number);
167 uint32_t bytes_number);
171 uint32_t bytes_number);
176 uint32_t bytes_number);
SPSC lock-free fifo of fixed size (256), specialized for UART.
int32_t no_os_uart_init(struct no_os_uart_desc **desc, struct no_os_uart_init_param *param)
Initialize the UART communication peripheral.
Definition no_os_uart.c:52
no_os_uart_size
UART character size (number of data bits) options.
Definition no_os_uart.h:46
@ NO_OS_UART_CS_9
Definition no_os_uart.h:56
@ NO_OS_UART_CS_6
Definition no_os_uart.h:50
@ NO_OS_UART_CS_7
Definition no_os_uart.h:52
@ NO_OS_UART_CS_5
Definition no_os_uart.h:48
@ NO_OS_UART_CS_8
Definition no_os_uart.h:54
no_os_uart_parity
UART parity options.
Definition no_os_uart.h:63
@ NO_OS_UART_PAR_MARK
Definition no_os_uart.h:67
@ NO_OS_UART_PAR_EVEN
Definition no_os_uart.h:73
@ NO_OS_UART_PAR_ODD
Definition no_os_uart.h:71
@ NO_OS_UART_PAR_NO
Definition no_os_uart.h:65
@ NO_OS_UART_PAR_SPACE
Definition no_os_uart.h:69
uint32_t no_os_uart_get_errors(struct no_os_uart_desc *desc)
Check if errors occurred on UART.
Definition no_os_uart.c:100
no_os_uart_stop
UART number of stop bits options.
Definition no_os_uart.h:80
@ NO_OS_UART_STOP_2_BIT
Definition no_os_uart.h:84
@ NO_OS_UART_STOP_1_BIT
Definition no_os_uart.h:82
int32_t no_os_uart_remove(struct no_os_uart_desc *desc)
Free the resources allocated by no_os_uart_init().
Definition no_os_uart.c:81
int32_t no_os_uart_write(struct no_os_uart_desc *desc, const uint8_t *data, uint32_t bytes_number)
Write to UART.
Definition no_os_uart.c:144
int32_t no_os_uart_write_nonblocking(struct no_os_uart_desc *desc, const uint8_t *data, uint32_t bytes_number)
Write to UART non-blocking.
Definition no_os_uart.c:196
void no_os_uart_stdio(struct no_os_uart_desc *desc)
Definition no_os_uart.c:216
int32_t no_os_uart_read(struct no_os_uart_desc *desc, uint8_t *data, uint32_t bytes_number)
Read data from UART.
Definition no_os_uart.c:118
int32_t no_os_uart_read_nonblocking(struct no_os_uart_desc *desc, uint8_t *data, uint32_t bytes_number)
Read data from UART non-blocking.
Definition no_os_uart.c:170
Stucture holding the UART descriptor.
Definition no_os_uart.h:122
const struct no_os_uart_platform_ops * platform_ops
Definition no_os_uart.h:133
uint32_t baud_rate
Definition no_os_uart.h:132
uint32_t irq_id
Definition no_os_uart.h:128
void * mutex
Definition no_os_uart.h:124
struct lf256fifo * rx_fifo
Definition no_os_uart.h:130
void * extra
Definition no_os_uart.h:135
uint8_t device_id
Definition no_os_uart.h:126
Structure holding the parameters for UART initialization.
Definition no_os_uart.h:98
enum no_os_uart_parity parity
Definition no_os_uart.h:110
bool asynchronous_rx
Definition no_os_uart.h:104
void * extra
Definition no_os_uart.h:115
uint32_t irq_id
Definition no_os_uart.h:102
uint8_t device_id
Definition no_os_uart.h:100
uint32_t baud_rate
Definition no_os_uart.h:106
const struct no_os_uart_platform_ops * platform_ops
Definition no_os_uart.h:113
enum no_os_uart_stop stop
Definition no_os_uart.h:112
enum no_os_uart_size size
Definition no_os_uart.h:108