Changeset 8972 in ntrip


Ignore:
Timestamp:
Jul 16, 2020, 11:22:25 PM (4 weeks ago)
Author:
stuerze
Message:

minor changes regarding igs ssr decoding

Location:
trunk/BNC/src/RTCM3/clock_and_orbit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.c

    r8970 r8972  
    1717#endif
    1818#include <clock_orbit_igs.h>
     19
    1920
    2021static uint32_t CRC24(long size, const unsigned char *buf) {
     
    570571    struct PhaseBias *pb, const char *buffer, size_t size, int *bytesused) {
    571572  int mmi = 0, h, rs;
    572   unsigned int type, pos, i, j, s, nums, id;
     573  unsigned int type, pos, i, j, s, nums, id, version;
    573574  size_t sizeofrtcmblock;
    574575  const char *blockstart = buffer;
     
    578579    return GCOBR_SHORTBUFFER;
    579580
    580 #ifdef DEBUG
    581   fprintf(stderr, "GetClockOrbitBias START: size %d, numbits %d\n",size, numbits);
     581#ifdef BNC_DEBUG
     582  fprintf(stderr, "GetSSR START: size %d, numbits %d\n",(int)size, numbits);
    582583#endif
    583584
     
    597598  size = sizeofrtcmblock; /* reduce size, so overflows are detected */
    598599
    599   SKIPBITS(12) // G_RTCM_MESSAGE_NUMBER(a)
    600   SKIPBITS( 3) // G_IGS_SSR_VERSION(a)
     600  G_RTCM_MESSAGE_NUMBER(type)
     601  G_IGS_SSR_VERSION(version)
     602#ifdef BNC_DEBUG
     603  fprintf(stderr, "rtcmType %d igsVersion %d ",type, version);
     604#endif
    601605  G_IGS_MESSAGE_NUMBER(type)
    602 #ifdef DEBUG
    603   fprintf(stderr, "type %d size %d\n",type,sizeofrtcmblock);
     606#ifdef BNC_DEBUG
     607  fprintf(stderr, "igsType IM%d size %d\n",type,(int)sizeofrtcmblock);
    604608#endif
    605609  if (bytesused)
     
    619623    G_VTEC_QUALITY_INDICATOR(v->Quality)
    620624    G_NO_IONO_LAYERS(v->NumLayers)
     625#ifdef BNC_DEBUG
     626          fprintf(stderr, "epochTime %d ui %d mmi %d ssrIod %d providerId %d solId %d vtecQ %8.3f numLay %d \n",
     627                          v->EpochTime, v->UpdateInterval, mmi,
     628                                  v->SSRIOD, v->SSRProviderID, v->SSRSolutionID, v->Quality, v->NumLayers);
     629#endif
    621630    for (l = 0; l < v->NumLayers; ++l) {
    622631      G_IONO_HEIGHT(v->Layers[l].Height)
    623632      G_IONO_DEGREE(v->Layers[l].Degree)
    624633      G_IONO_ORDER(v->Layers[l].Order)
     634#ifdef BNC_DEBUG
     635          fprintf(stderr, "h  %8.3f deg %d ord %d \n",
     636                          v->Layers[l].Height, v->Layers[l].Degree, v->Layers[l].Order);
     637#endif
    625638      for (o = 0; o <= v->Layers[l].Order; ++o) {
    626639        for (d = o; d <= v->Layers[l].Degree; ++d) {
    627640          G_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
     641#ifdef BNC_DEBUG
     642          fprintf(stderr, "C[%d][%d]  %8.3f \n",
     643                          d, o, v->Layers[l].Cosinus[d][o]);
     644#endif
    628645        }
    629646      }
     
    631648        for (d = o; d <= v->Layers[l].Degree; ++d) {
    632649          G_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
     650#ifdef BNC_DEBUG
     651          fprintf(stderr, "S[%d][%d]  %8.3f \n",
     652                          d, o, v->Layers[l].Sinus[d][o]);
     653#endif
    633654        }
    634655      }
    635656    }
    636 #ifdef DEBUG
    637     for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
     657#ifdef BNC_DEBUG
     658    for(type = 0; type < (unsigned int)size && (unsigned char)buffer[type] != 0xD3; ++type)
    638659    numbits += 8;
    639660    fprintf(stderr, "numbits left %d\n",numbits);
     
    642663  }
    643664
    644 
    645 
    646665  for (s = CLOCKORBIT_SATNUM; s-- > 0;) {
    647         if (type == corbase[s] + s) {
    648       if (!pb)
    649         return GCOBR_NOPHASEBIASPARAMETER;
    650       pb->messageType = type;
    651       G_SSR_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
    652       G_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
    653       G_MULTIPLE_MESSAGE_INDICATOR(mmi)
    654       G_SSR_IOD(pb->SSRIOD)
    655       G_SSR_PROVIDER_ID(pb->SSRProviderID)
    656       G_SSR_SOLUTION_ID(pb->SSRSolutionID)
    657       G_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
    658       G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
    659       G_NO_OF_SATELLITES(nums)
    660       for (i = 0; i < nums; ++i) {
    661         G_GNSS_SATELLITE_ID(id)
    662         for (pos = satoffset[s];
    663             pos < satoffset[s] + pb->NumberOfSat[s] && pb->Sat[pos].ID != id;
    664             ++pos)
    665           ;
    666         if (pos >= satoffset[s + 1])
    667           return GCOBR_DATAMISMATCH;
    668         else if (pos == pb->NumberOfSat[s] + satoffset[s])
    669           ++pb->NumberOfSat[s];
    670         pb->Sat[pos].ID = id;
    671         G_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
    672         G_YAW_ANGLE(pb->Sat[pos].YawAngle)
    673         G_YAW_RATE(pb->Sat[pos].YawRate)
    674         for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
    675           G_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
    676           G_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
    677           G_WIDE_LANE_INDICATOR(pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
    678           G_DISCONTINUITY_COUNTER(pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
    679           G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
    680         }
    681       }
    682 #ifdef DEBUG
    683       for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
    684       numbits += 8;
    685       fprintf(stderr, "numbits left %d\n",numbits);
    686 #endif
    687       return mmi ? GCOBR_MESSAGEFOLLOWS : GCOBR_OK;
    688     }
    689     else if (type >= corbase[s]) {
     666    if (type >= corbase[s]) {
    690667      switch (type - corbase[s]) {
    691668        case COBOFS_ORBIT:
     
    702679          G_NO_OF_SATELLITES(nums)
    703680          co->Supplied[COBOFS_ORBIT] |= 1;
    704 #ifdef DEBUG
    705           fprintf(stderr, "epochtime %d ui %d mmi %d sats %d/%d rd %d\n",co->EpochTime[s],
    706               co->UpdateInterval,mmi,co->NumberOfSat[s],nums, co->SatRefDatum);
     681#ifdef BNC_DEBUG
     682          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d rd %d ssrIod %d providerId %d solId %d\n",
     683                          co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
     684                                  co->SatRefDatum, co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
    707685#endif
    708686          for (i = 0; i < nums; ++i) {
     
    724702            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
    725703            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
    726 #ifdef DEBUG
    727             fprintf(stderr, "id %2d iod %3d dr %8.3f da %8.3f dc %8.3f dr %8.3f da %8.3f dc %8.3f\n",
     704#ifdef BNC_DEBUG
     705            fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f\n",
    728706                co->Sat[pos].ID,co->Sat[pos].IOD,co->Sat[pos].Orbit.DeltaRadial,
    729707                co->Sat[pos].Orbit.DeltaAlongTrack,co->Sat[pos].Orbit.DeltaCrossTrack,
     
    746724          G_NO_OF_SATELLITES(nums)
    747725          co->Supplied[COBOFS_CLOCK] |= 1;
    748 #ifdef DEBUG
    749           fprintf(stderr, "epochtime %d ui %d mmi %d sats %d/%d\n",co->EpochTime[s],
    750               co->UpdateInterval,mmi,co->NumberOfSat[s],nums);
     726#ifdef BNC_DEBUG
     727          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
     728                          co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
     729                                  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
    751730#endif
    752731          for (i = 0; i < nums; ++i) {
     
    764743            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
    765744            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
    766 #ifdef DEBUG
     745#ifdef BNC_DEBUG
    767746            fprintf(stderr, "id %2d c0 %8.3f c1 %8.3f c2 %8.3f\n",
    768747                co->Sat[pos].ID, co->Sat[pos].Clock.DeltaA0, co->Sat[pos].Clock.DeltaA1,
     
    785764          co->Supplied[COBOFS_ORBIT] |= 1;
    786765          co->Supplied[COBOFS_CLOCK] |= 1;
     766#ifdef BNC_DEBUG
     767          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d rd %d ssrIod %d providerId %d solId %d\n",
     768                          co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
     769                                  co->SatRefDatum, co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
     770#endif
    787771          for (i = 0; i < nums; ++i) {
    788772            G_GNSS_SATELLITE_ID(id)
     
    806790            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
    807791            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
     792#ifdef BNC_DEBUG
     793            fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f  c0 %8.3f c1 %8.3f c2 %8.3f\n",
     794                co->Sat[pos].ID,co->Sat[pos].IOD,co->Sat[pos].Orbit.DeltaRadial,
     795                co->Sat[pos].Orbit.DeltaAlongTrack,co->Sat[pos].Orbit.DeltaCrossTrack,
     796                co->Sat[pos].Orbit.DotDeltaRadial, co->Sat[pos].Orbit.DotDeltaAlongTrack,
     797                co->Sat[pos].Orbit.DotDeltaCrossTrack,
     798                                co->Sat[pos].Clock.DeltaA0, co->Sat[pos].Clock.DeltaA1, co->Sat[pos].Clock.DeltaA2);
     799#endif
    808800          }
    809801          break;
     
    820812          G_NO_OF_SATELLITES(nums)
    821813          co->Supplied[COBOFS_URA] |= 1;
     814#ifdef BNC_DEBUG
     815          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
     816                          co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
     817                                  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
     818#endif
    822819          for (i = 0; i < nums; ++i) {
    823820            G_GNSS_SATELLITE_ID(id)
     
    832829            co->Sat[pos].ID = id;
    833830            G_SSR_URA(co->Sat[pos].UserRangeAccuracy)
     831#ifdef BNC_DEBUG
     832            fprintf(stderr, "id %2d ura %8.3f \n",
     833                co->Sat[pos].ID, co->Sat[pos].UserRangeAccuracy);
     834#endif
    834835          }
    835836          break;
     
    846847          G_NO_OF_SATELLITES(nums)
    847848          co->Supplied[COBOFS_HR] |= 1;
     849#ifdef BNC_DEBUG
     850          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
     851                          co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
     852                                  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
     853#endif
    848854          for (i = 0; i < nums; ++i) {
    849855            G_GNSS_SATELLITE_ID(id)
     
    858864            co->Sat[pos].ID = id;
    859865            G_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
     866#ifdef BNC_DEBUG
     867            fprintf(stderr, "id %2d hrClock %8.3f \n",
     868                    co->Sat[pos].ID, co->Sat[pos].hrclock);
     869#endif
    860870          }
    861871          break;
     
    871881          G_SSR_SOLUTION_ID(b->SSRSolutionID)
    872882          G_NO_OF_SATELLITES(nums)
     883#ifdef BNC_DEBUG
     884          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
     885                          b->EpochTime[s], b->UpdateInterval,mmi,b->NumberOfSat[s],nums,
     886                                  b->SSRIOD, b->SSRProviderID, b->SSRSolutionID);
     887#endif
    873888          for (i = 0; i < nums; ++i) {
    874889            G_GNSS_SATELLITE_ID(id)
     
    883898            b->Sat[pos].ID = id;
    884899            G_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
     900#ifdef BNC_DEBUG
     901            fprintf(stderr, "id %2d #%d ",
     902                    b->Sat[pos].ID, b->Sat[pos].NumberOfCodeBiases);
     903#endif
    885904            for (j = 0; j < b->Sat[pos].NumberOfCodeBiases; ++j) {
    886905              G_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
    887906              G_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
     907#ifdef BNC_DEBUG
     908            fprintf(stderr, "t%d b %8.2f ",
     909                    b->Sat[pos].Biases[j].Type, b->Sat[pos].Biases[j].Bias);
     910#endif
    888911            }
     912#ifdef BNC_DEBUG
     913            fprintf(stderr, "\n");
     914#endif
    889915          }
     916          break;
     917        case COBOFS_PBIAS:
     918            if (!pb)
     919              return GCOBR_NOPHASEBIASPARAMETER;
     920            pb->messageType = type;
     921            G_SSR_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
     922            G_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
     923            G_MULTIPLE_MESSAGE_INDICATOR(mmi)
     924            G_SSR_IOD(pb->SSRIOD)
     925            G_SSR_PROVIDER_ID(pb->SSRProviderID)
     926            G_SSR_SOLUTION_ID(pb->SSRSolutionID)
     927            G_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
     928            G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
     929            G_NO_OF_SATELLITES(nums)
     930#ifdef BNC_DEBUG
     931          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d dispInd %d mwInd %d\n",
     932                          pb->EpochTime[s], pb->UpdateInterval,mmi,pb->NumberOfSat[s],nums,
     933                                  pb->SSRIOD, pb->SSRProviderID, pb->SSRSolutionID,
     934                                  pb->DispersiveBiasConsistencyIndicator, pb->MWConsistencyIndicator);
     935#endif
     936            for (i = 0; i < nums; ++i) {
     937              G_GNSS_SATELLITE_ID(id)
     938              for (pos = satoffset[s];
     939                  pos < satoffset[s] + pb->NumberOfSat[s] && pb->Sat[pos].ID != id;
     940                  ++pos)
     941                ;
     942              if (pos >= satoffset[s + 1])
     943                return GCOBR_DATAMISMATCH;
     944              else if (pos == pb->NumberOfSat[s] + satoffset[s])
     945                ++pb->NumberOfSat[s];
     946              pb->Sat[pos].ID = id;
     947              G_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
     948              G_YAW_ANGLE(pb->Sat[pos].YawAngle)
     949              G_YAW_RATE(pb->Sat[pos].YawRate)
     950#ifdef BNC_DEBUG
     951            fprintf(stderr, "id %2d #%d y %8.3f yr %8.3f ",
     952                    pb->Sat[pos].ID, pb->Sat[pos].NumberOfPhaseBiases,
     953                                        pb->Sat[pos].YawAngle, pb->Sat[pos].YawRate);
     954#endif
     955              for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
     956                G_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
     957                G_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
     958                G_WIDE_LANE_INDICATOR(pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
     959                G_DISCONTINUITY_COUNTER(pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
     960                G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
     961#ifdef BNC_DEBUG
     962            fprintf(stderr, "t%d int %d wl %d disc %d b %8.4f ",
     963                    pb->Sat[pos].Biases[j].Type,
     964                                        pb->Sat[pos].Biases[j].SignalIntegerIndicator,
     965                                        pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator,
     966                                        pb->Sat[pos].Biases[j].SignalDiscontinuityCounter,
     967                                        pb->Sat[pos].Biases[j].Bias);
     968#endif
     969              }
     970#ifdef BNC_DEBUG
     971            fprintf(stderr, "\n");
     972#endif
     973            }
    890974          break;
    891975        default:
    892976          continue;
    893977      }
    894 #ifdef DEBUG
    895       for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
     978#ifdef BNC_DEBUG
     979      for(type = 0; type < (unsigned int)size && (unsigned char)buffer[type] != 0xD3; ++type)
    896980      numbits += 8;
    897981      fprintf(stderr, "numbits left %d\n",numbits);
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.h

    r8970 r8972  
    1313#include <string.h>
    1414
     15enum IGS_NUMBERS {
     16 RTCM_MESSAGE_NUMBER_IGS = 4076,
     17 IGS_SSR_VERSION         = 3
     18};
     19
    1520enum SatelliteReferenceDatum {
    1621  DATUM_ITRF  = 0,
     
    1823};
    1924
    20 enum IGS_NUMBERS {
    21  RTCM_MESSAGE_NUMBER_IGS = 4076,
    22  IGS_SSR_VERSION         = 3
    23 };
    24 
    25 enum COR_BASE {// Orbit Correction
     25enum COR_BASE {
    2626  COBBASE_GPS     =  21,
    2727  COBBASE_GLONASS =  41,
     
    6969  COTYPE_QZSSURA         = COBBASE_QZSS    + COBOFS_URA,
    7070
     71  COTYPE_SBASORBIT       = COBBASE_SBAS    + COBOFS_ORBIT,
     72  COTYPE_SBASCLOCK,
     73  COTYPE_SBASCOMBINED    = COBBASE_SBAS    + COBOFS_COMBINED,
     74  COTYPE_SBASHR,
     75  COTYPE_SBASURA         = COBBASE_SBAS    + COBOFS_URA,
     76
    7177  COTYPE_BDSORBIT        = COBBASE_BDS     + COBOFS_ORBIT,
    7278  COTYPE_BDSCLOCK,
     
    7581  COTYPE_BDSURA          = COBBASE_BDS     + COBOFS_URA,
    7682
    77   COTYPE_SBASORBIT       = COBBASE_SBAS    + COBOFS_ORBIT,
    78   COTYPE_SBASCLOCK,
    79   COTYPE_SBASCOMBINED    = COBBASE_SBAS    + COBOFS_COMBINED,
    80   COTYPE_SBASHR,
    81   COTYPE_SBASURA         = COBBASE_SBAS    + COBOFS_URA,
    82 
    8383  COTYPE_AUTO = 0,
    8484};
     
    8989  CBTYPE_GALILEO = COBBASE_GALILEO + COBOFS_CBIAS,
    9090  CBTYPE_QZSS    = COBBASE_QZSS    + COBOFS_CBIAS,
     91  CBTYPE_SBAS    = COBBASE_SBAS    + COBOFS_CBIAS,
    9192  CBTYPE_BDS     = COBBASE_BDS     + COBOFS_CBIAS,
    92   CBTYPE_SBAS    = COBBASE_SBAS    + COBOFS_CBIAS,
    9393  CBTYPE_AUTO    = 0
    9494};
     
    9999  PBTYPE_GALILEO = COBBASE_GALILEO + COBOFS_PBIAS,
    100100  PBTYPE_QZSS    = COBBASE_QZSS    + COBOFS_PBIAS,
     101  PBTYPE_SBAS    = COBBASE_SBAS    + COBOFS_PBIAS,
    101102  PBTYPE_BDS     = COBBASE_BDS     + COBOFS_PBIAS,
    102   PBTYPE_SBAS    = COBBASE_SBAS    + COBOFS_PBIAS,
    103103  PBTYPE_AUTO    = 0
    104104};
     
    116116  CLOCKORBIT_NUMGALILEO    =   36,
    117117  CLOCKORBIT_NUMQZSS       =   10,
     118  CLOCKORBIT_NUMSBAS       =   38,
    118119  CLOCKORBIT_NUMBDS        =   65,
    119   CLOCKORBIT_NUMSBAS       =   38,
    120120  CLOCKORBIT_NUMBIAS       =  100,
    121121  CLOCKORBIT_NUMIONOLAYERS =    4,
     
    129129  CLOCKORBIT_SATGALILEO,
    130130  CLOCKORBIT_SATQZSS,
     131  CLOCKORBIT_SATSBAS,
    131132  CLOCKORBIT_SATBDS,
    132   CLOCKORBIT_SATSBAS,
    133133  CLOCKORBIT_SATNUM
    134134};
     
    139139  CLOCKORBIT_OFFSETGALILEO = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS,
    140140  CLOCKORBIT_OFFSETQZSS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO,
     141  CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
     142                           + CLOCKORBIT_NUMQZSS,
    141143  CLOCKORBIT_OFFSETBDS     = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    142                            + CLOCKORBIT_NUMQZSS,
    143   CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    144                            + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMBDS,
     144                           + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS,
    145145  CLOCKORBIT_COUNTSAT      = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    146                            + CLOCKORBIT_NUMSBAS + CLOCKORBIT_NUMQZSS    + CLOCKORBIT_NUMBDS
     146                           + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS    + CLOCKORBIT_NUMBDS
    147147};
    148148
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h

    r8970 r8972  
    1212
    1313#include <string.h>
     14
     15
     16
     17
     18
    1419
    1520enum SatelliteReferenceDatum {
     
    2530  COBBASE_SBAS    = 1252,
    2631  COBBASE_BDS     = 1258,
     32  COBBASE_NUM
    2733};
    2834
     
    8490  CBTYPE_SBAS    = COBBASE_SBAS    + COBOFS_CBIAS,
    8591  CBTYPE_BDS     = COBBASE_BDS     + COBOFS_CBIAS,
    86   CBTYPE_AUTO = 0
    87 };
    88 
    89 enum PhaseBiasType {
     92  CBTYPE_AUTO    = 0
     93};
     94
     95enum PhaseBiasType{
    9096  PBTYPE_BASE    = 1265,
    9197  PBTYPE_GPS     = PBTYPE_BASE,
     
    95101  PBTYPE_SBAS,
    96102  PBTYPE_BDS,
    97   PBTYPE_AUTO = 0
     103  PBTYPE_AUTO    = 0
    98104};
    99105
     
    110116  CLOCKORBIT_NUMGALILEO    =   36,
    111117  CLOCKORBIT_NUMQZSS       =   10,
     118  CLOCKORBIT_NUMSBAS       =   38,
    112119  CLOCKORBIT_NUMBDS        =   65,
    113   CLOCKORBIT_NUMSBAS       =   38,
    114120  CLOCKORBIT_NUMBIAS       =  100,
    115121  CLOCKORBIT_NUMIONOLAYERS =    4,
     
    123129  CLOCKORBIT_SATGALILEO,
    124130  CLOCKORBIT_SATQZSS,
     131  CLOCKORBIT_SATSBAS,
    125132  CLOCKORBIT_SATBDS,
    126   CLOCKORBIT_SATSBAS,
    127133  CLOCKORBIT_SATNUM
    128134};
     
    133139  CLOCKORBIT_OFFSETGALILEO = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS,
    134140  CLOCKORBIT_OFFSETQZSS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO,
     141  CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
     142                           + CLOCKORBIT_NUMQZSS,
    135143  CLOCKORBIT_OFFSETBDS     = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    136                            + CLOCKORBIT_NUMQZSS,
    137   CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    138                            + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMBDS,
     144                           + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS,
    139145  CLOCKORBIT_COUNTSAT      = CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
    140                            + CLOCKORBIT_NUMSBAS + CLOCKORBIT_NUMQZSS    + CLOCKORBIT_NUMBDS
     146                           + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS    + CLOCKORBIT_NUMBDS
    141147};
    142148
Note: See TracChangeset for help on using the changeset viewer.