11 #include <RADCore/RADCore.h>
79 ssize_t
readData(
void* buffer,
size_t maxBytes)
override;
81 ssize_t
writeData(
const void* data,
size_t size)
override;
88 std::shared_ptr<Impl> pImpl_;
#define RAD_EVENT(Name, Signature)
Declares a typed RADCore event; example: RAD_EVENT(done, (int)).
Definition: RADCore.h:65
#define RADEvents
Marks a public event declaration block in RADObject-derived classes.
Definition: RADCore.h:43
RADCore task event loop with locked and low-latency scheduling strategies.
Definition: RADCore.h:956
Abstract byte-oriented IO device similar to QIODevice.
Definition: RADCore.h:1254
Linux serial port backed by termios and RADCore::RADIODevice.
Definition: RADSerial.h:50
~RADSerialPort() override
Closes the port.
bool isOpen() const override
Returns true when open.
void close() override
Closes the serial port.
RADCore::Event< void() > opened
Raised when the port is opened.
Definition: RADSerial.h:54
ssize_t readData(void *buffer, size_t maxBytes) override
Reads bytes from the internal async buffer.
RADSerialPort(RADCore::EventLoop &loop)
Creates a serial port whose events are posted to loop.
bool open(RADCore::OpenMode mode) override
Opens the serial port.
RADCore::Event< void() > closed
Raised when the port is closed.
Definition: RADSerial.h:56
const std::string & portName() const
Returns device path.
void setPortName(std::string path)
Sets device path.
SerialConfig config() const
Returns serial configuration.
void setConfig(SerialConfig config)
Sets serial configuration.
static std::vector< SerialPortInfo > listPorts()
Returns likely serial devices under /dev.
ssize_t writeData(const void *data, size_t size) override
Writes bytes to the serial fd.
OpenMode
Open mode flags shared by RADIODevice, RADFile, and RADBuffer.
Definition: RADCore.h:293
Definition: RADSerial.h:18
Parity
Serial parity mode.
Definition: RADSerial.h:21
StopBits
Serial stop bit mode.
Definition: RADSerial.h:23
FlowControl
Serial flow control mode.
Definition: RADSerial.h:25
Serial port configuration.
Definition: RADSerial.h:28
StopBits stopBits
Stop bit mode.
Definition: RADSerial.h:36
FlowControl flowControl
Flow control mode.
Definition: RADSerial.h:38
Parity parity
Parity mode.
Definition: RADSerial.h:34
int dataBits
Data bits, normally 5 through 8.
Definition: RADSerial.h:32
int baudRate
Baud rate such as 9600, 115200, 1000000.
Definition: RADSerial.h:30
Discovered serial port information.
Definition: RADSerial.h:42
std::string name
Display name.
Definition: RADSerial.h:46
std::string path
Device path such as /dev/ttyUSB0.
Definition: RADSerial.h:44