dserial

A serial port library that support non blocking IO Main class that encapsulates access to the serial port

Members

Classes

DSerial
class DSerial

Main class for performing serial port operations

Enums

BlockingMode
enum BlockingMode

Set the port access mode to NonBlocking(never blocks), TimedImmediately(timer starts immediately), TimedAfterReceive(timer starts after receiving first char), Blocking(blocks forever)

DataBits
enum DataBits

Number of bits per character

Parity
enum Parity

Parity of the connection

StopBits
enum StopBits

Number of stop bits per char transmission

Examples

DSerial serialPort = new DSerial("/dev/ttyS0");
serialPort.setBlockingMode(DSerial.BlockingMode.TimedImmediately);
serialPort.setTimeout(200); // 200 millis
serialPort.open();
ubyte c;
// reading
while (serialPort.read(c) == 1) {
 // Do work
}
// writing
ubyte[] msgBuf = messageToBytes(msg);
return serialPort.write(msgBuf);

Meta

Authors

Jaap Geurts

Date

Date: 08-2022 v0.0.1: 08-2022 Initial version v0.0.2: 09-2023 Fixed baudrate bug v0.0.4: 06-2026 Linux version switched to ioctl interface instead of tcsetattr