Changeset 11059 in ntrip


Ignore:
Timestamp:
Sep 30, 2026, 11:03:55 PM (7 hours ago)
Author:
stuerze
Message:

minor changes

Location:
trunk/BNC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/combination/bnccomb.cpp

    r11058 r11059  
    963963    QTextStream out(&_log, QIODevice::WriteOnly);
    964964    processSystem(epoTime, sys, out);
     965    out.flush(); // QTextStream buffers: pass the complete log text on
    965966    _buffer.remove(sys);
    966967    if (_logFile) {
    … …  
    16851686  }
    16861687
     1688  QSet<QString> singleACSats;   // satellites skipped: corrections from < 2 ACs
     1689  QSet<QString> singleACNames;
     1690
    16871691  while (_running) {
    16881692
    … …  
    17581762      QString  prn  = corr->_prn;
    17591763      if      (numCorr[prn] < 2) {
     1764        singleACSats.insert(prn.mid(0,3));
     1765        singleACNames.insert(corr->_acName);
    17601766        delete corr;
    17611767        im.remove();
    … …  
    18041810  }
    18051811
     1812
     1813  // Satellites with corrections from fewer than 2 ACs cannot be checked for
     1814  // orbit outliers and are skipped (e.g. if an AC is missing): log it, in
     1815  // the combination log every epoch, in the BNC log at most once per hour
     1816  // -------------------------------------------------------------------------
     1817  if (!singleACSats.isEmpty()) {
     1818    QStringList sats = singleACSats.values();  sats.sort();
     1819    QStringList acs  = singleACNames.values(); acs.sort();
     1820    QString msg = QString("%1 satellite(s) skipped, corrections from fewer than 2 ACs (only %2): %3")
     1821                  .arg(sats.size()).arg(acs.join(",")).arg(sats.join(" "));
     1822    out << epoTime.datestr().c_str() << " " << epoTime.timestr().c_str() << " " << msg << "\n";
     1823    bncTime& warned = _singleACWarned[sys];
     1824    if (!warned.valid() || epoTime - warned >= 3600.0) {
     1825      warned = epoTime;
     1826      emit newMessage("bncComb: " + QByteArray(1, sys) + " " + msg.toLatin1(), false);
     1827    }
     1828  }
    18061829  return success;
    18071830}
  • trunk/BNC/src/combination/bnccomb.h

    r11058 r11059  
    269269  QMap<QString, bncTime>                     _acLastClkTime; // latest correction epoch per AC
    270270  QMap<QString, bncTime>                     _refBiasWarned; // last warning per AC and system
     271  QMap<char, bncTime>                        _singleACWarned; // last 'fewer than 2 ACs' message per system
    271272  bool allACsBeyond(const bncTime& epoTime) const;
    272273  bncTime                                    _resTime;
  • trunk/BNC/tests/README.md

    r11058 r11059  
    1111```
    1212
    13 Build `./bnc` first (see CLAUDE.md). Each case runs in `tests/work/<case>/`,
     13Build `./bnc` first. Each case runs in `tests/work/<case>/`,
    1414which has an `Input` symlink to `Example_Configs/Input` and an empty `Output`
    1515directory, so the example configurations run unchanged. On a failure, the
Note: See TracChangeset for help on using the changeset viewer.