Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 voiduart_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 foo, 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 foo, 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 foo, p, uart_mutex, and UART_RX_BUFFER_SIZE.

◆ uart_periph_open()

static 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, foo, 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, foo, 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 foo, 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 SerialPort::fd, foo, uart_periph::reg_addr, and TRACE.

◆ uart_receive_handler()

◆ uart_thread()

static void * uart_thread ( void data)
static

Definition at line 68 of file uart_arch.c.

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

+ Here is the call graph for this function:

Variable Documentation

◆ uart_mutex

Definition at line 49 of file uart_arch.c.