Flair
Framework Libre Air
Unix_SerialPort.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef UNIX_SERIALPORT_H
14 #define UNIX_SERIALPORT_H
15 
16 #include <SerialPort.h>
17 #include <termios.h> /* POSIX terminal control definitions */
18 
19 namespace flair {
20 namespace core {
26 class Unix_SerialPort : public SerialPort {
27 
28 public:
39  Unix_SerialPort(const Object *parent, std::string port_name,
40  std::string device);
41 
47 
54  void SetBaudrate(int baudrate) override;
55 
63  void SetRxTimeout(Time timeout_ns) override;
64 
73  ssize_t Write(const void *buf, size_t nbyte) override;
74 
83  ssize_t Read(void *buf, size_t nbyte) override;
84 
89  void FlushInput(void) override;
90 
91 private:
92  int fd;
93  struct termios options;
94 };
95 } // end namespace core
96 } // end namespace flair
97 
98 #endif // UNIX_SERIALPORT_H
Base class for all Framework's classes.
Definition: Object.h:84
namespace of the flair Framework
Definition: Ahrs.h:19
unsigned long long Time
Time definition, in ns.
Definition: Object.h:56
Class for unix serial port.
Definition: Unix_SerialPort.h:26
Base class for serial port.
Definition: SerialPort.h:24
void SetRxTimeout(Time timeout_ns) override
Set RX timeout.
void FlushInput(void) override
Flush input datas.
void SetBaudrate(int baudrate) override
Set baudrate.
ssize_t Write(const void *buf, size_t nbyte) override
Write datas.
Unix_SerialPort(const Object *parent, std::string port_name, std::string device)
Constructor.
Base class for serial port.
ssize_t Read(void *buf, size_t nbyte) override
Read datas.