Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
serial_port.c File Reference
#include "serial_port.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <termios.h>
+ Include dependency graph for serial_port.c:

Go to the source code of this file.

Macros

#define B100000   100000
 some definitions from PPRZ uart driver as we can't include it directly More...
 
#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
 
#define IUCLC   0
 
#define TRACE(type, fmt, args...)
 
#define TRACE_ERROR   1
 

Functions

static int uart_speed (int def)
 
struct SerialPortserial_port_new (void)
 
void serial_port_free (struct SerialPort *me)
 
void serial_port_flush (struct SerialPort *me)
 
void serial_port_flush_output (struct SerialPort *me)
 
int serial_port_open_raw (struct SerialPort *me, const char *device, speed_t speed)
 
int serial_port_open (struct SerialPort *me, const char *device, void(*term_conf_callback)(struct termios *, speed_t *))
 
void serial_port_close (struct SerialPort *me)
 
int serial_port_set_baudrate (struct SerialPort *me, speed_t speed)
 
int serial_port_set_bits_stop_parity (struct SerialPort *me, const int bits, const int stop, const int parity)
 

Macro Definition Documentation

◆ B100000

#define B100000   100000

some definitions from PPRZ uart driver as we can't include it directly

Definition at line 25 of file serial_port.c.

◆ IUCLC

#define IUCLC   0

Definition at line 67 of file serial_port.c.

◆ TRACE

#define TRACE (   type,
  fmt,
  args... 
)

Definition at line 71 of file serial_port.c.

◆ TRACE_ERROR

#define TRACE_ERROR   1

Definition at line 72 of file serial_port.c.

◆ UBITS_7

#define UBITS_7   7

Definition at line 49 of file serial_port.c.

◆ UBITS_8

#define UBITS_8   8

Definition at line 50 of file serial_port.c.

◆ UPARITY_EVEN

#define UPARITY_EVEN   2

Definition at line 57 of file serial_port.c.

◆ UPARITY_NO

#define UPARITY_NO   0

Definition at line 55 of file serial_port.c.

◆ UPARITY_ODD

#define UPARITY_ODD   1

Definition at line 56 of file serial_port.c.

◆ USTOP_1

#define USTOP_1   1

Definition at line 52 of file serial_port.c.

◆ USTOP_2

#define USTOP_2   2

Definition at line 53 of file serial_port.c.

Function Documentation

◆ serial_port_close()

void serial_port_close ( struct SerialPort me)

Definition at line 184 of file serial_port.c.

References SerialPort::fd, SerialPort::orig_termios, TRACE, and TRACE_ERROR.

Referenced by uart_periph_open().

+ Here is the caller graph for this function:

◆ serial_port_flush()

void serial_port_flush ( struct SerialPort me)

Definition at line 89 of file serial_port.c.

References SerialPort::fd, TRACE, and TRACE_ERROR.

Referenced by serial_port_open(), and serial_port_open_raw().

+ Here is the caller graph for this function:

◆ serial_port_flush_output()

void serial_port_flush_output ( struct SerialPort me)

Definition at line 100 of file serial_port.c.

References SerialPort::fd, TRACE, and TRACE_ERROR.

◆ serial_port_free()

void serial_port_free ( struct SerialPort me)

Definition at line 80 of file serial_port.c.

Referenced by uart_periph_open().

+ Here is the caller graph for this function:

◆ serial_port_new()

struct SerialPort* serial_port_new ( void  )

Definition at line 74 of file serial_port.c.

Referenced by uart_periph_open().

+ Here is the caller graph for this function:

◆ serial_port_open()

int serial_port_open ( struct SerialPort me,
const char *  device,
void(*)(struct termios *, speed_t *)  term_conf_callback 
)

Definition at line 153 of file serial_port.c.

References SerialPort::cur_termios, SerialPort::fd, SerialPort::orig_termios, serial_port_flush(), TRACE, and TRACE_ERROR.

+ Here is the call graph for this function:

◆ serial_port_open_raw()

int serial_port_open_raw ( struct SerialPort me,
const char *  device,
speed_t  speed 
)

Definition at line 111 of file serial_port.c.

References SerialPort::cur_termios, SerialPort::fd, IUCLC, SerialPort::orig_termios, serial_port_flush(), TRACE, and TRACE_ERROR.

Referenced by uart_periph_open().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ serial_port_set_baudrate()

int serial_port_set_baudrate ( struct SerialPort me,
speed_t  speed 
)

Definition at line 210 of file serial_port.c.

References SerialPort::cur_termios, SerialPort::fd, TRACE, and TRACE_ERROR.

Referenced by uart_periph_set_baudrate().

+ Here is the caller graph for this function:

◆ serial_port_set_bits_stop_parity()

int serial_port_set_bits_stop_parity ( struct SerialPort me,
const int  bits,
const int  stop,
const int  parity 
)

Definition at line 224 of file serial_port.c.

References SerialPort::cur_termios, SerialPort::fd, TRACE, TRACE_ERROR, UBITS_7, UPARITY_EVEN, UPARITY_ODD, and USTOP_1.

Referenced by uart_periph_set_bits_stop_parity().

+ Here is the caller graph for this function:

◆ uart_speed()

static int uart_speed ( int  def)
inlinestatic

Definition at line 29 of file serial_port.c.

References B100000, B115200, B1200, B19200, B230400, B2400, B38400, B4800, B57600, B921600, and B9600.