Changeset 11044 in ntrip


Ignore:
Timestamp:
Sep 23, 2026, 5:40:34 PM (23 hours ago)
Author:
stuerze
Message:

bugfixes in BNC version 2.13.7 => BNC bersion 2.13.7.1

Location:
tags/BNC_2.13.7
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • tags/BNC_2.13.7/CHANGELOG.md

    r10981 r11044  
    11# Changelog
    2 ## 2.13.7 (2026-31-07)
     2## 2.13.7.1 (2026-09-24)
     3- FIXED: a latent stack-overflow risk in RTCM3coDecoder: This is solved by ordering extra heap per active SSR co-decoder; prevents a reliable crash on macOS because of a small default stack for secondary threads of only ~512 KB
     4- FIXED: RINEX version 3/4 filename generation from mountpoint names that are not conform to the RINEX naming convention: char 5-6 of the mountpoint name are only taken as monument/receiver digits, if they are actually digits. Otherwise falling back to "00".
     5
     6## 2.13.7 (2026-07-31)
    37- ADDED: PPP-AR Algorithm description is now part of BNCs help contents
    48- ADDED: L1C/B (RINEX code: '1E') in QZSS Signal ID Mapping
     
    1216- FIXED: SP3/Clock RINEX clock values produced by the Upload Corrections feature no longer depend on whether 'Center of Mass' is ticked, since that setting should only affect the uploaded SSR Broadcast Correction stream [(#210)](https://software.rtcm-ntrip.org/ticket/210)
    1317- FIXED: A timeout is added to allow a reonnect after an outage of Ntrip Version 2/2s streams
    14 - FIXED: "END OF EPOCH" entry in RINEX observation files is compleated by "COMMENT" 
    15 - CHANGED: prevention to extrapolate a orb/clk SSR correction far beyond its own declared update interval 
    16 - CHANGED: GLONASS postion integration fresh from the pristine, decoded TOC state rather than rolling _tt/_xv forward across repeated calls; prevents a crash in SSR upload 
     18- FIXED: "END OF EPOCH" entry in RINEX observation files is compleated by "COMMENT"
     19- CHANGED: prevention to extrapolate a orb/clk SSR correction far beyond its own declared update interval
     20- CHANGED: GLONASS postion integration fresh from the pristine, decoded TOC state rather than rolling _tt/_xv forward across repeated calls; prevents a crash in SSR upload
    1721
    1822## 2.13.6 (2026-05-05)
  • tags/BNC_2.13.7/src/RTCM3/RTCM3coDecoder.cpp

    r10826 r11044  
    9797  _providerID[2] = -1;
    9898
     99  _stateSnapshot = new t_stateSnapshot;
    99100  _ssrCorr = 0;
    100101
     
    106107  delete _out;
    107108  delete _ssrCorr;
     109  delete _stateSnapshot;
    108110  _IODs.clear();
    109111  _orbCorrections.clear();
     
    175177  while(_buffer.size()) {
    176178
    177     struct SsrCorr::ClockOrbit clkOrbSav;
    178     struct SsrCorr::CodeBias   codeBiasSav;
    179     struct SsrCorr::PhaseBias  phaseBiasSav;
    180     struct SsrCorr::VTEC       vTECSav;
    181     memcpy(&clkOrbSav,     &_clkOrb,    sizeof(clkOrbSav)); // save state
    182     memcpy(&codeBiasSav,   &_codeBias,  sizeof(codeBiasSav));
    183     memcpy(&phaseBiasSav,  &_phaseBias, sizeof(phaseBiasSav));
    184     memcpy(&vTECSav,       &_vTEC,      sizeof(vTECSav));
     179    // save state
     180    memcpy(&_stateSnapshot->clkOrb,    &_clkOrb,    sizeof(_clkOrb));
     181    memcpy(&_stateSnapshot->codeBias,  &_codeBias,  sizeof(_codeBias));
     182    memcpy(&_stateSnapshot->phaseBias, &_phaseBias, sizeof(_phaseBias));
     183    memcpy(&_stateSnapshot->vTEC,      &_vTEC,      sizeof(_vTEC));
    185184
    186185    int bytesused = 0;
     
    190189
    191190    if      (irc <= -30) { // not enough data - restore state and exit loop
    192       memcpy(&_clkOrb,    &clkOrbSav,    sizeof(clkOrbSav));
    193       memcpy(&_codeBias,  &codeBiasSav,  sizeof(codeBiasSav));
    194       memcpy(&_phaseBias, &phaseBiasSav, sizeof(phaseBiasSav));
    195       memcpy(&_vTEC,      &vTECSav,      sizeof(vTECSav));
     191      memcpy(&_clkOrb,     &_stateSnapshot->clkOrb,    sizeof(_clkOrb));
     192      memcpy(&_codeBias,   &_stateSnapshot->codeBias,  sizeof(_codeBias));
     193      memcpy(&_phaseBias,  &_stateSnapshot->phaseBias, sizeof(_phaseBias));
     194      memcpy(&_vTEC,       &_stateSnapshot->vTEC,      sizeof(_vTEC));
    196195      break;
    197196    }
  • tags/BNC_2.13.7/src/RTCM3/RTCM3coDecoder.h

    r10754 r11044  
    7474  bool corrIsOutOfRange(const SsrCorr::ClockOrbit::SatData& coSat);
    7575
     76  struct t_stateSnapshot {
     77    SsrCorr::ClockOrbit clkOrb;
     78    SsrCorr::CodeBias   codeBias;
     79    SsrCorr::PhaseBias  phaseBias;
     80    SsrCorr::VTEC       vTEC;
     81  };
     82
    7683  std::ofstream*                        _out;
    7784  QString                               _staID;
     
    8390  SsrCorr::PhaseBias                    _phaseBias;
    8491  SsrCorr::VTEC                         _vTEC;
     92  t_stateSnapshot*                      _stateSnapshot;
    8593  int                                   _providerID[3];
    8694  e_type                                _type;
  • tags/BNC_2.13.7/src/bncversion.h

    r10927 r11044  
    33#define BNCVERSION_H
    44
    5 #define BNCVERSION "2.13.7"
     5#define BNCVERSION "2.13.7.1"
    66#define BNCPGMNAME "BNC " BNCVERSION
    77
Note: See TracChangeset for help on using the changeset viewer.