Changeset 11000 in ntrip for trunk/BNC/src/RTCM3


Ignore:
Timestamp:
Aug 31, 2026, 5:27:46 PM (2 months ago)
Author:
stuerze
Message:

updates regarding RTCM-SSR

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

Legend:

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

    r10994 r11000  
    22632263      if ((id >= 1057 && id <= 1068) ||
    22642264          (id >= 1240 && id <= 1270) ||
     2265          (id > 0     && id <= 100) ||
    22652266          (id == 4076)) {
    22662267        if (!_coDecoders.contains(_staID.toLatin1())) {
  • trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp

    r10999 r11000  
    505505    satPhaseBias._ssrFormat  = (_type == RTCMssr) ? ssrRtcmOld :
    506506                               (_type == RTCMnewssr) ? ssrRtcmNew : ssrUnknown;
    507     satPhaseBias._dispBiasConsistInd = _phaseBias.DispersiveBiasConsistencyIndicator;
    508     satPhaseBias._MelbWuebConsistInd = _phaseBias.MWConsistencyIndicator;
     507    if (satPhaseBias._ssrFormat == e_ssrFormat::ssrRtcmNew) {
     508      satPhaseBias._satYawInfoInd = _phaseBias.SatelliteYawInformationIndicator;
     509      satPhaseBias._extPBPhaseInd = _phaseBias.ExtendedPhaseBiasPropertyID;
     510    } 
     511    else {
     512      satPhaseBias._dispBiasConsistInd = _phaseBias.DispersiveBiasConsistencyIndicator;
     513      satPhaseBias._MelbWuebConsistInd = _phaseBias.MWConsistencyIndicator;
     514    }
    509515    satPhaseBias._yaw     = _phaseBias.Sat[ii].YawAngle;
    510516    satPhaseBias._yawRate = _phaseBias.Sat[ii].YawRate;
    … …  
    513519      t_frqPhaseBias frqPhaseBias;
    514520      frqPhaseBias._rnxType2ch.assign(_ssrCorr->codeTypeToRnxType(sys, biasEntry.Type));
    515       frqPhaseBias._value                = biasEntry.Bias;
    516       frqPhaseBias._fixIndicator         = biasEntry.IntegerIndicator;
    517       frqPhaseBias._fixWideLaneIndicator = biasEntry.WidelaneGroupIndicator;
    518       frqPhaseBias._jumpCounter          = biasEntry.DiscontinuityCounter;
     521      frqPhaseBias._value        = biasEntry.Bias;
     522      frqPhaseBias._fixIndicator = biasEntry.IntegerIndicator;
     523      if (satPhaseBias._ssrFormat == e_ssrFormat::ssrRtcmNew) {
     524        if (satPhaseBias._extPBPhaseInd) {
     525          frqPhaseBias._fixWideLaneIndicator = biasEntry.WidelaneGroupIndicator;
     526        }
     527      }
     528      else {
     529        frqPhaseBias._fixWideLaneIndicator = biasEntry.WidelaneGroupIndicator;
     530      }
     531      frqPhaseBias._jumpCounter = biasEntry.DiscontinuityCounter;
    519532      if (!frqPhaseBias._rnxType2ch.empty()) {
    520533        satPhaseBias._bias.push_back(frqPhaseBias);
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp

    r10998 r11000  
    380380        E_GPS_SATELLITE_ID(b->Sat[i].ID)
    381381        E_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
    382         E_YAW_ANGLE(b->Sat[i].YawAngle)
    383         E_YAW_RATE(b->Sat[i].YawRate)
     382        if (b->SatelliteYawInformationIndicator) {
     383          E_YAW_ANGLE(b->Sat[i].YawAngle)
     384          E_YAW_RATE(b->Sat[i].YawRate)
     385        }
    384386        for (j = 0; j < b->Sat[i].NumberOfPhaseBiases; ++j) {
    385387          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
    … …  
    605607            pb->Sat[pos].ID = id;
    606608            D_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
    607             D_YAW_ANGLE(pb->Sat[pos].YawAngle)
    608             D_YAW_RATE(pb->Sat[pos].YawRate)
     609            if (pb->SatelliteYawInformationIndicator) {
     610              D_YAW_ANGLE(pb->Sat[pos].YawAngle)
     611              D_YAW_RATE(pb->Sat[pos].YawRate)
     612            }
    609613#ifdef BNC_DEBUG_SSR
    610614            fprintf(stderr, "id %2d #%d y %10.6f yr %10.6f ",
    … …  
    619623              D_PHASE_BIAS_CORRECTION(pb->Sat[pos].Biases[j].Bias)
    620624#ifdef BNC_DEBUG_SSR
    621               fprintf(stderr, "t%02d int %d disc %d b %8.4f ",
     625              fprintf(stderr, "t %02d int %02d disc %d b %8.4f ",
    622626                      pb->Sat[pos].Biases[j].Type,
    623627                                                    pb->Sat[pos].Biases[j].IntegerIndicator,
    … …  
    677681              D_WIDE_LANE_INDICATOR(pb->Sat[pos].Biases[j].WidelaneGroupIndicator)
    678682#ifdef BNC_DEBUG_SSR
    679               fprintf(stderr, "t%02d int %d /*wl %d*/ disc %d b %8.4f ",
     683              fprintf(stderr, "t %02d wl %d ",
    680684                      pb->Sat[pos].Biases[j].Type,
    681                                           pb->Sat[pos].Biases[j].IntegerIndicator,
    682                                           pb->Sat[pos].Biases[j].WidelaneGroupIndicator,
    683                                           pb->Sat[pos].Biases[j].DiscontinuityCounter,
    684                                           pb->Sat[pos].Biases[j].Bias);
     685                                                    pb->Sat[pos].Biases[j].WidelaneGroupIndicator);
    685686#endif
    686687            }
    … …  
    10381039              D_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
    10391040#ifdef BNC_DEBUG_SSR
    1040             fprintf(stderr, "t%02d b %8.2f ",
     1041            fprintf(stderr, "t %02d b %8.2f ",
    10411042                    b->Sat[pos].Biases[j].Type, b->Sat[pos].Biases[j].Bias);
    10421043#endif
Note: See TracChangeset for help on using the changeset viewer.