13#ifndef ZEPHYR_INCLUDE_DRIVERS_UART_H_ 
   14#define ZEPHYR_INCLUDE_DRIVERS_UART_H_ 
  339__subsystem 
struct uart_driver_api {
 
  341#ifdef CONFIG_UART_ASYNC_API 
  343        int (*callback_set)(
const struct device *dev,
 
  347        int (*tx)(
const struct device *dev, 
const uint8_t *buf, 
size_t len,
 
  349        int (*tx_abort)(
const struct device *dev);
 
  351        int (*rx_enable)(
const struct device *dev, 
uint8_t *buf, 
size_t len,
 
  353        int (*rx_buf_rsp)(
const struct device *dev, 
uint8_t *buf, 
size_t len);
 
  354        int (*rx_disable)(
const struct device *dev);
 
  356#ifdef CONFIG_UART_WIDE_DATA 
  368        int (*poll_in)(
const struct device *dev, 
unsigned char *p_char);
 
  369        void (*poll_out)(
const struct device *dev, 
unsigned char out_char);
 
  371#ifdef CONFIG_UART_WIDE_DATA 
  377        int (*err_check)(
const struct device *dev);
 
  380        int (*configure)(
const struct device *dev,
 
  384#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  387        int (*fifo_fill)(
const struct device *dev, 
const uint8_t *tx_data,
 
  390#ifdef CONFIG_UART_WIDE_DATA 
  391        int (*fifo_fill_u16)(
const struct device *dev, 
const uint16_t *tx_data,
 
  399#ifdef CONFIG_UART_WIDE_DATA 
  405        void (*irq_tx_enable)(
const struct device *dev);
 
  408        void (*irq_tx_disable)(
const struct device *dev);
 
  411        int (*irq_tx_ready)(
const struct device *dev);
 
  414        void (*irq_rx_enable)(
const struct device *dev);
 
  417        void (*irq_rx_disable)(
const struct device *dev);
 
  420        int (*irq_tx_complete)(
const struct device *dev);
 
  423        int (*irq_rx_ready)(
const struct device *dev);
 
  426        void (*irq_err_enable)(
const struct device *dev);
 
  429        void (*irq_err_disable)(
const struct device *dev);
 
  432        int (*irq_is_pending)(
const struct device *dev);
 
  435        int (*irq_update)(
const struct device *dev);
 
  438        void (*irq_callback_set)(
const struct device *dev,
 
  444#ifdef CONFIG_UART_LINE_CTRL 
  451#ifdef CONFIG_UART_DRV_CMD 
  470static inline int z_impl_uart_err_check(
const struct device *dev)
 
  472        const struct uart_driver_api *api =
 
  473                (
const struct uart_driver_api *)dev->
api;
 
  475        if (api->err_check == NULL) {
 
  479        return api->err_check(dev);
 
  507static inline int z_impl_uart_poll_in(
const struct device *dev,
 
  508                                      unsigned char *p_char)
 
  510        const struct uart_driver_api *api =
 
  511                (
const struct uart_driver_api *)dev->
api;
 
  513        if (api->poll_in == NULL) {
 
  517        return api->poll_in(dev, p_char);
 
  541static inline int z_impl_uart_poll_in_u16(
const struct device *dev,
 
  544#ifdef CONFIG_UART_WIDE_DATA 
  545        const struct uart_driver_api *api =
 
  546                (
const struct uart_driver_api *)dev->
api;
 
  548        if (api->poll_in_u16 == NULL) {
 
  552        return api->poll_in_u16(dev, p_u16);
 
  575                             unsigned char out_char);
 
  577static inline void z_impl_uart_poll_out(
const struct device *dev,
 
  578                                        unsigned char out_char)
 
  580        const struct uart_driver_api *api =
 
  581                (
const struct uart_driver_api *)dev->
api;
 
  583        api->poll_out(dev, out_char);
 
  602static inline void z_impl_uart_poll_out_u16(
const struct device *dev,
 
  605#ifdef CONFIG_UART_WIDE_DATA 
  606        const struct uart_driver_api *api =
 
  607                (
const struct uart_driver_api *)dev->
api;
 
  609        api->poll_out_u16(dev, out_u16);
 
  636static inline int z_impl_uart_configure(
const struct device *dev,
 
  639        const struct uart_driver_api *api =
 
  640                                (
const struct uart_driver_api *)dev->
api;
 
  642        if (api->configure == NULL) {
 
  645        return api->configure(dev, cfg);
 
  664static inline int z_impl_uart_config_get(
const struct device *dev,
 
  667        const struct uart_driver_api *api =
 
  668                                (
const struct uart_driver_api *)dev->
api;
 
  670        if (api->config_get == NULL) {
 
  674        return api->config_get(dev, cfg);
 
  706#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  707        const struct uart_driver_api *api =
 
  708                (
const struct uart_driver_api *)dev->
api;
 
  710        if (api->fifo_fill == NULL) {
 
  714        return api->fifo_fill(dev, tx_data, size);
 
  747#if defined(CONFIG_UART_INTERRUPT_DRIVEN) && defined(CONFIG_UART_WIDE_DATA) 
  748        const struct uart_driver_api *api =
 
  749                (
const struct uart_driver_api *)dev->
api;
 
  751        if (api->fifo_fill_u16 == NULL) {
 
  755        return api->fifo_fill_u16(dev, tx_data, size);
 
  791#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  792        const struct uart_driver_api *api =
 
  793                (
const struct uart_driver_api *)dev->
api;
 
  795        if (api->fifo_read == NULL) {
 
  799        return api->fifo_read(dev, rx_data, size);
 
  836#if defined(CONFIG_UART_INTERRUPT_DRIVEN) && defined(CONFIG_UART_WIDE_DATA) 
  837        const struct uart_driver_api *api =
 
  838                (
const struct uart_driver_api *)dev->
api;
 
  840        if (api->fifo_read_u16 == NULL) {
 
  844        return api->fifo_read_u16(dev, rx_data, size);
 
  860static inline void z_impl_uart_irq_tx_enable(
const struct device *dev)
 
  862#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  863        const struct uart_driver_api *api =
 
  864                (
const struct uart_driver_api *)dev->
api;
 
  866        if (api->irq_tx_enable != NULL) {
 
  867                api->irq_tx_enable(dev);
 
  881static inline void z_impl_uart_irq_tx_disable(
const struct device *dev)
 
  883#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  884        const struct uart_driver_api *api =
 
  885                (
const struct uart_driver_api *)dev->
api;
 
  887        if (api->irq_tx_disable != NULL) {
 
  888                api->irq_tx_disable(dev);
 
  915#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  916        const struct uart_driver_api *api =
 
  917                (
const struct uart_driver_api *)dev->
api;
 
  919        if (api->irq_tx_ready == NULL) {
 
  923        return api->irq_tx_ready(dev);
 
  937static inline void z_impl_uart_irq_rx_enable(
const struct device *dev)
 
  939#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  940        const struct uart_driver_api *api =
 
  941                (
const struct uart_driver_api *)dev->
api;
 
  943        if (api->irq_rx_enable != NULL) {
 
  944                api->irq_rx_enable(dev);
 
  958static inline void z_impl_uart_irq_rx_disable(
const struct device *dev)
 
  960#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  961        const struct uart_driver_api *api =
 
  962                (
const struct uart_driver_api *)dev->
api;
 
  964        if (api->irq_rx_disable != NULL) {
 
  965                api->irq_rx_disable(dev);
 
  993#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
  994        const struct uart_driver_api *api =
 
  995                (
const struct uart_driver_api *)dev->
api;
 
  997        if (api->irq_tx_complete == NULL) {
 
 1000        return api->irq_tx_complete(dev);
 
 1029#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1030        const struct uart_driver_api *api =
 
 1031                (
const struct uart_driver_api *)dev->
api;
 
 1033        if (api->irq_rx_ready == NULL) {
 
 1036        return api->irq_rx_ready(dev);
 
 1049static inline void z_impl_uart_irq_err_enable(
const struct device *dev)
 
 1051#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1052        const struct uart_driver_api *api =
 
 1053                (
const struct uart_driver_api *)dev->
api;
 
 1055        if (api->irq_err_enable) {
 
 1056                api->irq_err_enable(dev);
 
 1070static inline void z_impl_uart_irq_err_disable(
const struct device *dev)
 
 1072#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1073        const struct uart_driver_api *api =
 
 1074                (
const struct uart_driver_api *)dev->
api;
 
 1076        if (api->irq_err_disable) {
 
 1077                api->irq_err_disable(dev);
 
 1096static inline int z_impl_uart_irq_is_pending(
const struct device *dev)
 
 1098#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1099        const struct uart_driver_api *api =
 
 1100                (
const struct uart_driver_api *)dev->
api;
 
 1102        if (api->irq_is_pending == NULL) {
 
 1105        return api->irq_is_pending(dev);
 
 1139static inline int z_impl_uart_irq_update(
const struct device *dev)
 
 1141#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1142        const struct uart_driver_api *api =
 
 1143                (
const struct uart_driver_api *)dev->
api;
 
 1145        if (api->irq_update == NULL) {
 
 1148        return api->irq_update(dev);
 
 1174#ifdef CONFIG_UART_INTERRUPT_DRIVEN 
 1175        const struct uart_driver_api *api =
 
 1176                (
const struct uart_driver_api *)dev->
api;
 
 1178        if ((api != NULL) && (api->irq_callback_set != NULL)) {
 
 1179                api->irq_callback_set(dev, cb, 
user_data);
 
 1239#ifdef CONFIG_UART_ASYNC_API 
 1240        const struct uart_driver_api *api =
 
 1241                        (
const struct uart_driver_api *)dev->
api;
 
 1243        if (api->callback_set == NULL) {
 
 1247        return api->callback_set(dev, callback, 
user_data);
 
 1250        ARG_UNUSED(callback);
 
 1277static inline int z_impl_uart_tx(
const struct device *dev, 
const uint8_t *buf,
 
 1281#ifdef CONFIG_UART_ASYNC_API 
 1282        const struct uart_driver_api *api =
 
 1283                        (
const struct uart_driver_api *)dev->
api;
 
 1285        return api->tx(dev, buf, len, 
timeout);
 
 1315static inline int z_impl_uart_tx_u16(
const struct device *dev,
 
 1320#if defined(CONFIG_UART_ASYNC_API) && defined(CONFIG_UART_WIDE_DATA) 
 1321        const struct uart_driver_api *api =
 
 1322                        (
const struct uart_driver_api *)dev->
api;
 
 1324        return api->tx_u16(dev, buf, len, 
timeout);
 
 1348static inline int z_impl_uart_tx_abort(
const struct device *dev)
 
 1350#ifdef CONFIG_UART_ASYNC_API 
 1351        const struct uart_driver_api *api =
 
 1352                        (
const struct uart_driver_api *)dev->
api;
 
 1354        return api->tx_abort(dev);
 
 1386static inline int z_impl_uart_rx_enable(
const struct device *dev,
 
 1390#ifdef CONFIG_UART_ASYNC_API 
 1391        const struct uart_driver_api *api =
 
 1392                                (
const struct uart_driver_api *)dev->
api;
 
 1394        return api->rx_enable(dev, buf, len, 
timeout);
 
 1428static inline int z_impl_uart_rx_enable_u16(
const struct device *dev,
 
 1432#if defined(CONFIG_UART_ASYNC_API) && defined(CONFIG_UART_WIDE_DATA) 
 1433        const struct uart_driver_api *api =
 
 1434                                (
const struct uart_driver_api *)dev->
api;
 
 1436        return api->rx_enable_u16(dev, buf, len, 
timeout);
 
 1469#ifdef CONFIG_UART_ASYNC_API 
 1470        const struct uart_driver_api *api =
 
 1471                                (
const struct uart_driver_api *)dev->
api;
 
 1473        return api->rx_buf_rsp(dev, buf, len);
 
 1506#if defined(CONFIG_UART_ASYNC_API) && defined(CONFIG_UART_WIDE_DATA) 
 1507        const struct uart_driver_api *api =
 
 1508                                (
const struct uart_driver_api *)dev->
api;
 
 1510        return api->rx_buf_rsp_u16(dev, buf, len);
 
 1536static inline int z_impl_uart_rx_disable(
const struct device *dev)
 
 1538#ifdef CONFIG_UART_ASYNC_API 
 1539        const struct uart_driver_api *api =
 
 1540                        (
const struct uart_driver_api *)dev->
api;
 
 1542        return api->rx_disable(dev);
 
 1568static inline int z_impl_uart_line_ctrl_set(
const struct device *dev,
 
 1571#ifdef CONFIG_UART_LINE_CTRL 
 1572        const struct uart_driver_api *api =
 
 1573                (
const struct uart_driver_api *)dev->
api;
 
 1575        if (api->line_ctrl_set == NULL) {
 
 1578        return api->line_ctrl_set(dev, ctrl, val);
 
 1602static inline int z_impl_uart_line_ctrl_get(
const struct device *dev,
 
 1605#ifdef CONFIG_UART_LINE_CTRL 
 1606        const struct uart_driver_api *api =
 
 1607                (
const struct uart_driver_api *)dev->
api;
 
 1609        if (api->line_ctrl_get == NULL) {
 
 1612        return api->line_ctrl_get(dev, ctrl, val);
 
 1641#ifdef CONFIG_UART_DRV_CMD 
 1642        const struct uart_driver_api *api =
 
 1643                (
const struct uart_driver_api *)dev->
api;
 
 1645        if (api->drv_cmd == NULL) {
 
 1648        return api->drv_cmd(dev, 
cmd, 
p);
 
 1665#include <syscalls/uart.h> 
ZTEST_BMEM int timeout
Definition: main.c:31
 
static void cmd(uint32_t command)
Execute a display list command by co-processor engine.
Definition: ft8xx_reference_api.h:153
 
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition: util_macro.h:44
 
#define ENOSYS
Definition: errno.h:83
 
#define ENOTSUP
Definition: errno.h:115
 
int uart_rx_enable_u16(const struct device *dev, uint16_t *buf, size_t len, int32_t timeout)
Start receiving wide data through UART.
 
static int uart_rx_buf_rsp(const struct device *dev, uint8_t *buf, size_t len)
Provide receive buffer in response to UART_RX_BUF_REQUEST event.
Definition: uart.h:1466
 
static int uart_rx_buf_rsp_u16(const struct device *dev, uint16_t *buf, size_t len)
Provide wide data receive buffer in response to UART_RX_BUF_REQUEST event.
Definition: uart.h:1503
 
void(* uart_callback_t)(const struct device *dev, struct uart_event *evt, void *user_data)
Define the application callback function signature for uart_callback_set() function.
Definition: uart.h:325
 
int uart_rx_enable(const struct device *dev, uint8_t *buf, size_t len, int32_t timeout)
Start receiving data through UART.
 
int uart_tx_abort(const struct device *dev)
Abort current TX transmission.
 
int uart_tx_u16(const struct device *dev, const uint16_t *buf, size_t len, int32_t timeout)
Send given number of datum from buffer through UART.
 
static int uart_callback_set(const struct device *dev, uart_callback_t callback, void *user_data)
Set event handler function.
Definition: uart.h:1235
 
uart_event_type
Types of events passed to callback in UART_ASYNC_API.
Definition: uart.h:208
 
int uart_tx(const struct device *dev, const uint8_t *buf, size_t len, int32_t timeout)
Send given number of bytes from buffer through UART.
 
int uart_rx_disable(const struct device *dev)
Disable RX.
 
@ UART_RX_STOPPED
RX has stopped due to external event.
Definition: uart.h:259
 
@ UART_TX_ABORTED
Transmitting aborted due to timeout or uart_tx_abort call.
Definition: uart.h:218
 
@ UART_RX_BUF_REQUEST
Driver requests next buffer for continuous reception.
Definition: uart.h:241
 
@ UART_TX_DONE
Whole TX buffer was transmitted.
Definition: uart.h:210
 
@ UART_RX_RDY
Received data is ready for processing.
Definition: uart.h:229
 
@ UART_RX_DISABLED
RX has been disabled and can be reenabled.
Definition: uart.h:253
 
@ UART_RX_BUF_RELEASED
Buffer is no longer used by UART driver.
Definition: uart.h:245
 
uart_line_ctrl
Line control signals.
Definition: uart.h:33
 
int uart_err_check(const struct device *dev)
Check whether an error was detected.
 
int uart_config_get(const struct device *dev, struct uart_config *cfg)
Get UART configuration.
 
uart_config_flow_control
Hardware flow control options.
Definition: uart.h:109
 
int uart_configure(const struct device *dev, const struct uart_config *cfg)
Set UART configuration.
 
int uart_drv_cmd(const struct device *dev, uint32_t cmd, uint32_t p)
Send extra command to driver.
 
int uart_line_ctrl_set(const struct device *dev, uint32_t ctrl, uint32_t val)
Manipulate line control for UART.
 
uart_config_parity
Parity modes.
Definition: uart.h:77
 
uart_config_data_bits
Number of data bits.
Definition: uart.h:94
 
uart_rx_stop_reason
Reception stop reasons.
Definition: uart.h:47
 
uart_config_stop_bits
Number of stop bits.
Definition: uart.h:86
 
int uart_line_ctrl_get(const struct device *dev, uint32_t ctrl, uint32_t *val)
Retrieve line control for UART.
 
@ UART_LINE_CTRL_DTR
Definition: uart.h:36
 
@ UART_LINE_CTRL_RTS
Definition: uart.h:35
 
@ UART_LINE_CTRL_BAUD_RATE
Definition: uart.h:34
 
@ UART_LINE_CTRL_DCD
Definition: uart.h:37
 
@ UART_LINE_CTRL_DSR
Definition: uart.h:38
 
@ UART_CFG_FLOW_CTRL_DTR_DSR
Definition: uart.h:112
 
@ UART_CFG_FLOW_CTRL_NONE
Definition: uart.h:110
 
@ UART_CFG_FLOW_CTRL_RS485
Definition: uart.h:113
 
@ UART_CFG_FLOW_CTRL_RTS_CTS
Definition: uart.h:111
 
@ UART_CFG_PARITY_MARK
Definition: uart.h:81
 
@ UART_CFG_PARITY_NONE
Definition: uart.h:78
 
@ UART_CFG_PARITY_ODD
Definition: uart.h:79
 
@ UART_CFG_PARITY_SPACE
Definition: uart.h:82
 
@ UART_CFG_PARITY_EVEN
Definition: uart.h:80
 
@ UART_CFG_DATA_BITS_5
Definition: uart.h:95
 
@ UART_CFG_DATA_BITS_8
Definition: uart.h:98
 
@ UART_CFG_DATA_BITS_7
Definition: uart.h:97
 
@ UART_CFG_DATA_BITS_6
Definition: uart.h:96
 
@ UART_CFG_DATA_BITS_9
Definition: uart.h:99
 
@ UART_ERROR_NOISE
Noise error.
Definition: uart.h:73
 
@ UART_ERROR_OVERRUN
Overrun error.
Definition: uart.h:49
 
@ UART_BREAK
Break interrupt.
Definition: uart.h:61
 
@ UART_ERROR_PARITY
Parity error.
Definition: uart.h:51
 
@ UART_ERROR_COLLISION
Collision error.
Definition: uart.h:71
 
@ UART_ERROR_FRAMING
Framing error.
Definition: uart.h:53
 
@ UART_CFG_STOP_BITS_1_5
Definition: uart.h:89
 
@ UART_CFG_STOP_BITS_0_5
Definition: uart.h:87
 
@ UART_CFG_STOP_BITS_1
Definition: uart.h:88
 
@ UART_CFG_STOP_BITS_2
Definition: uart.h:90
 
int uart_irq_is_pending(const struct device *dev)
Check if any IRQs is pending.
 
static int uart_fifo_read_u16(const struct device *dev, uint16_t *rx_data, const int size)
Read wide data from FIFO.
Definition: uart.h:832
 
void uart_irq_rx_enable(const struct device *dev)
Enable RX interrupt.
 
static int uart_irq_tx_ready(const struct device *dev)
Check if UART TX buffer can accept a new char.
Definition: uart.h:913
 
static int uart_irq_callback_set(const struct device *dev, uart_irq_callback_user_data_t cb)
Set the IRQ callback function pointer (legacy).
Definition: uart.h:1205
 
void(* uart_irq_config_func_t)(const struct device *dev)
For configuring IRQ on each individual UART device.
Definition: uart.h:153
 
void uart_irq_err_enable(const struct device *dev)
Enable error interrupt.
 
static int uart_irq_tx_complete(const struct device *dev)
Check if UART TX block finished transmission.
Definition: uart.h:991
 
void uart_irq_tx_enable(const struct device *dev)
Enable TX interrupt in IER.
 
void uart_irq_rx_disable(const struct device *dev)
Disable RX interrupt.
 
static int uart_fifo_fill_u16(const struct device *dev, const uint16_t *tx_data, int size)
Fill FIFO with wide data.
Definition: uart.h:743
 
void uart_irq_err_disable(const struct device *dev)
Disable error interrupt.
 
static int uart_fifo_read(const struct device *dev, uint8_t *rx_data, const int size)
Read data from FIFO.
Definition: uart.h:788
 
int uart_irq_update(const struct device *dev)
Start processing interrupts in ISR.
 
static int uart_irq_rx_ready(const struct device *dev)
Check if UART RX buffer has a received char.
Definition: uart.h:1027
 
void(* uart_irq_callback_user_data_t)(const struct device *dev, void *user_data)
Define the application callback function signature for uart_irq_callback_user_data_set() function.
Definition: uart.h:145
 
static int uart_irq_callback_user_data_set(const struct device *dev, uart_irq_callback_user_data_t cb, void *user_data)
Set the IRQ callback function pointer.
Definition: uart.h:1170
 
void uart_irq_tx_disable(const struct device *dev)
Disable TX interrupt in IER.
 
static int uart_fifo_fill(const struct device *dev, const uint8_t *tx_data, int size)
Fill FIFO with data.
Definition: uart.h:702
 
void uart_poll_out(const struct device *dev, unsigned char out_char)
Write a character to the device for output.
 
void uart_poll_out_u16(const struct device *dev, uint16_t out_u16)
Write a 16-bit datum to the device for output.
 
int uart_poll_in_u16(const struct device *dev, uint16_t *p_u16)
Read a 16-bit datum from the device for input.
 
int uart_poll_in(const struct device *dev, unsigned char *p_char)
Read a character from the device for input.
 
struct k_pipe p
Definition: kobject.c:1322
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__INT32_TYPE__ int32_t
Definition: stdint.h:74
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384
 
UART controller configuration structure.
Definition: uart.h:125
 
uint8_t stop_bits
Definition: uart.h:128
 
uint8_t parity
Definition: uart.h:127
 
uint8_t data_bits
Definition: uart.h:129
 
uint32_t baudrate
Definition: uart.h:126
 
uint8_t flow_ctrl
Definition: uart.h:130
 
UART RX buffer released event data.
Definition: uart.h:286
 
uint8_t * buf
Definition: uart.h:288
 
UART RX stopped data.
Definition: uart.h:292
 
struct uart_event_rx data
Last received data.
Definition: uart.h:296
 
enum uart_rx_stop_reason reason
Reason why receiving stopped.
Definition: uart.h:294
 
UART RX event data.
Definition: uart.h:276
 
uint8_t * buf
Pointer to current buffer.
Definition: uart.h:278
 
size_t len
Number of new bytes received.
Definition: uart.h:282
 
size_t offset
Currently received data offset in bytes.
Definition: uart.h:280
 
UART TX event data.
Definition: uart.h:263
 
const uint8_t * buf
Pointer to current buffer.
Definition: uart.h:265
 
size_t len
Number of bytes sent.
Definition: uart.h:267
 
Structure containing information about current event.
Definition: uart.h:300
 
union uart_event::uart_event_data data
 
enum uart_event_type type
Type of event.
Definition: uart.h:302
 
static const intptr_t user_data[5]
Definition: main.c:588
 
Event data.
Definition: uart.h:304
 
struct uart_event_tx tx
UART_TX_DONE and UART_TX_ABORTED events data.
Definition: uart.h:306
 
struct uart_event_rx_stop rx_stop
UART_RX_STOPPED event data.
Definition: uart.h:312
 
struct uart_event_rx_buf rx_buf
UART_RX_BUF_RELEASED event data.
Definition: uart.h:310
 
struct uart_event_rx rx
UART_RX_RDY event data.
Definition: uart.h:308