Ignore:
Timestamp:
Oct 22, 2026, 4:00:17 PM (2 days ago)
Author:
stuerze
Message:

timing in combination is improved

File:
1 edited

Legend:

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

    r11112 r11113  
    555555
    556556
    557 // True if every AC has delivered clock corrections for an epoch after epoTime
    558 ////////////////////////////////////////////////////////////////////////////
    559 bool bncComb::allACsBeyond(const bncTime& epoTime) const {
     557// True if every AC has delivered clock corrections for epoTime or a later
     558// epoch: the decoder passes an epoch on when it is complete (Multiple
     559// Message Indicator) and emits its clocks after its orbits and biases
     560////////////////////////////////////////////////////////////////////////////
     561bool bncComb::allACsDelivered(const bncTime& epoTime) const {
    560562  QListIterator<cmbAC*> itAC(_ACs);
    561563  while (itAC.hasNext()) {
    562564    const cmbAC* AC = itAC.next();
    563565    bncTime acLast = _acLastClkTime.value(AC->name);
    564     if (!acLast.valid() || !(acLast > epoTime)) {
     566    if (!acLast.valid() || acLast < epoTime) {
    565567      return false;
    566568    }
    … …  
    723725      }
    724726    }
    725     // Process the front epoch as soon as all ACs have delivered corrections
    726     // for a later epoch (i.e. have finished this one), at the latest when
    727     // the newest correction is maxWait newer (an AC may be late or missing).
     727    // Process the front epoch as soon as all ACs have delivered it (complete
     728    // epochs), at the latest when the newest correction is maxWait newer
     729    // (an AC may be late or missing).
    728730    // Waiting only outWait after the newest correction lost the corrections
    729731    // of ACs with a few seconds more latency ("old correction").
    730732    // -----------------------------------------------------------------------
    731733    const double maxWait = max(10.0, outWait);
    732     if (allACsBeyond(epoTime) || epoTime < (_lastClkCorrTime - maxWait)) {
     734    if (allACsDelivered(epoTime) || epoTime < (_lastClkCorrTime - maxWait)) {
    733735      _resTime = epoTime;
    734736      processEpoch(_resTime, clkCorrVec);
Note: See TracChangeset for help on using the changeset viewer.