Changeset 689 in ntrip for trunk/BNC/RTCM3


Ignore:
Timestamp:
Feb 15, 2008, 1:42:04 PM (16 years ago)
Author:
weber
Message:

* empty log message *

Location:
trunk/BNC/RTCM3
Files:
2 edited

Legend:

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

    r658 r689  
    7272
    7373  const int LEAPSECONDS = 14; /* only needed for approx. time */
     74
     75// Ensure, that the Decoder uses the "old" convention for the data structure for Rinex2. Perlt
     76  _Parser.rinex3 = 0;
    7477
    7578  time_t tim;
     
    133136            for (int jj = 0; jj < _Parser.numdatatypesGPS; jj++) {
    134137              int v = 0;
    135               int df = _Parser.dataflag[jj];
    136               int pos = _Parser.datapos[jj];
     138// sepearated declaration and initalization of df and pos. Perlt
     139              int df;
     140              int pos;
     141              df = _Parser.dataflag[jj];
     142              pos = _Parser.datapos[jj];
    137143              if ( (_Parser.Data.dataflags[ii] & df)
    138144                   && !isnan(_Parser.Data.measdata[ii][pos])
     
    154160              else
    155161              {
    156                 if      (_Parser.dataflag[jj] & GNSSDF_C1DATA) {
    157                   obs->_o.C1 = _Parser.Data.measdata[ii][_Parser.datapos[jj]];
    158                 }
    159                 else if (_Parser.dataflag[jj] & GNSSDF_C2DATA) {
    160                   obs->_o.C2 = _Parser.Data.measdata[ii][_Parser.datapos[jj]];
    161                 }
    162                 else if (_Parser.dataflag[jj] & GNSSDF_P1DATA) {
    163                   obs->_o.P1 = _Parser.Data.measdata[ii][_Parser.datapos[jj]];
    164                 }
    165                 else if (_Parser.dataflag[jj] & GNSSDF_P2DATA) {
    166                   obs->_o.P2 = _Parser.Data.measdata[ii][_Parser.datapos[jj]];
     162// variables df and pos are used consequently. Perlt
     163                if      (df & GNSSDF_C1DATA) {
     164                  obs->_o.C1 = _Parser.Data.measdata[ii][pos];
     165                }
     166                else if (df & GNSSDF_C2DATA) {
     167                  obs->_o.C2 = _Parser.Data.measdata[ii][pos];
     168                }
     169                else if (df & GNSSDF_P1DATA) {
     170                  obs->_o.P1 = _Parser.Data.measdata[ii][pos];
     171                }
     172                else if (df & GNSSDF_P2DATA) {
     173                  obs->_o.P2 = _Parser.Data.measdata[ii][pos];
    167174                }
    168175                else if (df & (GNSSDF_L1CDATA|GNSSDF_L1PDATA)) {
  • trunk/BNC/RTCM3/rtcm3torinex.c

    r551 r689  
    11/*
    22  Converter for RTCM3 data to RINEX.
    3   $Id: rtcm3torinex.c,v 1.25 2007/10/25 09:37:42 stoecker Exp $
     3  $Id: rtcm3torinex.c,v 1.8 2007/10/28 08:50:37 mervart Exp $
    44  Copyright (C) 2005-2006 by Dirk Stoecker <stoecker@alberding.eu>
    55
     
    5151
    5252/* CVS revision and version */
    53 static char revisionstr[] = "$Revision: 1.25 $";
     53static char revisionstr[] = "$Revision: 1.8 $";
    5454
    5555#ifndef COMPILEDATE
     
    846846}
    847847
     848// Inserted parts for BNC Perlt
     849#ifdef NO_RTCM3_MAIN
     850#define NUMSTARTSKIP 1
     851#else
    848852#define NUMSTARTSKIP 3
     853#endif
     854
    849855void HandleHeader(struct RTCM3ParserData *Parser)
    850856{
     857#ifdef NO_RTCM3_MAIN
     858// Part of Handle Header for data request for BNC (independently on actually delivered data), original is commented out by ifndef NO_RTCM3_MAIN. Perlt
     859  int i;
     860  if(Parser->rinex3)
     861  {
     862#define CHECKFLAGSNEW(a, b, c) \
     863    { \
     864      Parser->dataflag##a[Parser->numdatatypes##a] = GNSSDF_##b##DATA; \
     865      Parser->datapos##a[Parser->numdatatypes##a] = GNSSENTRY_##b##DATA; \
     866      ++Parser->numdatatypes##a; \
     867    }
     868
     869    CHECKFLAGSNEW(GPS, C1,  C1C)
     870    CHECKFLAGSNEW(GPS, L1C, L1C)
     871    CHECKFLAGSNEW(GPS, D1C, D1C)
     872    CHECKFLAGSNEW(GPS, S1C, S1C)
     873    CHECKFLAGSNEW(GPS, P1,  C1P)
     874    CHECKFLAGSNEW(GPS, L1P, L1P)
     875    CHECKFLAGSNEW(GPS, D1P, D1P)
     876    CHECKFLAGSNEW(GPS, S1P, S1P)
     877    CHECKFLAGSNEW(GPS, P2,  C2P)
     878    CHECKFLAGSNEW(GPS, L2P, L2P)
     879    CHECKFLAGSNEW(GPS, D2P, D2P)
     880    CHECKFLAGSNEW(GPS, S2P, S2P)
     881    CHECKFLAGSNEW(GPS, C2,  C2X)
     882    CHECKFLAGSNEW(GPS, L2C, L2X)
     883    CHECKFLAGSNEW(GPS, D2C, D2X)
     884    CHECKFLAGSNEW(GPS, S2C, S2X)
     885    CHECKFLAGSNEW(GLO, C1,  C1C)
     886    CHECKFLAGSNEW(GLO, L1C, L1C)
     887    CHECKFLAGSNEW(GLO, D1C, D1C)
     888    CHECKFLAGSNEW(GLO, S1C, S1C)
     889    CHECKFLAGSNEW(GLO, P1,  C1P)
     890    CHECKFLAGSNEW(GLO, L1P, L1P)
     891    CHECKFLAGSNEW(GLO, D1P, D1P)
     892    CHECKFLAGSNEW(GLO, S1P, S1P)
     893    CHECKFLAGSNEW(GLO, P2,  C2P)
     894    CHECKFLAGSNEW(GLO, L2P, L2P)
     895    CHECKFLAGSNEW(GLO, D2P, D2P)
     896    CHECKFLAGSNEW(GLO, S2P, S2P)
     897    CHECKFLAGSNEW(GLO, C2,  C2C)
     898    CHECKFLAGSNEW(GLO, L2C, L2C)
     899    CHECKFLAGSNEW(GLO, D2C, D2C)
     900    CHECKFLAGSNEW(GLO, S2C, S2C)
     901
     902  }
     903  else
     904  {
     905#define CHECKFLAGS(a, b) \
     906    { \
     907      if(data[RINEXENTRY_##b##DATA]) \
     908      { \
     909        Parser->dataflagGPS[data[RINEXENTRY_##b##DATA]-1] = GNSSDF_##a##DATA; \
     910        Parser->dataposGPS[data[RINEXENTRY_##b##DATA]-1] = GNSSENTRY_##a##DATA; \
     911      } \
     912      else \
     913      { \
     914        Parser->dataflag[Parser->numdatatypesGPS] = GNSSDF_##a##DATA; \
     915        Parser->datapos[Parser->numdatatypesGPS] = GNSSENTRY_##a##DATA; \
     916        data[RINEXENTRY_##b##DATA] = ++Parser->numdatatypesGPS; \
     917      } \
     918    }
     919
     920    int data[RINEXENTRY_NUMBER];
     921    for(i = 0; i < RINEXENTRY_NUMBER; ++i) data[i] = 0;
     922
     923    CHECKFLAGS(C1,C1)
     924    CHECKFLAGS(C2,C2)
     925    CHECKFLAGS(P1,P1)
     926    CHECKFLAGS(P2,P2)
     927    CHECKFLAGS(L1C,L1)
     928    CHECKFLAGS(L1P,L1)
     929    CHECKFLAGS(L2C,L2)
     930    CHECKFLAGS(L2P,L2)
     931    CHECKFLAGS(D1C,D1)
     932    CHECKFLAGS(D1P,D1)
     933    CHECKFLAGS(D2C,D2)
     934    CHECKFLAGS(D2P,D2)
     935    CHECKFLAGS(S1C,S1)
     936    CHECKFLAGS(S1P,S1)
     937    CHECKFLAGS(S2C,S2)
     938    CHECKFLAGS(S2P,S2)
     939  }
     940// End Part of Handle Header for BNC Perlt
     941#endif
     942
     943#ifndef NO_RTCM3_MAIN
    851944  struct HeaderData hdata;
    852945  char thebuffer[MAXHEADERBUFFERSIZE];
     
    11391232  }
    11401233
    1141 #ifndef NO_RTCM3_MAIN
    11421234  for(i = 0; i < hdata.numheaders; ++i)
    11431235  {
     
    15361628
    15371629#ifndef NO_RTCM3_MAIN
    1538 static char datestr[]     = "$Date: 2007/10/25 09:37:42 $";
     1630static char datestr[]     = "$Date: 2007/10/28 08:50:37 $";
    15391631
    15401632/* The string, which is send as agent in HTTP request */
Note: See TracChangeset for help on using the changeset viewer.