semf
uart.h
Go to the documentation of this file.
1
10#ifndef SEMF_COMMUNICATION_UART_H_
11#define SEMF_COMMUNICATION_UART_H_
12
13#include <cstdint>
14#include <cstddef>
15
16namespace semf
17{
24class Uart
25{
26public:
28 enum class FlowControl: uint8_t
29 {
30 NoFlowControl = 0x00,
31 RtsFlowControl = 0x01,
32 CtsFlowControl = 0x10,
33 RtsAndCtsFlowControl = 0x11
34 };
36 enum class Parity: uint8_t
37 {
38 NoParity,
39 OddParity,
40 EvenParity
41 };
43 enum class StopBits: uint8_t
44 {
45 Stopbits_0_5,
46 Stopbits_1,
47 Stopbits_1_5,
48 Stopbits_2,
49 };
51 enum class WireMode: uint8_t
52 {
53 ReadWire,
54 WriteWire,
55 ReadAndWriteWires
56 };
57
58 virtual ~Uart() = default;
59
71 virtual void setFormat(uint8_t bits, WireMode wire, Parity par, StopBits stop, FlowControl flow) = 0;
76 virtual void setBaud(uint32_t baud) = 0;
81 virtual uint32_t baud() = 0;
82};
83} /* namespace semf */
84#endif // SEMF_COMMUNICATION_UART_H_
Interface for UART specific functionalities, which are not solved in a generic way in CommunicationHa...
Definition: uart.h:25
Parity
Definition: uart.h:37
virtual void setBaud(uint32_t baud)=0
Sets the baud rate.
FlowControl
Definition: uart.h:29
WireMode
Definition: uart.h:52
StopBits
Definition: uart.h:44
virtual uint32_t baud()=0
Returns the currently used baud rate.
virtual ~Uart()=default
virtual void setFormat(uint8_t bits, WireMode wire, Parity par, StopBits stop, FlowControl flow)=0
Sets the format for the spi slave device.