Changeset 2684 in ntrip


Ignore:
Timestamp:
Nov 13, 2010, 2:02:32 PM (13 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM3/RTCM3Decoder.cpp

    r2683 r2684  
    302302              // Loop over all data types
    303303              // ------------------------
    304               for (int iType = 0; iType < parser.numdatatypesGPS; ++iType) {
    305 
    306                 bool obsPresent = false;
    307 
    308                 int df  = parser.dataflag[iType];
    309                 int pos = parser.datapos[iType];
    310                 if ( (gnssData.dataflags[iSat] & df)
    311                      && !isnan(gnssData.measdata[iSat][pos])
    312                      && !isinf(gnssData.measdata[iSat][pos])) {
    313                   obsPresent = true;;
    314                 }
    315                 else {
    316                   df  = parser.dataflagGPS[iType];
    317                   pos = parser.dataposGPS[iType];
    318                   if ( (gnssData.dataflags[iSat] & df)
    319                        && !isnan(gnssData.measdata[iSat][pos])
    320                        && !isinf(gnssData.measdata[iSat][pos])) {
    321                     obsPresent = true;
    322                   }
    323                 }
    324 
    325                 //// beg test
    326                 if (obs->_o.satSys == 'E') {
    327                   cout << obs->_o.satSys << obs->_o.satNum << " "
    328                        << df;
    329                   if (obsPresent) {
    330                     cout << " present";
    331                   }
    332                   cout << endl;
    333                 }
    334                 //// end test
    335 
    336                 if (!obsPresent) {
    337                   continue;
    338                 }
    339 
    340 
    341                 if      (df & GNSSDF_C1DATA) {
    342                   obs->_o.C1 = gnssData.measdata[iSat][pos];
    343                 }
    344                 else if (df & GNSSDF_C2DATA) {
    345                   obs->_o.C2 = gnssData.measdata[iSat][pos];
    346                 }
    347                 else if (df & GNSSDF_P1DATA) {
    348                   obs->_o.P1 = gnssData.measdata[iSat][pos];
    349                 }
    350                 else if (df & GNSSDF_P2DATA) {
    351                   obs->_o.P2 = gnssData.measdata[iSat][pos];
    352                 }
    353                 else if (df & (GNSSDF_L1CDATA|GNSSDF_L1PDATA)) {
    354                   obs->_o.L1   = gnssData.measdata[iSat][pos];
    355                   obs->_o.SNR1 = gnssData.snrL1[iSat];
    356                 }
    357                 else if (df & (GNSSDF_L2CDATA|GNSSDF_L2PDATA)) {
    358                   obs->_o.L2   = gnssData.measdata[iSat][pos];
    359                   obs->_o.SNR2 = gnssData.snrL2[iSat];
    360                 }
    361                 else if (df & (GNSSDF_S1CDATA|GNSSDF_S1PDATA)) {
    362                   obs->_o.S1   = gnssData.measdata[iSat][pos];
    363                 }
    364                 else if (df & (GNSSDF_S2CDATA|GNSSDF_S2PDATA)) {
    365                   obs->_o.S2   = gnssData.measdata[iSat][pos];
    366                 }
    367 
    368                 // New Carriers
    369                 // ------------
    370                 else if (df & GNSSDF_C5DATA) {
    371                   obs->_o.C5 = gnssData.measdata[iSat][pos];
    372                 }
    373                 else if (df & GNSSDF_L5DATA) {
    374                   obs->_o.L5 = gnssData.measdata[iSat][pos];
    375                 }
    376                 else if (df & GNSSDF_S5DATA) {
    377                   obs->_o.S5 = gnssData.measdata[iSat][pos];
     304              for (int iEntry = 0; iEntry < GNSSENTRY_NUMBER; ++iEntry) {
     305 
     306                unsigned df = (1 << iEntry);
     307
     308                if (df & gnssData.dataflags[iSat]) {
     309
     310                  if      (df & GNSSDF_C1DATA) {
     311                    obs->_o.C1 = gnssData.measdata[iSat][iEntry];
     312                  }
     313                  else if (df & GNSSDF_C2DATA) {
     314                    obs->_o.C2 = gnssData.measdata[iSat][iEntry];
     315                  }
     316                  else if (df & GNSSDF_P1DATA) {
     317                    obs->_o.P1 = gnssData.measdata[iSat][iEntry];
     318                  }
     319                  else if (df & GNSSDF_P2DATA) {
     320                    obs->_o.P2 = gnssData.measdata[iSat][iEntry];
     321                  }
     322                  else if (df & (GNSSDF_L1CDATA|GNSSDF_L1PDATA)) {
     323                    obs->_o.L1   = gnssData.measdata[iSat][iEntry];
     324                    obs->_o.SNR1 = gnssData.snrL1[iSat];
     325                  }
     326                  else if (df & (GNSSDF_L2CDATA|GNSSDF_L2PDATA)) {
     327                    obs->_o.L2   = gnssData.measdata[iSat][iEntry];
     328                    obs->_o.SNR2 = gnssData.snrL2[iSat];
     329                  }
     330                  else if (df & (GNSSDF_S1CDATA|GNSSDF_S1PDATA)) {
     331                    obs->_o.S1   = gnssData.measdata[iSat][iEntry];
     332                  }
     333                  else if (df & (GNSSDF_S2CDATA|GNSSDF_S2PDATA)) {
     334                    obs->_o.S2   = gnssData.measdata[iSat][iEntry];
     335                  }
     336 
     337                  // New Carriers
     338                  // ------------
     339                  else if (df & GNSSDF_C5DATA) {
     340                    obs->_o.C5 = gnssData.measdata[iSat][iEntry];
     341                  }
     342                  else if (df & GNSSDF_L5DATA) {
     343                    obs->_o.L5 = gnssData.measdata[iSat][iEntry];
     344                  }
     345                  else if (df & GNSSDF_S5DATA) {
     346                    obs->_o.S5 = gnssData.measdata[iSat][iEntry];
     347                  }
    378348                }
    379349              }
Note: See TracChangeset for help on using the changeset viewer.