Changeset 2711 in ntrip for trunk/BNC/RTCM3


Ignore:
Timestamp:
Nov 18, 2010, 1:38:51 PM (13 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

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

    r2710 r2711  
    237237            for (int iSat = 0; iSat < gnssData.numsats; iSat++) {
    238238
    239               t_obs* obs   = new t_obs();
    240               int    satID = gnssData.satellites[iSat];
     239              t_obs obs;
     240              int   satID = gnssData.satellites[iSat];
    241241
    242242              // GPS
    243243              // ---
    244244              if      (satID >= PRN_GPS_START     && satID <= PRN_GPS_END) {
    245                 obs->satSys = 'G';
    246                 obs->satNum = satID;
     245                obs.satSys = 'G';
     246                obs.satNum = satID;
    247247              }
    248248
     
    250250              // -------
    251251              else if (satID >= PRN_GLONASS_START && satID <= PRN_GLONASS_END) {
    252                 obs->satSys = 'R';
    253                 obs->satNum = satID - PRN_GLONASS_START + 1;
    254                 if (obs->satNum <= PRN_GLONASS_NUM &&
    255                     parser.GLOFreq[obs->satNum-1] != 0) {
    256                   obs->slotNum   = parser.GLOFreq[obs->satNum-1] - 100;
     252                obs.satSys = 'R';
     253                obs.satNum = satID - PRN_GLONASS_START + 1;
     254                if (obs.satNum <= PRN_GLONASS_NUM &&
     255                    parser.GLOFreq[obs.satNum-1] != 0) {
     256                  obs.slotNum   = parser.GLOFreq[obs.satNum-1] - 100;
    257257                }
    258258                else {
    259                   delete obs;
    260                   obs = 0;
     259                  continue;
    261260                }
    262261              }
     
    265264              // -------
    266265              else if (satID >= PRN_GALILEO_START && satID <= PRN_GALILEO_END) {
    267                 obs->satSys = 'E';
    268                 obs->satNum = satID - PRN_GALILEO_START + 1;
     266                obs.satSys = 'E';
     267                obs.satNum = satID - PRN_GALILEO_START + 1;
    269268              }
    270269
     
    272271              // ----
    273272              else if (satID >= PRN_WAAS_START && satID <= PRN_WAAS_END) {
    274                 obs->satSys = 'S';
    275                 obs->satNum = satID - PRN_WAAS_START + 20;
     273                obs.satSys = 'S';
     274                obs.satNum = satID - PRN_WAAS_START + 20;
    276275              }
    277276
     
    279278              // -------------
    280279              else if (satID >= PRN_GIOVE_START && satID <= PRN_GIOVE_END) {
    281                 obs->satSys = 'E';
    282                 obs->satNum = satID - PRN_GIOVE_START + PRN_GIOVE_OFFSET;
     280                obs.satSys = 'E';
     281                obs.satNum = satID - PRN_GIOVE_START + PRN_GIOVE_OFFSET;
    283282              }
    284283
     
    286285              // --------------
    287286              else {
    288                 delete obs;
    289                 obs = 0;
    290               }
    291 
    292               if (obs) {
    293                 _obsList.push_back(obs);
    294               }
    295               else {
    296287                continue;
    297288              }
    298289
    299               obs->GPSWeek  = gnssData.week;
    300               obs->GPSWeeks = gnssData.timeofweek / 1000.0;
    301 
    302               QString prn = QString("%1%2").arg(obs->satSys)
    303                             .arg(obs->satNum, 2, 10, QChar('0'));
     290              obs.GPSWeek  = gnssData.week;
     291              obs.GPSWeeks = gnssData.timeofweek / 1000.0;
     292
     293              QString prn = QString("%1%2").arg(obs.satSys)
     294                            .arg(obs.satNum, 2, 10, QChar('0'));
    304295
    305296              // Handle loss-of-lock flags
     
    318309                  _slip_cnt_L1[prn] = 1;
    319310                }
    320                 obs->slip_cnt_L1 = _slip_cnt_L1[prn];
     311                obs.slip_cnt_L1 = _slip_cnt_L1[prn];
    321312              }
    322313              if (GNSSDF2_LOCKLOSSL2 & gnssData.dataflags2[iSat]) {
     
    327318                  _slip_cnt_L2[prn] = 1;
    328319                }
    329                 obs->slip_cnt_L2 = _slip_cnt_L2[prn];
     320                obs.slip_cnt_L2 = _slip_cnt_L2[prn];
    330321              }
    331322              if (GNSSDF2_LOCKLOSSL5 & gnssData.dataflags2[iSat]) {
     
    336327                  _slip_cnt_L5[prn] = 1;
    337328                }
    338                 obs->slip_cnt_L5 = _slip_cnt_L5[prn];
     329                obs.slip_cnt_L5 = _slip_cnt_L5[prn];
    339330              }
    340331
     
    357348
    358349                  if      (iEntry == GNSSENTRY_C1DATA) {
    359                     obs->C1  = gnssData.measdata[iSat][iEntry];
     350                    obs.C1  = gnssData.measdata[iSat][iEntry];
    360351                  }
    361352                  else if (iEntry == GNSSENTRY_C2DATA) {
    362                     obs->C2  = gnssData.measdata[iSat][iEntry];
     353                    obs.C2  = gnssData.measdata[iSat][iEntry];
    363354                  }
    364355                  else if (iEntry == GNSSENTRY_P1DATA) {
    365                     obs->P1  = gnssData.measdata[iSat][iEntry];
     356                    obs.P1  = gnssData.measdata[iSat][iEntry];
    366357                  }
    367358                  else if (iEntry == GNSSENTRY_P2DATA) {
    368                     obs->P2  = gnssData.measdata[iSat][iEntry];
     359                    obs.P2  = gnssData.measdata[iSat][iEntry];
    369360                  }
    370361                  else if (iEntry == GNSSENTRY_L1CDATA) {
    371                     obs->L1C = gnssData.measdata[iSat][iEntry];
     362                    obs.L1C = gnssData.measdata[iSat][iEntry];
    372363                  }
    373364                  else if (iEntry == GNSSENTRY_L1PDATA) {
    374                     obs->L1P = gnssData.measdata[iSat][iEntry];
     365                    obs.L1P = gnssData.measdata[iSat][iEntry];
    375366                  }
    376367                  else if (iEntry == GNSSENTRY_L2CDATA) {
    377                     obs->L2C = gnssData.measdata[iSat][iEntry];
     368                    obs.L2C = gnssData.measdata[iSat][iEntry];
    378369                  }
    379370                  else if (iEntry == GNSSENTRY_L2PDATA) {
    380                     obs->L2P = gnssData.measdata[iSat][iEntry];
     371                    obs.L2P = gnssData.measdata[iSat][iEntry];
    381372                  }
    382373                  else if (iEntry == GNSSENTRY_D1CDATA) {
    383                     obs->D1C = gnssData.measdata[iSat][iEntry];
     374                    obs.D1C = gnssData.measdata[iSat][iEntry];
    384375                  }
    385376                  else if (iEntry == GNSSENTRY_D1PDATA) {
    386                     obs->D1P = gnssData.measdata[iSat][iEntry];
     377                    obs.D1P = gnssData.measdata[iSat][iEntry];
    387378                  }
    388379                  else if (iEntry == GNSSENTRY_S1CDATA) {
    389                     obs->S1C = gnssData.measdata[iSat][iEntry];
     380                    obs.S1C = gnssData.measdata[iSat][iEntry];
    390381                  }
    391382                  else if (iEntry == GNSSENTRY_S1PDATA) {
    392                     obs->S1P = gnssData.measdata[iSat][iEntry];
     383                    obs.S1P = gnssData.measdata[iSat][iEntry];
    393384                  }
    394385                  else if (iEntry == GNSSENTRY_D2CDATA) {
    395                     obs->D2C = gnssData.measdata[iSat][iEntry];
     386                    obs.D2C = gnssData.measdata[iSat][iEntry];
    396387                  }
    397388                  else if (iEntry == GNSSENTRY_D2PDATA) {
    398                     obs->D2P = gnssData.measdata[iSat][iEntry];
     389                    obs.D2P = gnssData.measdata[iSat][iEntry];
    399390                  }
    400391                  else if (iEntry == GNSSENTRY_S2CDATA) {
    401                     obs->S2C = gnssData.measdata[iSat][iEntry];
     392                    obs.S2C = gnssData.measdata[iSat][iEntry];
    402393                  }
    403394                  else if (iEntry == GNSSENTRY_S2PDATA) {
    404                     obs->S2P = gnssData.measdata[iSat][iEntry];
     395                    obs.S2P = gnssData.measdata[iSat][iEntry];
    405396                  }
    406397                  else if (iEntry == GNSSENTRY_C5DATA) {
    407                     obs->C5  = gnssData.measdata[iSat][iEntry];
     398                    obs.C5  = gnssData.measdata[iSat][iEntry];
    408399                  }
    409400                  else if (iEntry == GNSSENTRY_L5DATA) {
    410                     obs->L5  = gnssData.measdata[iSat][iEntry];
     401                    obs.L5  = gnssData.measdata[iSat][iEntry];
    411402                  }
    412403                  else if (iEntry == GNSSENTRY_D5DATA) {
    413                     obs->D5  = gnssData.measdata[iSat][iEntry];
     404                    obs.D5  = gnssData.measdata[iSat][iEntry];
    414405                  }
    415406                  else if (iEntry == GNSSENTRY_S5DATA) {
    416                     obs->S5  = gnssData.measdata[iSat][iEntry];
    417                   }
    418                 }
    419               }
     407                    obs.S5  = gnssData.measdata[iSat][iEntry];
     408                  }
     409                }
     410              }
     411              _obsList.push_back(obs);
    420412            }
    421413          }
Note: See TracChangeset for help on using the changeset viewer.