Changeset 5367 in ntrip


Ignore:
Timestamp:
Aug 29, 2013, 4:25:57 PM (8 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC/src/RTCM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/RTCM/GPSDecoder.cpp

    r5366 r5367  
    9696//
    9797//////////////////////////////////////////////////////////////////////////////
    98 void t_obs::setMeasdata(const QString& rnxStr, float rnxVers, double value) {
    99   int ie = iEntry(rnxStr, rnxVers);
    100   if (ie != -1) {
    101     _measdata[ie] = value;
    102   }
     98void t_obs::setMeasdata(QString rnxStr, float rnxVers, double value) {
     99
     100  if (rnxVers < 3.0) {
     101    if      (rnxStr == "C1") rnxStr = "C1C";
     102    else if (rnxStr == "P1") rnxStr = "C1P";
     103    else if (rnxStr == "C2") rnxStr = "C2C";
     104    else if (rnxStr == "P2") rnxStr = "C2P";
     105  }
     106
     107  int ie = 0;
     108  switch(rnxStr[0].toAscii()) {
     109  case 'C': ie += GNSSENTRY_CODE;    break;
     110  case 'L': ie += GNSSENTRY_PHASE;   break;
     111  case 'D': ie += GNSSENTRY_DOPPLER; break;
     112  case 'S': ie += GNSSENTRY_SNR;     break;
     113  default: return;
     114  }
     115  switch(rnxStr[1].toAscii()) {
     116  case '1':
     117    switch(rnxStr[2].toAscii()) {
     118    default:
     119    case 'C':                     ie += GNSSENTRY_TYPEC1;    break;
     120    case 'P': case 'W': case 'Y': ie += GNSSENTRY_TYPEP1;    break;
     121    case 'A': case 'B':
     122    case 'S': case 'L': case 'X': ie += GNSSENTRY_TYPEC1;    break;
     123    case 'Z':                     ie += GNSSENTRY_TYPECSAIF; break;
     124    }
     125    break;
     126  case '2':
     127    switch(rnxStr[2].toAscii()) {
     128    default:
     129    case 'P': case 'W': case 'Y':           ie += GNSSENTRY_TYPEP2;  break;
     130    case 'C': case 'S': case 'L': case 'X': ie += GNSSENTRY_TYPEC2;  break;
     131    case 'I':                               ie += GNSSENTRY_TYPEC5B; break;
     132    }
     133    break;
     134  case '5':
     135    ie += GNSSENTRY_TYPEC5;   break;
     136  case '6':
     137    ie += GNSSENTRY_TYPEC6;   break;
     138  case '7':
     139    ie += GNSSENTRY_TYPEC5B;  break;
     140  case '8':
     141    ie += GNSSENTRY_TYPEC5AB; break;
     142  }
     143
     144  _codetype[ie] = rnxStr.mid(1);
     145  _measdata[ie] = value;
    103146}
    104147
  • trunk/BNC/src/RTCM/GPSDecoder.h

    r5366 r5367  
    6767
    6868  double measdata(const QString& rnxStr, float rnxVer) const;
    69   void   setMeasdata(const QString& rnxStr, float rnxVer, double value);
     69  void   setMeasdata(QString rnxStr, float rnxVer, double value);
    7070
    7171  char   StatID[20+1]; // Station ID
Note: See TracChangeset for help on using the changeset viewer.