Changeset 8216 in ntrip


Ignore:
Timestamp:
Dec 13, 2017, 1:24:38 PM (7 years ago)
Author:
stuerze
Message:

unhealthy satellites are reported within log file but are remainig in stream and file output

Location:
branches/BNC_2.12/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/PPP/pppEphPool.cpp

    r7278 r8216  
    2626/////////////////////////////////////////////////////////////////////////////
    2727void t_pppEphPool::putEphemeris(t_eph* eph) {
    28   if (eph && eph->checkState() != t_eph::bad) {
     28  if (eph && (eph->checkState() != t_eph::bad ||
     29              eph->checkState() != t_eph::unhealthy))  {
    2930    _satEphPool[eph->prn().toInt()].putEphemeris(_maxQueueSize, eph);
    3031  }
  • branches/BNC_2.12/src/bnccore.cpp

    r8000 r8216  
    209209    return failure;
    210210  }
     211  else if (eph->checkState() == t_eph::unhealthy) {
     212    messagePrivate("UNHEALTHY EPHEMERIS\n" + eph->toString(3.0).toLatin1());
     213  }
    211214  printEphHeader();
    212215  printEph(*eph, (ircPut == success));
  • branches/BNC_2.12/src/bncephuser.cpp

    r8188 r8216  
    185185    return;
    186186  }
    187  
     187
    188188  // Check health status
    189189  // -------------------
    190190  if (eph->isUnhealthy()) {
    191     eph->setCheckState(t_eph::bad);
    192     return;
     191    eph->setCheckState(t_eph::unhealthy);
    193192  }
    194193
     
    290289      ephL->setCheckState(t_eph::outdated);
    291290      return;
    292     }   
     291    }
    293292
    294293    if (diff < MAXDIFF && diffC < MAXDIFF) {
  • branches/BNC_2.12/src/ephemeris.cpp

    r8213 r8216  
    728728////////////////////////////////////////////////////////////////////////////
    729729unsigned int t_ephGlo::isUnhealthy() const {
    730   if      (_health == 0 && _almanac_health == 0) {
    731     return 1;
    732   }
    733   else if (_health == 1 && _almanac_health == 0) {
    734     return 1;
    735   }
    736   else if (_health == 1 && _almanac_health == 1) {
    737     return 1;
    738   }
    739 
    740   return 0;
     730
     731  switch (_almanac_health_availablility_indicator) {
     732    case 1:
     733      if ((_health == 0 && _almanac_health == 0) ||
     734          (_health == 1 && _almanac_health == 0) ||
     735          (_health == 1 && _almanac_health == 1)) {
     736        return 1;
     737      }
     738      break;
     739    case 0:
     740      if (_health) {
     741        return 1;
     742      }
     743      break;
     744  }
     745  return 0; /* (_health == 0 && _almanac_health == 1) or (_health == 0) */
    741746}
    742747
  • branches/BNC_2.12/src/ephemeris.h

    r8188 r8216  
    1818 public:
    1919  enum e_type {unknown, GPS, QZSS, GLONASS, Galileo, SBAS, BDS, IRNSS};
    20   enum e_checkState {unchecked, ok, bad, outdated};
     20  enum e_checkState {unchecked, ok, bad, outdated, unhealthy};
    2121
    2222  t_eph();
     
    185185    _M_N4             = 0.0;
    186186    _M_tau_GPS        = 0.0;
    187     _M_l5             = 0.0;   
     187    _M_l5             = 0.0;
    188188  }
    189189  t_ephGlo(float rnxVersion, const QStringList& lines);
     
    364364  virtual e_type  type() const {return t_eph::SBAS;}
    365365  virtual unsigned int IOD() const;
    366   virtual unsigned int  isUnhealthy() const { return static_cast<unsigned int>(_health); } 
     366  virtual unsigned int  isUnhealthy() const { return static_cast<unsigned int>(_health); }
    367367  virtual QString toString(double version) const;
    368368
Note: See TracChangeset for help on using the changeset viewer.