Changeset 2255 in ntrip


Ignore:
Timestamp:
Jan 16, 2010, 11:18:44 AM (14 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM3/rtcm3torinex.c

    r2235 r2255  
    11/*
    22  Converter for RTCM3 data to RINEX.
    3   $Id: rtcm3torinex.c,v 1.27 2009/11/04 16:40:16 zdenek Exp $
     3  $Id: rtcm3torinex.c,v 1.28 2010/01/12 12:13:23 mervart Exp $
    44  Copyright (C) 2005-2008 by Dirk Stöcker <stoecker@alberding.eu>
    55
     
    5555
    5656/* CVS revision and version */
    57 static char revisionstr[] = "$Revision: 1.27 $";
     57static char revisionstr[] = "$Revision: 1.28 $";
    5858
    5959#ifndef COMPILEDATE
     
    251251}
    252252
    253 void updatetime(int *week, int *tow, int tk, int fixnumleap)
     253void updatetime(int *week, int *secOfWeek, int mSecOfWeek, int fixnumleap)
    254254{
    255255  int y,m,d,k,l, nul;
    256   unsigned int j = *week*(7*24*60*60) + *tow + 5*24*60*60+3*60*60;
     256  unsigned int j = *week*(7*24*60*60) + *secOfWeek + 5*24*60*60+3*60*60;
    257257  int glo_daynumber = 0, glo_timeofday;
    258258  for(y = 1980; j >= (unsigned int)(k = (l = (365+longyear(y,0)))*24*60*60)
     
    272272  glo_timeofday = j-nul;
    273273
    274   if(tk < 5*60*1000 && glo_timeofday > 23*60*60)
    275     *tow += 24*60*60;
    276   else if(glo_timeofday < 5*60 && tk > 23*60*60*1000)
    277     *tow -= 24*60*60;
    278   *tow += tk/1000-glo_timeofday;
     274  if(mSecOfWeek < 5*60*1000 && glo_timeofday > 23*60*60)
     275    *secOfWeek += 24*60*60;
     276  else if(glo_timeofday < 5*60 && mSecOfWeek > 23*60*60*1000)
     277    *secOfWeek -= 24*60*60;
     278  *secOfWeek += mSecOfWeek/1000-glo_timeofday;
    279279  if(fixnumleap)
    280     *tow -= nul;
    281   if(*tow < 0) {*tow += 24*60*60*7; --*week; }
    282   if(*tow >= 24*60*60*7) {*tow -= 24*60*60*7; ++*week; }
     280    *secOfWeek -= nul;
     281  if(*secOfWeek < 0) {*secOfWeek += 24*60*60*7; --*week; }
     282  if(*secOfWeek >= 24*60*60*7) {*secOfWeek -= 24*60*60*7; ++*week; }
    283283}
    284284
     
    639639        GETBITS(i,27) /* tk */
    640640
    641         updatetime(&handle->GPSWeek, &handle->GPSTOW, i, 0);
    642641        i = handle->GPSTOW*1000;
     642        updatetime(&handle->GPSWeek, &handle->GPSTOW, i, 0); // Moscow -> GPS
    643643        if(gnss->week && (gnss->timeofweek != i || gnss->week
    644644        != handle->GPSWeek))
     
    13961396            struct converttimeinfo cti;
    13971397
    1398             updatetime(&w, &tow, e->tb*1000, 1);
     1398            updatetime(&w, &tow, e->tb*1000, 1);  // Moscow - > UTC
    13991399            converttime(&cti, w, tow);
    14001400
     
    16831683
    16841684#ifndef NO_RTCM3_MAIN
    1685 static char datestr[]     = "$Date: 2009/11/04 16:40:16 $";
     1685static char datestr[]     = "$Date: 2010/01/12 12:13:23 $";
    16861686
    16871687/* The string, which is send as agent in HTTP request */
Note: See TracChangeset for help on using the changeset viewer.