Ignore:
Timestamp:
Aug 27, 2020, 9:36:18 AM (4 years ago)
Author:
stuerze
Message:

some modification to allow encoding and decoding of SSR corrections in RTCM-SSR and IGS-SSR formats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/RTCM3/RTCM3Decoder.cpp

    r9008 r9036  
    489489
    490490  bncTime CurrentObsTime;
    491   if (sys == 'C') /* BDS */ {
     491  if      (sys == 'C') /* BDS */ {
    492492    GETBITS(i, 30)
    493493    CurrentObsTime.setBDS(i);
     
    793793                  frqObs->_codeValid = true;
    794794                }
    795 
    796795                if (cp[count] > -1.0 / (1 << 8)) {
    797796                  frqObs->_phase = cp[count] * LIGHTSPEED / 1000.0 / cd.wl
     
    802801                  frqObs->_slipCounter = ll[count];
    803802                }
    804 
    805803                frqObs->_snr = cnr[count];
    806804                frqObs->_snrValid = true;
     
    812810                  frqObs->_codeValid = true;
    813811                }
    814 
    815812                if (cp[count] > -1.0 / (1 << 8)) {
    816813                  frqObs->_phase = cp[count] * LIGHTSPEED / 1000.0 / cd.wl
     
    821818                  frqObs->_slipCounter = ll[count];
    822819                }
    823 
    824820                frqObs->_snr = cnr[count];
    825821                frqObs->_snrValid = true;
    826 
    827822                if (dop[count] > -1.6384) {
    828823                  frqObs->_doppler = -(dop[count] + rdop[numsat]) / cd.wl;
     
    836831                  frqObs->_codeValid = true;
    837832                }
    838 
    839833                if (cp[count] > -1.0 / (1 << 8)) {
    840834                  frqObs->_phase = cp[count] * LIGHTSPEED / 1000.0 / cd.wl
     
    855849                  frqObs->_codeValid = true;
    856850                }
    857 
    858851                if (cp[count] > -1.0 / (1 << 8)) {
    859852                  frqObs->_phase = cp[count] * LIGHTSPEED / 1000.0 / cd.wl
     
    16241617       * else. */
    16251618      if ((id >= 1057 && id <= 1068) ||
    1626           (id >= 1240 && id <= 1270) ||
    1627           (id == 4076)) {
    1628         if (!_coDecoders.contains(_staID.toAscii()))
    1629           _coDecoders[_staID.toAscii()] = new RTCM3coDecoder(_staID);
    1630         RTCM3coDecoder* coDecoder = _coDecoders[_staID.toAscii()];
     1619          (id >= 1240 && id <= 1270) ||
     1620                  (id == 4076)) {
     1621        RTCM3coDecoder::e_type type = RTCM3coDecoder::e_type::RTCMssr;
     1622        if (id == 4076) {
     1623          type = RTCM3coDecoder::e_type::IGSssr;
     1624        }
     1625        if (!_coDecoders.contains(_staID.toLatin1()))
     1626          _coDecoders[_staID.toLatin1()] = new RTCM3coDecoder(_staID, type);
     1627        RTCM3coDecoder* coDecoder = _coDecoders[_staID.toLatin1()];
    16311628        if (coDecoder->Decode(reinterpret_cast<char *>(_Message), _BlockSize,
    16321629            errmsg) == success) {
     
    17161713  while (size--) {
    17171714    crc ^= (*buf++) << (16);
    1718     for (i = 0; i < 8; i++)
    1719         {
     1715    for (i = 0; i < 8; i++) {
    17201716      crc <<= 1;
    17211717      if (crc & 0x1000000)
Note: See TracChangeset for help on using the changeset viewer.