Changeset 1710 in ntrip for trunk/BNC/bncgetthread.cpp


Ignore:
Timestamp:
Mar 4, 2009, 5:21:39 PM (15 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncgetthread.cpp

    r1709 r1710  
    120120  _nextSleep     = 0;
    121121  _rawOutFile    = 0;
    122   _serialOutFile = 0;
    123122  _staID_orig    = _staID;
    124123
     
    126125
    127126  _miscMount = settings.value("miscMount").toString();
    128 
    129   if ( settings.value("serialMountPoint").toString() == _staID &&
    130        settings.value("serialAutoNMEA").toString() != "Auto" ) {
    131     _height = settings.value("serialHeightNMEA").toString().toAscii();
    132   } else {
    133     _height = "100";
    134   }
    135127
    136128  // Check name conflict
     
    172164  // Serial Port
    173165  // -----------
     166  _serialNMEA    = NO_NMEA;
     167  _serialOutFile = 0;
     168  _serialPort    = 0;
     169
    174170  if (settings.value("serialMountPoint").toString() == _staID) {
    175     _serialPort = new QextSerialPort(
    176                                settings.value("serialPortName").toString() );
     171    _serialPort = new QextSerialPort(settings.value("serialPortName").toString() );
     172    _serialPort->setTimeout(0,100);
     173
     174    // Baud Rate
     175    // ---------
    177176    QString hlp = settings.value("serialBaudRate").toString();
    178177    if      (hlp == "110") {
     
    209208      _serialPort->setBaudRate(BAUD115200);   
    210209    }
     210
     211    // Parity
     212    // ------
    211213    hlp = settings.value("serialParity").toString();
    212214    if      (hlp == "NONE") {
     
    222224      _serialPort->setParity(PAR_SPACE);   
    223225    }
     226
     227    // Data Bits
     228    // ---------
    224229    hlp = settings.value("serialDataBits").toString();
    225230    if      (hlp == "5") {
     
    242247      _serialPort->setStopBits(STOP_2);   
    243248    }
     249
     250    // Flow Control
     251    // ------------
     252    hlp = settings.value("serialFlowControl").toString();
     253    if      (hlp == "OFF") {
     254      _serialPort->setFlowControl(FLOW_OFF);   
     255    }
     256    else if (hlp == "XONXOFF") {
     257      _serialPort->setFlowControl(FLOW_XONXOFF);   
     258    }
     259    else if (hlp == "HARDWARE") {
     260      _serialPort->setFlowControl(FLOW_HARDWARE);   
     261    }
     262
     263    // Open Serial Port
     264    // ----------------
    244265    _serialPort->open(QIODevice::ReadWrite|QIODevice::Unbuffered);
    245266    if (!_serialPort->isOpen()) {
     
    248269      emit(newMessage((_staID + ": Cannot open serial port\n"), true));
    249270    }
    250 
    251271    connect(_serialPort, SIGNAL(readyRead()),
    252272            this, SLOT(slotSerialReadyRead()));
    253273
    254     // Serial File Output
    255     // ------------------
    256     QString serialFileNMEA = settings.value("serialFileNMEA").toString();
    257     QString serialAutoNMEA = settings.value("serialAutoNMEA").toString();
    258     if (!serialFileNMEA.isEmpty() && serialAutoNMEA == "Auto" ) {
    259       _serialOutFile = new QFile(serialFileNMEA);
    260       if ( Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
    261         _serialOutFile->open(QIODevice::WriteOnly | QIODevice::Append);
    262       }
    263       else {
    264         _serialOutFile->open(QIODevice::WriteOnly);
    265       }
    266     }
    267     _serialPort->setTimeout(0,100);
    268     hlp = settings.value("serialFlowControl").toString();
    269     if      (hlp == "OFF") {
    270       _serialPort->setFlowControl(FLOW_OFF);   
    271     }
    272     else if (hlp == "XONXOFF") {
    273       _serialPort->setFlowControl(FLOW_XONXOFF);   
    274     }
    275 else if (hlp == "HARDWARE") {
    276       _serialPort->setFlowControl(FLOW_HARDWARE);   
    277     }
    278   }
    279   else {
    280     _serialPort = 0;
     274    // Automatic NMEA
     275    // --------------
     276    if (settings.value("serialAutoNMEA").toString() == "Auto") {
     277      _serialNMEA = AUTO_NMEA;
     278
     279      QString fName = settings.value("serialFileNMEA").toString();
     280      if (!fName.isEmpty()) {
     281        _serialOutFile = new QFile(fName);
     282        if ( Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
     283          _serialOutFile->open(QIODevice::WriteOnly | QIODevice::Append);
     284        }
     285        else {
     286          _serialOutFile->open(QIODevice::WriteOnly);
     287        }
     288      }
     289    }
     290
     291    // Manual NMEA
     292    // -----------
     293    else {
     294      _serialNMEA = MANUAL_NMEA;
     295    }
    281296  }
    282297
     
    486501t_irc bncGetThread::tryReconnect() {
    487502
    488   bncSettings settings;
    489   bool manual = true;
    490   if ( _staID == settings.value("serialMountPoint").toString() &&
    491        settings.value("serialAutoNMEA").toString() == "Auto" ) {
    492     manual = false;
    493   }
    494 
    495503  // Easy Return
    496504  // -----------
     
    531539      _query = new bncNetQueryV1();
    532540    }
    533     if (_nmea == "yes" && manual ) {
    534       QByteArray gga = ggaString(_latitude, _longitude, _height);
     541    if (_nmea == "yes" && _serialNMEA != AUTO_NMEA) {
     542      QByteArray gga = ggaString(_latitude, _longitude, "100.0");
    535543      _query->startRequest(_mountPoint, gga);
    536544    }
Note: See TracChangeset for help on using the changeset viewer.