B15F
Board 15 Famulus Edition
usart.h
1 #ifndef USART_H
2 #define USART_H
3 
4 #include <cstdint>
5 #include <fcntl.h>
6 #include <unistd.h>
7 #include <termios.h>
8 #include <sys/ioctl.h>
9 #include "usartexception.h"
10 
13 class USART
14 {
15 public:
16 
17  /*************************************************
18  * Methoden für die Verwaltung der Schnittstelle *
19  *************************************************/
20 
24  explicit USART() = default;
25 
29  virtual ~USART(void);
30 
36  void openDevice(std::string device);
37 
42  void closeDevice(void);
43 
48  void clearInputBuffer(void);
49 
54  void clearOutputBuffer(void);
55 
60  void flushOutputBuffer(void);
61 
62  /*************************************************/
63 
64 
65 
66  /*************************************
67  * Methoden für die Datenübertragung *
68  *************************************/
69 
77  void transmit(uint8_t *buffer, uint16_t offset, uint8_t len);
78 
86  void receive(uint8_t *buffer, uint16_t offset, uint8_t len);
87 
88  /*************************************/
89 
90 
91 
92  /***************************************
93  * Methoden für einstellbare Parameter *
94  ***************************************/
95 
100  uint32_t getBaudrate(void);
101 
106  uint8_t getTimeout(void);
107 
112  void setBaudrate(uint32_t baudrate);
113 
118  void setTimeout(uint8_t timeout);
119 
120  /***************************************/
121 
122 private:
123 
124  int file_desc = -1;
125  uint32_t baudrate = 9600;
126  uint8_t timeout = 10;
127 };
128 
129 #endif // USART_H
USART::getBaudrate
uint32_t getBaudrate(void)
Definition: usart.cpp:86
USART::USART
USART()=default
USART::closeDevice
void closeDevice(void)
Definition: usart.cpp:38
USART::transmit
void transmit(uint8_t *buffer, uint16_t offset, uint8_t len)
Definition: usart.cpp:78
USART::receive
void receive(uint8_t *buffer, uint16_t offset, uint8_t len)
Definition: usart.cpp:70
USART::clearInputBuffer
void clearInputBuffer(void)
Definition: usart.cpp:49
USART::getTimeout
uint8_t getTimeout(void)
Definition: usart.cpp:91
USART
Definition: usart.h:13
USART::clearOutputBuffer
void clearOutputBuffer(void)
Definition: usart.cpp:56
USART::setBaudrate
void setBaudrate(uint32_t baudrate)
Definition: usart.cpp:96
USART::~USART
virtual ~USART(void)
Definition: usart.cpp:3
USART::openDevice
void openDevice(std::string device)
Definition: usart.cpp:8
USART::setTimeout
void setTimeout(uint8_t timeout)
Definition: usart.cpp:101
USART::flushOutputBuffer
void flushOutputBuffer(void)
Definition: usart.cpp:63