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


Ignore:
Timestamp:
Sep 1, 2026, 3:26:23 PM (8 days ago)
Author:
stuerze
Message:

updates regarding RTCM-SSR

File:
1 edited

Legend:

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

    r11002 r11003  
    199199    }
    200200
    201     else if (irc < 0) {    // error  - skip 1 byte and retry
    202       reset();
     201    else if (irc < 0) {    // error - skip this message (or 1 byte if the
     202                            // frame itself couldn't be recognized) and retry
     203      if (irc != GCOBR_UNKNOWNTYPE) {
     204        // A recognized-but-unimplemented message (e.g. Tropospheric or
     205        // Regional Ionospheric Correction) leaves _clkOrb/_codeBias/
     206        // _phaseBias/_vTEC untouched, and bytesused is already reliably set
     207        // from its CRC-validated frame length, so there is nothing to
     208        // discard. Every other error code may have left inconsistent
     209        // partial state (e.g. mid-satellite-loop) or an unreliable frame
     210        // boundary, so reset defensively there. Without this, streams with
     211        // frequent unimplemented messages (e.g. dense grid-based Regional
     212        // Ionospheric traffic) would wipe unrelated, still-valid orbit/
     213        // clock/bias/phase-bias state every time one is skipped.
     214        reset();
     215      }
    203216      _buffer = _buffer.mid(bytesused ? bytesused : 1);
    204217    }
Note: See TracChangeset for help on using the changeset viewer.