Changeset 11057 in ntrip for trunk/BNC/src/bncephuser.cpp


Ignore:
Timestamp:
Sep 30, 2026, 11:30:26 AM (7 days ago)
Author:
stuerze
Message:

bug fixes resulting from overall tests

File:
1 edited

Legend:

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

    r11047 r11057  
    253253
    254254  if (ephL && ephL->checkState() != t_eph::bad) {
     255    // Update of ephemeris data sets after an outage: if the time since the
     256    // last data set exceeds the system's update interval, the last one is
     257    // outdated and a consistency check against it (extrapolated over the
     258    // whole gap) is meaningless - it would reject the first new data set
     259    // after every gap. The new data set stays unchecked and serves as
     260    // reference for the next one.
     261    // -----------------------------------------------------------------
     262    double dt = eph->TOC() - ephL->TOC();
     263
     264    // update interval: 2h
     265    if      (eph->system() == t_eph::GPS     && dt >  7200.0) {
     266      ephL->setCheckState(t_eph::outdated);
     267      return;
     268    }
     269    // update interval: 3h
     270    else if (eph->system() == t_eph::Galileo && dt > 10800.0) {
     271      ephL->setCheckState(t_eph::outdated);
     272      return;
     273    }
     274    // updated every 30 minutes + 5 min
     275    else if (eph->system() == t_eph::GLONASS && dt >  2100.0) {
     276      ephL->setCheckState(t_eph::outdated);
     277      return;
     278    }
     279    // updated every ?
     280    else if (eph->system() == t_eph::QZSS    && dt >  3600.0) {
     281      ephL->setCheckState(t_eph::outdated);
     282      return;
     283    }
     284    // maximum update interval: 300 sec
     285    else if  (eph->system() == t_eph::SBAS   && dt >   600.0) {
     286      ephL->setCheckState(t_eph::outdated);
     287      return;
     288    }
     289    // updates 1h + 5 min
     290    else if  (eph->system() == t_eph::BDS    && dt >  3900.0) {
     291      ephL->setCheckState(t_eph::outdated);
     292      return;
     293    }
     294    // update interval: up to 24 hours
     295    else if  (eph->system() == t_eph::NavIC  && dt > 86400.0) {
     296      ephL->setCheckState(t_eph::outdated);
     297      return;
     298    }
     299
    255300    ColumnVector xcL(6);
    256301    ColumnVector vvL(3);
    … …  
    281326      }
    282327    }
    283 
    284     // some lines to allow update of ephemeris data sets after an outage
    285     // -----------------------------------------------------------------
    286     double dt = eph->TOC() - ephL->TOC();
    287 
    288     // update interval: 2h
    289     if      (eph->system() == t_eph::GPS     && dt >  7200.0) {
    290       ephL->setCheckState(t_eph::outdated);
    291       return;
    292     }
    293     // update interval: 3h
    294     else if (eph->system() == t_eph::Galileo && dt > 10800.0) {
    295       ephL->setCheckState(t_eph::outdated);
    296       return;
    297     }
    298     // updated every 30 minutes + 5 min
    299     else if (eph->system() == t_eph::GLONASS && dt >  2100.0) {
    300       ephL->setCheckState(t_eph::outdated);
    301       return;
    302     }
    303     // updated every ?
    304     else if (eph->system() == t_eph::QZSS    && dt >  3600.0) {
    305       ephL->setCheckState(t_eph::outdated);
    306       return;
    307     }
    308     // maximum update interval: 300 sec
    309     else if  (eph->system() == t_eph::SBAS   && dt >   600.0) {
    310       ephL->setCheckState(t_eph::outdated);
    311       return;
    312     }
    313     // updates 1h + 5 min
    314     else if  (eph->system() == t_eph::BDS    && dt >  3900.0) {
    315       ephL->setCheckState(t_eph::outdated);
    316       return;
    317     }
    318     // update interval: up to 24 hours
    319     else if  (eph->system() == t_eph::NavIC  && dt > 86400.0) {
    320       ephL->setCheckState(t_eph::outdated);
    321       return;
    322     }
    323   }
    324 }
    325 
     328  }
     329}
     330
Note: See TracChangeset for help on using the changeset viewer.