Changeset 3268 in ntrip


Ignore:
Timestamp:
Apr 6, 2011, 11:44:47 AM (13 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

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

    r3267 r3268  
    429429  // -----------------------
    430430  {
     431    const double secPerDay  = 24 * 3600.0;
     432    const double secPerWeek = 7 * secPerDay;
    431433    int ww_old  = ww;
    432434    int tow_old = tow;
     
    436438    bncTime currentTime(currentWeek, currentSec);
    437439    bncTime hTime(ww, (double) tow);
    438     bncTime oldHTime = hTime;
    439440
    440441    bool changed = false;
    441     if      (hTime - currentTime > 12 * 3600.0) {
     442    if      (hTime - currentTime >  secPerDay/2.0) {
    442443      changed = true;
    443       hTime = hTime - 24 * 3600.0;
    444       ww  = hTime.gpsw();
    445       tow = (int) hTime.gpssec();
    446       updatetime(&ww, &tow, ee->tb*1000, 0);  // Moscow -> GPS
     444      tow -= secPerDay;
     445      if (tow < 0) {
     446        tow += secPerWeek;
     447        ww  -= 1;
     448      }
    447449    }
    448     else if (hTime - currentTime < 12 * 3600.0) {
     450    else if (hTime - currentTime < -secPerDay/2.0) {
    449451      changed = true;
    450       hTime = hTime + 24 * 3600.0;
    451       ww  = hTime.gpsw();
    452       tow = (int) hTime.gpssec();
    453       updatetime(&ww, &tow, ee->tb*1000, 0);  // Moscow -> GPS
     452      tow += secPerDay;
     453      if (tow > secPerWeek) {
     454        tow -= secPerWeek;
     455        ww  += 1;
     456      }
    454457    }
    455458
     
    459462           << currentTime.datestr()         << " " << currentTime.timestr()
    460463           << endl
    461            << "old: " << oldHTime.datestr() << " " << oldHTime.timestr()       
     464           << "old: " << hTime.datestr()    << " " << hTime.timestr()       
    462465           << endl
    463466           << "new: " << newHTime.datestr() << " " << newHTime.timestr()   
Note: See TracChangeset for help on using the changeset viewer.