implemented serial port config
Stefan Schuermans authored 12 years ago
|
src/noarch/SerCfg.cpp 3) Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
src/noarch/SerCfg.cpp 4) a blinkenarea.org project */
src/noarch/SerCfg.cpp 5)
src/noarch/SerCfg.cpp 6) #include <sstream>
src/noarch/SerCfg.cpp 7) #include <string>
src/noarch/SerCfg.cpp 8)
src/noarch/SerCfg.cpp 9) #include "SerCfg.h"
src/noarch/SerCfg.cpp 10) #include "StringParser.h"
src/noarch/SerCfg.cpp 11)
src/noarch/SerCfg.cpp 12) namespace Blinker {
src/noarch/SerCfg.cpp 13)
src/noarch/SerCfg.cpp 14) /// constructor
src/noarch/SerCfg.cpp 15) SerCfg::SerCfg():
src/noarch/SerCfg.cpp 16) m_baud(9600),
src/noarch/SerCfg.cpp 17) m_data(8),
src/noarch/SerCfg.cpp 18) m_parity(ParityNone),
src/noarch/SerCfg.cpp 19) m_stop(1)
src/noarch/SerCfg.cpp 20) {
src/noarch/SerCfg.cpp 21) }
src/noarch/SerCfg.cpp 22)
src/noarch/SerCfg.cpp 23) /**
src/noarch/SerCfg.cpp 24) * @brief parse from string format
src/noarch/SerCfg.cpp 25) * @param[in] str string format
src/noarch/SerCfg.cpp 26) * @return if parsing was successful
src/noarch/SerCfg.cpp 27) */
src/noarch/SerCfg.cpp 28) bool SerCfg::fromStr(const std::string &str)
src/noarch/SerCfg.cpp 29) {
src/noarch/SerCfg.cpp 30) StringParser parser(str);
src/noarch/SerCfg.cpp 31) unsigned int baud, data, stop;
src/noarch/SerCfg.cpp 32) char parityChr;
src/noarch/SerCfg.cpp 33)
src/noarch/SerCfg.cpp 34) if (!parser.uintMin(1, baud) ||
src/noarch/SerCfg.cpp 35) !parser.fixChr(','))
src/noarch/SerCfg.cpp 36) return false;
src/noarch/SerCfg.cpp 37) if (parser.uintMin(1, data)) { // data bits, parity
src/noarch/SerCfg.cpp 38) if (!parser.fixChr(',') ||
src/noarch/SerCfg.cpp 39) !parser.oneChrOf("nNeEoO", parityChr))
src/noarch/SerCfg.cpp 40) return false;
src/noarch/SerCfg.cpp 41) } else { // parity, data bits
src/noarch/SerCfg.cpp 42) if (!parser.oneChrOf("nNeEoO", parityChr) ||
src/noarch/SerCfg.cpp 43) !parser.fixChr(',') ||
src/noarch/SerCfg.cpp 44) !parser.uintMin(1, data))
src/noarch/SerCfg.cpp 45) return false;
src/noarch/SerCfg.cpp 46) }
|