Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
linux uart handling More...
#include <BOARD_CONFIG>
#include "mcu_periph/uart.h"
#include <stdint.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "serial_port.h"
#include "rt_priority.h"
#include <pthread.h>
#include <sys/select.h>
Go to the source code of this file.
Macros | |
#define | UART_THREAD_PRIO 11 |
#define | TRACE(fmt, args...) |
Functions | |
static void | uart_receive_handler (struct uart_periph *periph) |
static void * | uart_thread (void *data) |
void | uart_arch_init (void) |
static void | uart_periph_open (struct uart_periph *periph, uint32_t baud) |
void | uart_periph_set_baudrate (struct uart_periph *periph, uint32_t baud) |
Set baudrate. More... | |
void | uart_periph_set_bits_stop_parity (struct uart_periph *periph, uint8_t bits, uint8_t stop, uint8_t parity) |
Set parity and stop bits. More... | |
void | uart_put_byte (struct uart_periph *periph, long fd, uint8_t data) |
Uart transmit implementation. More... | |
uint8_t | uart_getch (struct uart_periph *p) |
uint16_t | uart_char_available (struct uart_periph *p) |
Check UART for available chars in receive buffer. More... | |
Variables | |
static pthread_mutex_t | uart_mutex = PTHREAD_MUTEX_INITIALIZER |
linux uart handling
Definition in file uart_arch.c.
#define TRACE | ( | fmt, | |
args... | |||
) |
Definition at line 52 of file uart_arch.c.
Referenced by uart_periph_open(), uart_put_byte(), and uart_receive_handler().
#define UART_THREAD_PRIO 11 |
Definition at line 44 of file uart_arch.c.
Referenced by uart_thread().
void uart_arch_init | ( | void | ) |
Definition at line 54 of file uart_arch.c.
Referenced by mcu_init().
uint16_t uart_char_available | ( | struct uart_periph * | p | ) |
Check UART for available chars in receive buffer.
Definition at line 323 of file uart_arch.c.
Referenced by airspeed_uADC_event(), dw1000_arduino_event(), esc32_event(), gps_piksi_event(), gps_piksi_read(), high_speed_logger_direct_memory_periodic(), hott_check_serial_data(), hott_common_decode_event(), hott_send_telemetry_data(), imu_gx3_event(), imu_um6_event(), periodic_switch_uart(), ReadGX3Buffer(), sbus_common_decode_event(), tunnel_event(), vn200_event(), and vn200_read_buffer().
uint8_t uart_getch | ( | struct uart_periph * | p | ) |
Definition at line 314 of file uart_arch.c.
References uart_periph::rx_buf, uart_periph::rx_extract_idx, and UART_RX_BUFFER_SIZE.
|
static |
Definition at line 217 of file uart_arch.c.
References uart_periph::baudrate, uart_periph::dev, uart_periph::reg_addr, serial_port_close(), serial_port_free(), serial_port_new(), serial_port_open_raw(), and TRACE.
Referenced by uart_periph_set_baudrate().
void uart_periph_set_baudrate | ( | struct uart_periph * | periph, |
uint32_t | baud | ||
) |
Set baudrate.
Definition at line 244 of file uart_arch.c.
References uart_periph::baudrate, uart_periph::reg_addr, serial_port_set_baudrate(), and uart_periph_open().
void uart_periph_set_bits_stop_parity | ( | struct uart_periph * | periph, |
uint8_t | bits, | ||
uint8_t | stop, | ||
uint8_t | parity | ||
) |
Set parity and stop bits.
Definition at line 260 of file uart_arch.c.
References uart_periph::reg_addr, and serial_port_set_bits_stop_parity().
void uart_put_byte | ( | struct uart_periph * | periph, |
long | fd, | ||
uint8_t | data | ||
) |
Uart transmit implementation.
Definition at line 270 of file uart_arch.c.
References SerialPort::fd, uart_periph::reg_addr, and TRACE.
|
static |
Definition at line 288 of file uart_arch.c.
References fd, SerialPort::fd, TRACE, and UART_RX_BUFFER_SIZE.
Referenced by uart_thread().
|
static |
Definition at line 65 of file uart_arch.c.
References fd, get_rt_prio(), uart_receive_handler(), and UART_THREAD_PRIO.
Referenced by uart_arch_init().
|
static |
Definition at line 49 of file uart_arch.c.