Go to the documentation of this file.
33 #ifndef _NO_OS_UART_H_
34 #define _NO_OS_UART_H_
48 #define UART_MAX_NUMBER 10
179 uint32_t bytes_number);
183 uint32_t bytes_number);
187 uint32_t bytes_number);
192 uint32_t bytes_number);
207 #endif // _NO_OS_UART_H_
const struct no_os_uart_platform_ops * platform_ops
Definition: no_os_uart.h:145
enum no_os_uart_parity parity
Definition: no_os_uart.h:122
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
void * extra
Definition: no_os_uart.h:127
void no_os_uart_stdio(struct no_os_uart_desc *desc)
Definition: no_os_uart.c:216
@ NO_OS_UART_STOP_1_BIT
Definition: no_os_uart.h:94
void * mutex
Definition: no_os_uart.h:136
enum no_os_uart_size size
Definition: no_os_uart.h:120
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
uint32_t baud_rate
Definition: no_os_uart.h:144
@ NO_OS_UART_CS_5
Definition: no_os_uart.h:60
no_os_uart_size
UART character size (number of data bits) options.
Definition: no_os_uart.h:58
uint32_t irq_id
Definition: no_os_uart.h:114
uint8_t device_id
Definition: no_os_uart.h:138
no_os_uart_parity
UART parity options.
Definition: no_os_uart.h:75
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
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
Stucture holding the UART descriptor.
Definition: no_os_uart.h:134
bool asynchronous_rx
Definition: no_os_uart.h:116
void * extra
Definition: no_os_uart.h:147
@ NO_OS_UART_STOP_2_BIT
Definition: no_os_uart.h:96
struct lf256fifo * rx_fifo
Definition: no_os_uart.h:142
@ NO_OS_UART_PAR_SPACE
Definition: no_os_uart.h:81
uint32_t baud_rate
Definition: no_os_uart.h:118
enum no_os_uart_stop stop
Definition: no_os_uart.h:124
@ NO_OS_UART_CS_9
Definition: no_os_uart.h:68
@ NO_OS_UART_PAR_EVEN
Definition: no_os_uart.h:85
SPSC lock-free fifo of fixed size (256), specialized for UART.
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
uint32_t irq_id
Definition: no_os_uart.h:140
@ NO_OS_UART_CS_7
Definition: no_os_uart.h:64
const struct no_os_uart_platform_ops * platform_ops
Definition: no_os_uart.h:125
@ NO_OS_UART_CS_6
Definition: no_os_uart.h:62
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
Structure holding the parameters for UART initialization.
Definition: no_os_uart.h:110
@ NO_OS_UART_PAR_NO
Definition: no_os_uart.h:77
no_os_uart_stop
UART number of stop bits options.
Definition: no_os_uart.h:92
uint8_t device_id
Definition: no_os_uart.h:112
@ NO_OS_UART_PAR_MARK
Definition: no_os_uart.h:79
@ NO_OS_UART_PAR_ODD
Definition: no_os_uart.h:83
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
@ NO_OS_UART_CS_8
Definition: no_os_uart.h:66