Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
uart.h File Reference

arch independent UART (Universal Asynchronous Receiver/Transmitter) API More...

#include "mcu_periph/uart_arch.h"
#include "mcu_periph/link_device.h"
#include "std.h"
+ Include dependency graph for uart.h:

Go to the source code of this file.

Data Structures

struct  uart_periph
 UART peripheral. More...
 

Macros

#define UART_RX_BUFFER_SIZE   128
 
#define UART_TX_BUFFER_SIZE   128
 
#define UART_DEV_NAME_SIZE   16
 
#define UBITS_7   7
 
#define UBITS_8   8
 
#define USTOP_1   1
 
#define USTOP_2   2
 
#define UPARITY_NO   0
 
#define UPARITY_ODD   1
 
#define UPARITY_EVEN   2
 

Functions

void uart_periph_init (struct uart_periph *p)
 
void uart_periph_set_baudrate (struct uart_periph *p, uint32_t baud)
 
void uart_periph_set_bits_stop_parity (struct uart_periph *p, uint8_t bits, uint8_t stop, uint8_t parity)
 
void uart_periph_set_mode (struct uart_periph *p, bool_t tx_enabled, bool_t rx_enabled, bool_t hw_flow_control)
 
void uart_put_byte (struct uart_periph *p, uint8_t data)
 
bool_t uart_check_free_space (struct uart_periph *p, uint8_t len)
 
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...
 
void uart_arch_init (void)
 

Detailed Description

arch independent UART (Universal Asynchronous Receiver/Transmitter) API

Definition in file uart.h.


Data Structure Documentation

struct uart_periph

UART peripheral.

Definition at line 60 of file uart.h.

+ Collaboration diagram for uart_periph:
Data Fields
int baudrate UART Baudrate.
char dev[UART_DEV_NAME_SIZE] UART Dev (linux)
struct link_device device Generic device interface.
volatile uint16_t fe_err framing error counter
volatile uint16_t ne_err noise error counter
volatile uint16_t ore overrun error counter
void * reg_addr UART Register.
uint8_t rx_buf[UART_RX_BUFFER_SIZE] Receive buffer.
uint16_t rx_extract_idx
uint16_t rx_insert_idx
uint8_t tx_buf[UART_TX_BUFFER_SIZE] Transmit buffer.
uint16_t tx_extract_idx
uint16_t tx_insert_idx
uint8_t tx_running

Macro Definition Documentation

#define UART_DEV_NAME_SIZE   16

Definition at line 41 of file uart.h.

#define UART_RX_BUFFER_SIZE   128

Definition at line 36 of file uart.h.

#define UART_TX_BUFFER_SIZE   128

Definition at line 39 of file uart.h.

#define UBITS_7   7

Definition at line 47 of file uart.h.

Referenced by uart_periph_set_bits_stop_parity().

#define UBITS_8   8

Definition at line 48 of file uart.h.

Referenced by sbus_common_init().

#define UPARITY_EVEN   2

Definition at line 55 of file uart.h.

Referenced by sbus_common_init(), and uart_periph_set_bits_stop_parity().

#define UPARITY_NO   0

Definition at line 53 of file uart.h.

#define UPARITY_ODD   1

Definition at line 54 of file uart.h.

Referenced by uart_periph_set_bits_stop_parity().

#define USTOP_1   1

Definition at line 50 of file uart.h.

#define USTOP_2   2

Definition at line 51 of file uart.h.

Referenced by sbus_common_init(), and uart_periph_set_bits_stop_parity().

Function Documentation

void uart_arch_init ( void  )

Definition at line 54 of file uart_arch.c.

References uart_thread().

Referenced by mcu_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t uart_char_available ( struct uart_periph p)
bool_t uart_check_free_space ( struct uart_periph p,
uint8_t  len 
)

Definition at line 256 of file uart.c.

References uart_periph::tx_extract_idx, uart_periph::tx_insert_idx, and UART_TX_BUFFER_SIZE.

Referenced by sdlogger_spi_direct_periodic(), send_buffer_to_uart(), tunnel_event(), and uart_periph_init().

+ Here is the caller graph for this function:

void uart_periph_set_baudrate ( struct uart_periph p,
uint32_t  baud 
)
void uart_periph_set_bits_stop_parity ( struct uart_periph p,
uint8_t  bits,
uint8_t  stop,
uint8_t  parity 
)

Definition at line 77 of file uart_arch.c.

References uart_periph::reg_addr, UBITS_7, UPARITY_EVEN, UPARITY_ODD, and USTOP_2.

Referenced by high_speed_logger_direct_memory_init(), and sbus_common_init().

+ Here is the caller graph for this function:

void uart_periph_set_mode ( struct uart_periph p,
bool_t  tx_enabled,
bool_t  rx_enabled,
bool_t  hw_flow_control 
)

Definition at line 92 of file uart_arch.c.

References uart_periph::reg_addr.

Referenced by hott_enable_receiver(), and hott_enable_transmitter().

+ Here is the caller graph for this function: