Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
Paparazzi UAS
Style Guides
Onboard Modules
Paparazzi Messages
Paparazzi Technical Primers
Math library
CATIA
Todo List
Bibliography
Modules
Namespace Members
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
uart_arch.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009 Antoine Drouin <poinix@gmail.com>
3
*
4
* This file is part of Paparazzi.
5
*
6
* Paparazzi is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* Paparazzi is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with Paparazzi; see the file COPYING. If not, write to
18
* the Free Software Foundation, 59 Temple Place - Suite 330,
19
* Boston, MA 02111-1307, USA.
20
*/
21
26
#ifndef UART_ARCH_H
27
#define UART_ARCH_H
28
29
// higher default uart buffer sizes on linux
30
#ifndef UART_RX_BUFFER_SIZE
31
#define UART_RX_BUFFER_SIZE 512
32
#endif
33
#ifndef UART_TX_BUFFER_SIZE
34
#define UART_TX_BUFFER_SIZE 512
35
#endif
36
37
#include "
mcu_periph/uart.h
"
38
39
// for definition of baud rates
40
#if !USE_ARBITRARY_BAUDRATE
41
#include <termios.h>
42
#else
43
#include <linux/termios.h>
44
#endif
45
46
// strange speed for SBUS
47
#ifndef B100000
48
#define B100000 100000
49
#endif
50
51
// for conversion between linux baud rate definition and actual speed
52
static
inline
int
uart_speed
(
int
def)
53
{
54
switch
(def) {
55
case
B1200
:
return
1200;
56
case
B2400
:
return
2400;
57
case
B4800
:
return
4800;
58
case
B9600
:
return
9600;
59
case
B19200
:
return
19200;
60
case
B38400
:
return
38400;
61
case
B57600
:
return
57600;
62
case
B100000
:
return
100000;
63
case
B115200
:
return
115200;
64
case
B230400
:
return
230400;
65
#ifdef B921600
66
case
B921600
:
return
921600;
67
#endif
68
default
:
return
9600;
69
}
70
}
71
#define UART_SPEED(_def) uart_speed(_def)
72
73
#endif
/* UART_ARCH_H */
B38400
#define B38400
Definition:
uart_arch.h:45
uart.h
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
B115200
#define B115200
Definition:
uart_arch.h:48
B230400
#define B230400
Definition:
uart_arch.h:49
B921600
#define B921600
Definition:
uart_arch.h:50
B19200
#define B19200
Definition:
uart_arch.h:44
B4800
#define B4800
Definition:
uart_arch.h:42
B2400
#define B2400
Definition:
uart_arch.h:41
B9600
#define B9600
Definition:
uart_arch.h:43
uart_speed
static int uart_speed(int def)
Definition:
uart_arch.h:52
B100000
#define B100000
Definition:
uart_arch.h:48
B1200
#define B1200
Definition:
uart_arch.h:40
B57600
#define B57600
Definition:
uart_arch.h:46
sw
airborne
arch
linux
mcu_periph
uart_arch.h
Generated on Sat Feb 9 2019 06:43:44 for Paparazzi UAS by
1.8.8