Changeset 6553 in ntrip for trunk/BNC/src/RTCM3


Ignore:
Timestamp:
Jan 19, 2015, 11:23:32 AM (10 years ago)
Author:
stuerze
Message:

update interval considered during ssr reference time determination

Location:
trunk/BNC/src/RTCM3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp

    r6497 r6553  
    191191      if (irc == GCOBR_OK || irc == GCOBR_MESSAGEFOLLOWS ) {
    192192
    193         setEpochTime(); // sets _lastTime
     193        setReferenceTime(); // sets _lastTime
    194194 
    195195        if (_lastTime.valid()) {
     
    463463//
    464464////////////////////////////////////////////////////////////////////////////
    465 void RTCM3coDecoder::setEpochTime() {
     465void RTCM3coDecoder::setReferenceTime() {
    466466
    467467  _lastTime.reset();
    468468
    469   int epoSecGPS = -1;
    470   int epoSecGlo = -1;
     469  const QVector<int> updateInt = QVector<int>()  << 1 << 2 << 5 << 10 << 15 << 30
     470                                                 << 60 << 120 << 240 << 300 << 600
     471                                                 << 900 << 1800 << 3600 << 7200
     472                                                 << 10800;
     473  double epoSecGPS = -1.0;
     474  double epoSecGlo = -1.0;
    471475  if      (_clkOrb.NumberOfSat[CLOCKORBIT_SATGPS] > 0) {
    472     epoSecGPS = _clkOrb.EpochTime[CLOCKORBIT_SATGPS];        // 0 .. 604799 s 
     476    epoSecGPS = _clkOrb.EpochTime[CLOCKORBIT_SATGPS];        // 0 .. 604799 s
     477    if (_clkOrb.UpdateInterval) {
     478      epoSecGPS += 0.5 * updateInt[_clkOrb.UpdateInterval];
     479    }
    473480  }
    474481  else if (_codeBias.NumberOfSat[CLOCKORBIT_SATGPS] > 0) {
    475482    epoSecGPS = _codeBias.EpochTime[CLOCKORBIT_SATGPS];      // 0 .. 604799 s 
     483    if (_codeBias.UpdateInterval) {
     484      epoSecGPS += 0.5 * updateInt[_codeBias.UpdateInterval];
     485    }
    476486  }
    477487  else if (_phaseBias.NumberOfSat[CLOCKORBIT_SATGPS] > 0) {
    478488    epoSecGPS = _phaseBias.EpochTime[CLOCKORBIT_SATGPS];     // 0 .. 604799 s 
     489    if (_phaseBias.UpdateInterval) {
     490      epoSecGPS += 0.5 * updateInt[_phaseBias.UpdateInterval];
     491    }
    479492  }
    480493  else if (_vTEC.NumLayers > 0) {
    481494    epoSecGPS = _vTEC.EpochTime;                             // 0 .. 604799 s 
     495    if (_vTEC.UpdateInterval) {
     496      epoSecGPS += 0.5 * updateInt[_vTEC.UpdateInterval];
     497    }
    482498  }
    483499  else if (_clkOrb.NumberOfSat[CLOCKORBIT_SATGLONASS] > 0) {
    484500    epoSecGlo = _clkOrb.EpochTime[CLOCKORBIT_SATGLONASS];    // 0 .. 86399 s
     501    if (_clkOrb.UpdateInterval) {
     502      epoSecGlo += 0.5 * updateInt[_clkOrb.UpdateInterval];
     503    }
    485504  }
    486505  else if (_codeBias.NumberOfSat[CLOCKORBIT_SATGLONASS] > 0) {
    487506    epoSecGlo = _codeBias.EpochTime[CLOCKORBIT_SATGLONASS];  // 0 .. 86399 s
     507    if (_codeBias.UpdateInterval) {
     508      epoSecGlo += 0.5 * updateInt[_codeBias.UpdateInterval];
     509    }
    488510  }
    489511  else if (_phaseBias.NumberOfSat[CLOCKORBIT_SATGLONASS] > 0) {
    490512    epoSecGlo = _phaseBias.EpochTime[CLOCKORBIT_SATGLONASS]; // 0 .. 86399 s
     513    if (_phaseBias.UpdateInterval) {
     514      epoSecGlo += 0.5 * updateInt[_phaseBias.UpdateInterval];
     515    }
    491516  }
    492517
  • trunk/BNC/src/RTCM3/RTCM3coDecoder.h

    r6489 r6553  
    5454 private:
    5555  void reset();
    56   void setEpochTime();
     56  void setReferenceTime();
    5757  void sendResults();
    5858  void reopen();
Note: See TracChangeset for help on using the changeset viewer.