Changeset 6860 in ntrip


Ignore:
Timestamp:
May 28, 2015, 3:19:20 PM (9 years ago)
Author:
stuerze
Message:

extension of the rtnetuploadcaster interface regarding RTCM SSR II VTEC messages

Location:
trunk/BNC/src/upload
Files:
2 edited

Legend:

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

    r6857 r6860  
    315315  struct PhaseBias phasebias;
    316316  memset(&phasebias, 0, sizeof(phasebias));
     317  unsigned int dispInd = 0;
     318  unsigned int mwInd = 0;
    317319  phasebias.EpochTime[CLOCKORBIT_SATGPS]     = co.EpochTime[CLOCKORBIT_SATGPS];
    318320  phasebias.EpochTime[CLOCKORBIT_SATGLONASS] = co.EpochTime[CLOCKORBIT_SATGLONASS];
     
    325327  phasebias.SSRSolutionID = _SID;
    326328
     329  struct VTEC vtec;
     330  memset(&vtec, 0, sizeof(vtec));
     331  vtec.EpochTime = static_cast<int>(epoTime.gpssec());
     332  vtec.SSRIOD        = _IOD;
     333  vtec.SSRProviderID = _PID;
     334  vtec.SSRSolutionID = _SID;
     335
     336
    327337  // Default Update Interval
    328338  // -----------------------
     
    346356  for (int ii = 1; ii < lines.size(); ii++) {
    347357
    348     QString      prn;
     358    QString      prn;  // prn or key VTEC, IND (phase bias indicators)
    349359    ColumnVector rtnAPC;
    350360    ColumnVector rtnVel;
     
    355365
    356366    in >> prn;
     367
     368    // non-satellite specific parameters
     369    if      (prn.contains("IND", Qt::CaseSensitive)) {
     370      in >> dispInd >> mwInd;
     371      continue;
     372    }
     373    if (prn.contains("VTEC", Qt::CaseSensitive)) {
     374      in >> vtec.UpdateInterval >> vtec.NumLayers;
     375      for (unsigned ll = 0; ll < vtec.NumLayers; ll++) {
     376        int dummy;
     377        in >> dummy >> vtec.Layers[ll].Degree >> vtec.Layers[ll].Order
     378          >> vtec.Layers[ll].Height;
     379        ii++;
     380        for (unsigned iDeg = 0; iDeg < vtec.Layers[ll].Degree; iDeg++) {
     381          for (unsigned iOrd = 0; iOrd < vtec.Layers[ll].Order; iOrd++) {
     382            in >> vtec.Layers[ll].Cosinus[iDeg][iOrd];
     383          }
     384          ii++;
     385        }
     386        for (unsigned iDeg = 0; iDeg < vtec.Layers[ll].Degree; iDeg++) {
     387          for (unsigned iOrd = 0; iOrd < vtec.Layers[ll].Order; iOrd++) {
     388            in >> vtec.Layers[ll].Sinus[iDeg][iOrd];
     389          }
     390          ii++;
     391        }
     392      }
     393      continue;
     394    }
    357395
    358396    const t_eph* ephLast = _ephUser->ephLast(prn);
     
    444482        else if (key == "YawRate") {
    445483          in >> numVal >> pbSat.yR;
    446         }
    447         else if (key == "DisInd") {
    448           in >> numVal >> pbSat.dispInd;
    449         }
    450         else if (key == "MwInd") {
    451           in >> numVal >> pbSat.mwInd;
    452484        }
    453485        else if (key == "PhaseBias") {
     
    947979
    948980      if (phasebiasSat) {
    949         phasebias.DispersiveBiasConsistencyIndicator = pbSat.dispInd;
    950         phasebias.MWConsistencyIndicator = pbSat.mwInd;
     981        phasebias.DispersiveBiasConsistencyIndicator = dispInd;
     982        phasebias.MWConsistencyIndicator = mwInd;
    951983        phasebiasSat->ID = prn.mid(1).toInt();
    952984        phasebiasSat->NumberOfPhaseBiases = 0;
     
    16431675  // ----
    16441676  QByteArray hlpBufferVtec;
    1645 
    1646   _outBuffer += hlpBufferCo + hlpBufferBias + hlpBufferPhaseBias;
     1677  if (vtec.NumLayers > 0) {
     1678    char obuffer[CLOCKORBIT_BUFFERSIZE];
     1679    int len = MakeVTEC(&vtec, 0, obuffer, sizeof(obuffer));
     1680    if (len > 0) {
     1681      hlpBufferVtec = QByteArray(obuffer, len);
     1682    }
     1683  }
     1684
     1685  _outBuffer += hlpBufferCo + hlpBufferBias + hlpBufferPhaseBias + hlpBufferVtec;
    16471686}
    16481687
  • trunk/BNC/src/upload/bncrtnetuploadcaster.h

    r6857 r6860  
    7474  double yA;
    7575  double yR;
    76   unsigned int dispInd;
    77   unsigned int mwInd;
    7876};
    7977
Note: See TracChangeset for help on using the changeset viewer.