Changeset 1035 in ntrip for trunk/BNC/RTCM3/RTCM3Decoder.cpp


Ignore:
Timestamp:
Aug 15, 2008, 6:31:34 PM (16 years ago)
Author:
weber
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM3/RTCM3Decoder.cpp

    r1034 r1035  
    4747#include "bncconst.h"
    4848#include "bncapp.h"
     49#include "bncutils.h" /* Weber, for latencies */
    4950
    5051using namespace std;
     
    6768  QSettings settings;
    6869  _checkMountPoint = settings.value("messTypes").toString();
     70  _corrLate = settings.value("corrLate").toInt();
    6971  _staID = staID;
    7072
     
    110112    if ( _coDecoder->Decode(buffer, bufLen) == success ) {
    111113      decoded = true;
     114
     115      // Latency, Weber
     116      // -------
     117      if ( _corrLate == 2 ) {
     118        if (0<_coDecoder->_epochList.size()) {
     119          for (int ii=0;ii<_coDecoder->_epochList.size();ii++) {
     120            int week;
     121            double sec;
     122            double secGPS = _coDecoder->_epochList[ii];
     123            leapsecGPSWeeks(week, sec);
     124            double dt = fabs(sec - secGPS);
     125            const double secPerWeek = 7.0 * 24.0 * 3600.0;
     126            if (dt > 0.5 * secPerWeek) {
     127              if (sec > secGPS) {
     128                sec  -= secPerWeek;
     129              } else {
     130                sec  += secPerWeek;
     131              }
     132            }
     133            QString late;
     134            late = QString("%1 ").arg(int((sec - secGPS)*100.)/100.);
     135            if (late != "") {
     136              emit(newMessage(QString(_staID + ": Latency " + late + "sec").toAscii() ) );
     137            }
     138          }
     139        }
     140      }
     141      _coDecoder->_epochList.clear();
     142
    112143      if (_mode == unknown) {
    113144        _mode = corrections;
Note: See TracChangeset for help on using the changeset viewer.