f670ca05dd608c9d5b0300ca1dc493f6ffd8afa1
Stefan Schuermans implemented serial port config

Stefan Schuermans authored 12 years ago

src/noarch/SerCfg.cpp  1) /* Blinker
Stefan Schuermans update copyright years

Stefan Schuermans authored 10 years ago

src/noarch/SerCfg.cpp  2)    Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans 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)   }
Stefan Schuermans fix parsing serial config

Stefan Schuermans authored 12 years ago

src/noarch/SerCfg.cpp 47)   if (!parser.fixChr(',') ||