Paparazzi UAS v7.1_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
uart_arch.c File Reference
#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>
Include dependency graph for uart_arch.c:

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)
void uart_periph_set_bits_stop_parity (struct uart_periph *periph, uint8_t bits, uint8_t stop, uint8_t parity)
void uart_put_byte (struct uart_periph *periph, long fd, uint8_t data)
uint8_t uart_getch (struct uart_periph *p)
int uart_char_available (struct uart_periph *p)
 Check UART for available chars in receive buffer.

Variables

static pthread_mutex_t uart_mutex = PTHREAD_MUTEX_INITIALIZER

Macro Definition Documentation

◆ TRACE

#define TRACE ( fmt,
args... )

Definition at line 52 of file uart_arch.c.

◆ UART_THREAD_PRIO

#define UART_THREAD_PRIO   11

Definition at line 44 of file uart_arch.c.

Function Documentation

◆ uart_arch_init()

void uart_arch_init ( void )

Definition at line 54 of file uart_arch.c.

References uart_mutex, and uart_thread().

Here is the call graph for this function:

◆ uart_char_available()

int uart_char_available ( struct uart_periph * p)

Check UART for available chars in receive buffer.

Returns
number of chars in the buffer

Definition at line 357 of file uart_arch.c.

References p, uart_mutex, and UART_RX_BUFFER_SIZE.

◆ uart_getch()

uint8_t uart_getch ( struct uart_periph * p)

Definition at line 348 of file uart_arch.c.

References p, uart_mutex, and UART_RX_BUFFER_SIZE.

◆ uart_periph_open()

void uart_periph_open ( struct uart_periph * periph,
uint32_t baud )
static

Definition at line 253 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.

Here is the call graph for this function:

◆ uart_periph_set_baudrate()

void uart_periph_set_baudrate ( struct uart_periph * periph,
uint32_t baud )

Definition at line 280 of file uart_arch.c.

References uart_periph::baudrate, uart_periph::reg_addr, serial_port_set_baudrate(), and uart_periph_open().

Here is the call graph for this function:

◆ uart_periph_set_bits_stop_parity()

void uart_periph_set_bits_stop_parity ( struct uart_periph * periph,
uint8_t bits,
uint8_t stop,
uint8_t parity )

Definition at line 296 of file uart_arch.c.

References uart_periph::reg_addr, and serial_port_set_bits_stop_parity().

Here is the call graph for this function:

◆ uart_put_byte()

void uart_put_byte ( struct uart_periph * periph,
long fd,
uint8_t data )

Definition at line 306 of file uart_arch.c.

References fd, SerialPort::fd, uart_periph::reg_addr, and TRACE.

◆ uart_receive_handler()

void uart_receive_handler ( struct uart_periph * periph)
static

◆ uart_thread()

void * uart_thread ( void * data)
static

Definition at line 68 of file uart_arch.c.

References fd, get_rt_prio(), uart_receive_handler(), and UART_THREAD_PRIO.

Here is the call graph for this function:

Variable Documentation

◆ uart_mutex

pthread_mutex_t uart_mutex = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 49 of file uart_arch.c.