Ignore:
Timestamp:
Oct 22, 2020, 4:21:44 PM (4 years ago)
Author:
stuerze
Message:

check if orbit and clock corrections are in defined ranges is added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/upload/bncrtnetuploadcaster.cpp

    r9140 r9179  
    606606        t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC,
    607607                                     rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
    608         if (irc != success) {
     608        if (irc != success) {/*
    609609          // very few cases: check states bad and unhealthy are excluded earlier
    610610          sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries
    611611          sd->IOD = eph->IOD();
     612          */
     613          continue;
    612614        }
    613615      }
     
    9981000    sd->Orbit.DotDeltaAlongTrack = dotRsw(2);
    9991001    sd->Orbit.DotDeltaCrossTrack = dotRsw(3);
     1002
     1003    if (corrIsOutOfRange(sd)) {
     1004      return failure;
     1005    }
    10001006  }
    10011007
    10021008  outLine.sprintf("%d %.1f %s  %u  %10.3f %8.3f %8.3f  %8.3f %8.3f %8.3f\n", GPSweek,
    10031009      GPSweeks, eph->prn().toString().c_str(), eph->IOD(), dClkA0, dClkA1, dClkA2,
    1004       rsw(1), rsw(2), rsw(3));
     1010      rsw(1), rsw(2), rsw(3));  //fprintf(stderr, "%s\n", outLine.toStdString().c_str());
    10051011
    10061012  // RTNET full clock for RINEX and SP3 file
     
    11551161  return 2;  // default
    11561162}
     1163
     1164bool bncRtnetUploadCaster::corrIsOutOfRange(struct SsrCorr::ClockOrbit::SatData* sd) {
     1165
     1166  if (fabs(sd->Clock.DeltaA0) > 209.7151)   {return true;}
     1167  if (fabs(sd->Clock.DeltaA1) > 1.048575)   {return true;}
     1168  if (fabs(sd->Clock.DeltaA2) > 1.34217726) {return true;}
     1169
     1170  if (fabs(sd->Orbit.DeltaRadial)     > 209.7151) {return true;}
     1171  if (fabs(sd->Orbit.DeltaAlongTrack) > 209.7148) {return true;}
     1172  if (fabs(sd->Orbit.DeltaCrossTrack) > 209.7148) {return true;}
     1173
     1174  if (fabs(sd->Orbit.DotDeltaRadial)     > 1.048575) {return true;}
     1175  if (fabs(sd->Orbit.DotDeltaAlongTrack) > 1.048572) {return true;}
     1176  if (fabs(sd->Orbit.DotDeltaCrossTrack) > 1.048572) {return true;}
     1177
     1178  return false;
     1179}
     1180
Note: See TracChangeset for help on using the changeset viewer.