Changeset 9532 in ntrip for trunk/BNC/src/PPP/pppParlist.cpp


Ignore:
Timestamp:
Nov 5, 2021, 3:42:51 PM (3 years ago)
Author:
stuerze
Message:

some changes regarding PPP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/PPP/pppParlist.cpp

    r9528 r9532  
    480480  }
    481481
     482  // check which systems have observations
     483  // -------------------------------------
     484  _usedSystems.clear();
     485  for (unsigned jj = 0; jj < obsVector.size(); jj++) {
     486    const t_pppSatObs* satObs = obsVector[jj];
     487    char sys = satObs->prn().system();LOG << satObs->prn().toString() << endl;
     488    if (!_usedSystems.contains(sys)) {
     489      _usedSystems.append(sys);
     490    }
     491  }
     492
     493  if (_usedSystems.size() > 1 &&
     494      !_usedSystems.contains('G')) { // required to setup ISB w. r. t. GPS
     495    return failure;
     496  }
     497
     498
     499
    482500  // Check whether parameters have observations
    483501  // ------------------------------------------
     
    515533      if ((par->type() == t_pppParam::amb) &&
    516534          (!par->lastObsTime().valid() || (epoTime - par->lastObsTime() > 0.0))) {
    517 #ifdef BNC_DEBUG_PPP
    518535        LOG << "remove1 " << par->toString() << std::endl;
    519 #endif
    520536        lostSats.append(par->prn());
    521537        delete par;
    522538        it = _params.erase(it);
     539      }
     540      // Check if systems have to be presented per biases
     541      else if ((par->type() == t_pppParam::cBiasG1 ||
     542                par->type() == t_pppParam::cBiasG2 ||
     543                par->type() == t_pppParam::pBiasG1 ||
     544                par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('G')) {
     545        delete par; LOG << "remove1 " << par->toString() << std::endl;
     546       it = _params.erase(it);
     547      }
     548      else if ((par->type() == t_pppParam::cBiasR1 ||
     549                par->type() == t_pppParam::cBiasR2 ||
     550                par->type() == t_pppParam::pBiasR1 ||
     551                par->type() == t_pppParam::pBiasR2) && !usedSystems().contains('R')) {
     552        delete par; LOG << "remove1 " << par->toString() << std::endl;
     553       it = _params.erase(it);
     554      }
     555      else if ((par->type() == t_pppParam::cBiasE1 ||
     556                par->type() == t_pppParam::cBiasE2 ||
     557                par->type() == t_pppParam::pBiasE1 ||
     558                par->type() == t_pppParam::pBiasE2) && !usedSystems().contains('E')) {
     559        delete par; LOG << "remove1 " << par->toString() << std::endl;
     560       it = _params.erase(it);
     561      }
     562      else if ((par->type() == t_pppParam::cBiasC1 ||
     563                par->type() == t_pppParam::cBiasC2 ||
     564                par->type() == t_pppParam::pBiasC1 ||
     565                par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('C')) {
     566        delete par; LOG << "remove1 " << par->toString() << std::endl;
     567       it = _params.erase(it);
    523568      }
    524569      else {
     
    533578      if ((par->type() == t_pppParam::ion) &&
    534579          (lostSats.contains(par->prn()) || (epoTime - par->lastObsTime() > 0.0))) {
    535     #ifdef BNC_DEBUG_PPP
    536580        LOG << "remove1 " << par->toString() << std::endl;
    537     #endif
    538581        delete par;
    539582        it = _params.erase(it);
     
    545588  }
    546589
    547   // check which systems have observations
    548   // -------------------------------------
    549   _usedSystems.clear();
    550   for (unsigned jj = 0; jj < obsVector.size(); jj++) {
    551     const t_pppSatObs* satObs = obsVector[jj];
    552     char sys = satObs->prn().system();
    553     if (!_usedSystems.contains(sys)) {
    554       _usedSystems.append(sys);
    555     }
    556   }
    557 
    558   if (_usedSystems.size() > 1 &&
    559       !_usedSystems.contains('G')) { // required to setup ISB w. r. t. GPS
    560     return failure;
    561   }
    562590
    563591  // Required Set of Parameters
Note: See TracChangeset for help on using the changeset viewer.