nidas v1.2.3
|
Class providing a method to parse a string into a Termios. More...
#include <SerialOptions.h>
Public Member Functions | |
SerialOptions () | |
Construct a new Serial Options object. | |
~SerialOptions () | |
void | parse (const std::string &input) |
Parse a string into a Termios object. | |
const Termios & | getTermios () const |
std::string | toString () const |
Static Public Member Functions | |
static const char * | usage () |
Private Attributes | |
regex_t | _compRegex |
int | _compileResult |
int | _nmatch |
Termios | _termios |
Static Private Attributes | |
static const char * | _regexpression |
Class providing a method to parse a string into a Termios.
An example of a parseable string is: 9600n81lncnc : 9600 baud, no parity, local, no flow control
\
SerialOptions::SerialOptions | ( | ) |
Construct a new Serial Options object.
ParseException |
References _compileResult, _compRegex, _nmatch, and _regexpression.
SerialOptions::~SerialOptions | ( | ) |
References _compRegex.
|
inline |
References _termios.
Referenced by TeeTTy::run().
void SerialOptions::parse | ( | const std::string & | input | ) |
Parse a string into a Termios object.
The format of the string is as follows, with no spaces between the values: baud parity data stop local_modem flow_control raw_cooked newline_opts
baud: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, etc bits/sec parity: n=none, o=odd, e=even data: number of data bits, 8 or 7 stop: number of stop bits, 1 or 2 local_modem: l=local (ignore carrier detect), m=modem (monitor CD) flow_control: n=none, h=hardware (CTS/RTS), s=software (XON/XOFF) raw_cooked: r=raw (no change to input or output characters, binary data) c=cooked (scan input and output for special characters) newline_opts: input option followed by output option, and is only necessary if "cooked" option is enabled. input option: n=convert input carriage-return (CR) to new-line (NL) c=convert input NL to CR d=discard input CRs x=no change to CRs output option: n=convert output CR to NL c=convert output NL to CR x=no change to CR Example: 9600n81lncnc : 9600 baud, no parity, local, no flow control cooked, convert input CR->NL, output NL->CR (unix terminal)
ParseException |
References _compileResult, _compRegex, _nmatch, _regexpression, _termios, nidas::util::Termios::EVEN, nidas::util::Termios::HARDWARE, nidas::util::Termios::iflag(), nidas::util::Termios::NOFLOWCONTROL, nidas::util::Termios::NONE, nidas::util::Termios::ODD, nidas::util::Termios::oflag(), nidas::util::Termios::setBaudRate(), nidas::util::Termios::setDataBits(), nidas::util::Termios::setFlowControl(), nidas::util::Termios::setLocal(), nidas::util::Termios::setParity(), nidas::util::Termios::setRaw(), nidas::util::Termios::setStopBits(), and nidas::util::Termios::SOFTWARE.
Referenced by openPort(), and TeeTTy::parseRunstring().
string SerialOptions::toString | ( | ) | const |
References _termios, nidas::util::Termios::EVEN, nidas::util::Termios::getBaudRate(), nidas::util::Termios::getDataBits(), nidas::util::Termios::getFlowControl(), nidas::util::Termios::getIflag(), nidas::util::Termios::getLocal(), nidas::util::Termios::getOflag(), nidas::util::Termios::getParity(), nidas::util::Termios::getRaw(), nidas::util::Termios::getStopBits(), nidas::util::Termios::HARDWARE, nidas::util::Termios::NOFLOWCONTROL, and nidas::util::Termios::ODD.
|
static |
|
private |
Referenced by parse(), and SerialOptions().
|
private |
Referenced by parse(), SerialOptions(), and ~SerialOptions().
|
private |
Referenced by parse(), and SerialOptions().
|
staticprivate |
Referenced by parse(), and SerialOptions().
|
private |
Referenced by getTermios(), parse(), and toString().