Changeset 6751 in ntrip for trunk/BNC/src/bncgetthread.cpp


Ignore:
Timestamp:
Mar 30, 2015, 5:00:52 PM (7 years ago)
Author:
stuerze
Message:

possibility added to send a manual generated NMEA string with a given sampling rate - so far untested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncgetthread.cpp

    r6695 r6751  
    260260    if (settings.value("serialAutoNMEA").toString() == "Manual") {
    261261      _serialNMEA = MANUAL_NMEA;
     262      bncSettings settings;
     263      _manualNMEASampl = settings.value("serialManualNMEASampling").toInt();
     264      QString hlp      = settings.value("serialHeightNMEA").toString();
     265      if (hlp.isEmpty()) {
     266        hlp = "0.0";
     267      }
     268      QByteArray _serialHeightNMEA = hlp.toAscii();
     269      _manualNMEAString = ggaString(_latitude, _longitude, _serialHeightNMEA);
     270
    262271    }
    263272  }
     
    610619    }
    611620    if (_nmea == "yes" && _serialNMEA == MANUAL_NMEA) {
    612       bncSettings settings;
    613       QString hlp = settings.value("serialHeightNMEA").toString();
    614       if (hlp.isEmpty()) {
    615         hlp = "0.0";
    616       }
    617       QByteArray _serialHeightNMEA = hlp.toAscii();
    618       QByteArray gga = ggaString(_latitude, _longitude, _serialHeightNMEA);
    619       _query->startRequest(_mountPoint, gga);
     621      _query->startRequest(_mountPoint, _manualNMEAString);
     622      _lastManualNMEA = QDateTime::currentDateTime();
    620623    }
    621624    else {
     
    812815        }
    813816        if (i1 != -1) {
    814           int i2 = data.indexOf("*", i1);
     817          int i2 = data.indexOf("*", i1);
    815818          if (i2 != -1 && data.size() > i2 + 1) {
    816             QByteArray gga = data.mid(i1,i2-i1+3);
     819            QByteArray gga = data.mid(i1, i2 - i1 + 3);
    817820            _query->sendNMEA(gga);
    818           }
    819         }
     821          }
     822        }
     823      }
     824
     825      if (_nmea == "yes" && _serialNMEA == MANUAL_NMEA) {
     826        if (_manualNMEASampl) {
     827          int dt = _lastManualNMEA.secsTo(QDateTime::currentDateTime());
     828          if (fmod(double(dt), double(_manualNMEASampl)) == 0.0) {
     829            _query->sendNMEA(_manualNMEAString);
     830            _lastManualNMEA = QDateTime::currentDateTime();
     831          }
     832        }
    820833      }
    821834
Note: See TracChangeset for help on using the changeset viewer.