25#ifndef __UART_DEVICE_H__
26#define __UART_DEVICE_H__
28#include "driver/uart.h"
31#include "freertos/task.h"
46#define DEFAULT_TX (23)
47#define DEFAULT_RX (22)
48#define DEFAULT_CTS (20)
49#define DEFAULT_RTS (21)
50#define DEFAULT_BAUDRATE (115200)
51#define DEFAULT_BUF_SIZE (2028)
52#define DEFAULT_CTRL_TRESH (122)
53#define DEFAULT_EVT_QUEUE_SIZE (10)
66 const char *
const TAG;
200 const void *
const restrict buf,
252 const char *
const restrict line,
uint32_t baudrate
UART baud rate.
Definition uart_device.h:68
QueueHandle_t evt_queue
UART event queue handle.
Definition uart_device.h:80
bool flow_ctrl
Enable hardware flow control.
Definition uart_device.h:75
size_t tx_buf_size
TX buffer size.
Definition uart_device.h:79
uint8_t cts_pin
CTS GPIO pin.
Definition uart_device.h:73
uint8_t rts_pin
RTS GPIO pin.
Definition uart_device.h:72
uart_port_t port
UART port number.
Definition uart_device.h:67
uint8_t tx_pin
TX GPIO pin.
Definition uart_device.h:70
size_t evt_queue_size
UART event queue size.
Definition uart_device.h:77
size_t rx_buf_size
RX buffer size.
Definition uart_device.h:78
uint8_t rx_pin
RX GPIO pin.
Definition uart_device.h:71
const char *const TAG
Logging tag.
Definition uart_device.h:66
uartd_config_t uartd_default_config(void)
Get a default UART configuration to drive the UART1 controller.
Definition uart_device.c:37
esp_err_t uartd_writeline(const uartd_config_t *const restrict cfg, const char *const restrict line, size_t *out_len)
Write a null-terminated line to UART.
Definition uart_device.c:263
esp_err_t uartd_deinit(uartd_config_t *restrict cfg)
Deinitialize a UART device.
Definition uart_device.c:123
esp_err_t uartd_readline(const uartd_config_t *const restrict cfg, char *restrict line, size_t max_len, TickType_t timeout, size_t *out_len)
Read up to a newline-terminated string from UART.
Definition uart_device.c:220
esp_err_t uartd_init(uartd_config_t *restrict cfg)
Initialize an UART controller.
Definition uart_device.c:58
esp_err_t uartd_wait_event(const uartd_config_t *cfg, uart_event_t *event, TickType_t timeout)
Wait for an UART event.
Definition uart_device.c:153
esp_err_t uartd_write(const uartd_config_t *const restrict cfg, const void *const restrict buf, size_t sz, size_t len, size_t *out_bytes)
Write raw data to UART.
Definition uart_device.c:194
esp_err_t uartd_read(const uartd_config_t *const restrict cfg, void *restrict buf, size_t sz, size_t len, TickType_t timeout, size_t *out_bytes)
Read raw data from UART.
Definition uart_device.c:166
UART device configuration structure.
Definition uart_device.h:65