--- src/PosixSerialPort.cpp.orig 2017-03-31 15:31:35 UTC +++ src/PosixSerialPort.cpp @@ -85,6 +85,9 @@ PosixSerialPort::open(int baud, switch (baud) { + case 1200: + speed = B1200; + break; case 9600: speed = B9600; break; @@ -297,6 +300,34 @@ PosixSerialPort::timeout(int millisecs) { _timeout = millisecs; return true; +} + +void +PosixSerialPort::setDTR(bool dtr) +{ + if (_devfd == -1) + return; + + int iFlags = TIOCM_DTR; + + if (dtr) + ioctl(_devfd, TIOCMBIS, &iFlags); + else + ioctl(_devfd, TIOCMBIC, &iFlags); +} + +void +PosixSerialPort::setRTS(bool rts) +{ + if (_devfd == -1) + return; + + int iFlags = TIOCM_RTS; + + if (rts) + ioctl(_devfd, TIOCMBIS, &iFlags); + else + ioctl(_devfd, TIOCMBIC, &iFlags); } void