Ares LoRa Firmware
Loading...
Searching...
No Matches
serial_backend.h
Go to the documentation of this file.
1
10
11#ifndef ARES_SERIAL_BACKEND_H
12#define ARES_SERIAL_BACKEND_H
13
14#include <serial/serial.h>
16#include <zephyr/sys/ring_buffer.h>
17
22
31 const struct device *dev;
32
37
41 void *context;
42
47
51 atomic_t block_no_usb;
52};
53
63
67 struct ring_buf tx_ringbuf;
68
72 struct ring_buf rx_ringbuf;
73
78
83
87 struct k_timer dtr_timer;
88
92 atomic_t tx_busy;
93};
94
98#define SERIAL_UART_STRUCT struct serial_uart_int_driven
99
104#define SERIAL_UART_DEFINE(_name) \
105 static SERIAL_UART_STRUCT _name##_backend_uart; \
106 static struct ares_serial_transport _name = { \
107 .api = &ares_serial_uart_transport_api, .ctx = &_name##_backend_uart}
108
114
115#endif // ARES_SERIAL_BACKEND_H
Serial API.
void(* serial_transport_handler_t)(enum serial_transport_evt evt, void *ctx)
Serial transport event handler prototype.
Definition serial.h:36
const struct ares_serial * ares_serial_backend_uart_get_ptr(void)
Provides pointer to the ares_serial backend instance.
const struct ares_serial_transport_api ares_serial_uart_transport_api
Common serial macros.
#define SERIAL_BACKEND_TX_RINGBUF_SIZE
Definition serial_common.h:23
#define SERIAL_BACKEND_RX_RINGBUF_SIZE
Definition serial_common.h:35
Unified serial transport interface.
Definition serial.h:48
Ares serial internals.
Definition serial.h:267
Serial transfer layer common internals.
Definition serial_backend.h:27
serial_transport_handler_t handler
Definition serial_backend.h:36
bool block_tx
Definition serial_backend.h:46
atomic_t block_no_usb
Definition serial_backend.h:51
void * context
Definition serial_backend.h:41
const struct device * dev
Definition serial_backend.h:31
Serial interrupt driven transport layer internals.
Definition serial_backend.h:58
struct ring_buf tx_ringbuf
Definition serial_backend.h:67
struct ring_buf rx_ringbuf
Definition serial_backend.h:72
atomic_t tx_busy
Definition serial_backend.h:92
uint8_t rx_buf[SERIAL_BACKEND_RX_RINGBUF_SIZE]
Definition serial_backend.h:82
struct serial_uart_common common
Definition serial_backend.h:62
struct k_timer dtr_timer
Definition serial_backend.h:87
uint8_t tx_buf[SERIAL_BACKEND_TX_RINGBUF_SIZE]
Definition serial_backend.h:77