41#include <sys/select.h>
43#ifndef UART_THREAD_PRIO
44#define UART_THREAD_PRIO 11
52#define TRACE(fmt,args...)
60 fprintf(
stderr,
"uart_arch_init: Could not create UART reading thread.\n");
274 TRACE(
"Error opening %s code %d\n", periph->
dev,
ret);
326 unsigned char c =
'D';
335 while (
read(
fd, &c, 1) > 0) {
342 TRACE(
"uart_receive_handler: rx_buf full! discarding received byte: %x %c\n", c, c);
360 int available =
p->rx_insert_idx -
p->rx_extract_idx;
#define UART3_DEV
uart connected to SBUS input
void uart_put_byte(struct uart_periph *periph, long fd, uint8_t data)
#define TRACE(fmt, args...)
static void uart_receive_handler(struct uart_periph *periph)
int uart_char_available(struct uart_periph *p)
Check UART for available chars in receive buffer.
static void * uart_thread(void *data)
void uart_arch_init(void)
void uart_periph_set_bits_stop_parity(struct uart_periph *periph, uint8_t bits, uint8_t stop, uint8_t parity)
static void uart_periph_open(struct uart_periph *periph, uint32_t baud)
static pthread_mutex_t uart_mutex
uint8_t uart_getch(struct uart_periph *p)
void uart_periph_set_baudrate(struct uart_periph *periph, uint32_t baud)
#define UART_RX_BUFFER_SIZE
Functions to obtain rt priority or set the nice level.
static int get_rt_prio(int prio)
void serial_port_free(struct SerialPort *me)
void serial_port_close(struct SerialPort *me)
int serial_port_open_raw(struct SerialPort *me, const char *device, speed_t speed)
struct SerialPort * serial_port_new(void)
int serial_port_set_bits_stop_parity(struct SerialPort *me, const int bits, const int stop, const int parity)
int serial_port_set_baudrate(struct SerialPort *me, speed_t speed)
void uart_periph_init(struct uart_periph *p)
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
#define UART_DEV_NAME_SIZE
char dev[UART_DEV_NAME_SIZE]
UART Dev (linux)
uint8_t rx_buf[UART_RX_BUFFER_SIZE]
Receive buffer.
int baudrate
UART Baudrate.
void * reg_addr
UART Register.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.