OpenSRX 0.1.0
C++ library for interfacing with Keyence SR series barcode readers
Loading...
Searching...
No Matches
SerialInterface.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <asio.hpp>
4
6
7namespace OpenSRX {
8
10enum class Parity {
11 NONE = asio::serial_port_base::parity::none,
12 EVEN = asio::serial_port_base::parity::even,
13 ODD = asio::serial_port_base::parity::odd,
14};
15
17enum class DataBits {
18 SEVEN = 7,
19 EIGHT = 8,
20};
21
23enum class StopBits {
24 ONE = asio::serial_port_base::stop_bits::one,
25 TWO = asio::serial_port_base::stop_bits::two,
26};
27
29enum class FlowControl {
30 NONE = asio::serial_port_base::flow_control::none,
31 RTS_CTS = asio::serial_port_base::flow_control::hardware,
33 asio::serial_port_base::flow_control::software,
34};
35
42class SerialInterface : public AsioInterface<asio::serial_port> {
43 public:
54 SerialInterface(std::string port = "/dev/ttyUSB0", int baudRate = 115200,
55 DataBits dataBits = DataBits::EIGHT, Parity parity = Parity::EVEN,
56 StopBits stopBits = StopBits::ONE, FlowControl flowControl = FlowControl::NONE);
57 ~SerialInterface() override;
58
60 std::string describe() const override { return port; }
61
62 private:
63 std::string port;
64};
65
66}; // namespace OpenSRX
AsioInterface(Args &&... args)
Definition AsioInterface.hpp:52
std::string port
Serial device path.
Definition SerialInterface.hpp:63
std::string describe() const override
Return a human-readable description of this interface.
Definition SerialInterface.hpp:60
SerialInterface(std::string port="/dev/ttyUSB0", int baudRate=115200, DataBits dataBits=DataBits::EIGHT, Parity parity=Parity::EVEN, StopBits stopBits=StopBits::ONE, FlowControl flowControl=FlowControl::NONE)
Open a serial port connection.
Definition AsioInterface.hpp:5
@ ODD
Definition ParamValues.hpp:332
@ EVEN
Definition ParamValues.hpp:331
DataBits
Serial port data bits setting.
Definition SerialInterface.hpp:17
@ EIGHT
8 data bits.
Definition SerialInterface.hpp:19
@ SEVEN
7 data bits.
Definition SerialInterface.hpp:18
StopBits
Serial port stop bits setting.
Definition SerialInterface.hpp:23
@ TWO
2 stop bits.
Definition SerialInterface.hpp:25
@ ONE
1 stop bit.
Definition SerialInterface.hpp:24
FlowControl
Serial port flow control setting.
Definition SerialInterface.hpp:29
@ RTS_CTS
Hardware (RTS/CTS) flow control.
Definition SerialInterface.hpp:31
@ NONE
No flow control.
Definition SerialInterface.hpp:30
@ XON_XOFF
Software (XON/XOFF) flow control.
Definition SerialInterface.hpp:32
@ NONE
Definition ParamValues.hpp:151
Parity
Serial port parity setting.
Definition SerialInterface.hpp:10
@ EVEN
Even parity.
Definition SerialInterface.hpp:12