Changeset 2709 in ntrip for trunk/BNC/RTCM
- Timestamp:
- Nov 18, 2010, 12:28:40 PM (14 years ago)
- Location:
- trunk/BNC/RTCM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/RTCM/GPSDecoder.h
r2702 r2709 29 29 #include <vector> 30 30 #include <string> 31 #include <QPointer>32 31 #include <QList> 33 32 #include <QStringList> … … 35 34 #include "bncconst.h" 36 35 37 struct t_obsInternal { 36 class t_obs { 37 public: 38 enum t_obs_status {initial, posted, received}; 39 t_obs() { 40 _status = initial; 41 satSys = 'G'; 42 satNum = 0; 43 slotNum = 0; 44 GPSWeek = 0; 45 GPSWeeks = 0.0; 46 C1 = 0.0; 47 P1 = 0.0; 48 L1C = 0.0; 49 D1C = 0.0; 50 S1C = 0.0; 51 L1P = 0.0; 52 D1P = 0.0; 53 S1P = 0.0; 54 C2 = 0.0; 55 P2 = 0.0; 56 L2C = 0.0; 57 D2C = 0.0; 58 S2C = 0.0; 59 L2P = 0.0; 60 D2P = 0.0; 61 S2P = 0.0; 62 C5 = 0.0; 63 L5 = 0.0; 64 D5 = 0.0; 65 S5 = 0.0; 66 slip_cnt_L1 = -1; 67 slip_cnt_L2 = -1; 68 slip_cnt_L5 = -1; 69 StatID[0] = '\x0'; 70 } 71 72 ~t_obs() {} 73 74 double L1() const {return (L1P != 0.0 ? L1P : L1C);} 75 double L2() const {return (L2P != 0.0 ? L2P : L2C);} 76 double S1() const {return (L1P != 0.0 ? S1P : S1C);} 77 double S2() const {return (L2P != 0.0 ? S2P : S2C);} 78 79 t_obs_status _status; 80 38 81 char StatID[20+1]; // Station ID 39 82 char satSys; // Satellite System ('G' or 'R') … … 71 114 }; 72 115 73 class t_obs : public QObject{ 74 public: 75 enum t_obs_status {initial, posted, received}; 76 t_obs() { 77 _status = initial; 78 _o.satSys = 'G'; 79 _o.satNum = 0; 80 _o.slotNum = 0; 81 _o.GPSWeek = 0; 82 _o.GPSWeeks = 0.0; 83 _o.C1 = 0.0; 84 _o.P1 = 0.0; 85 _o.L1C = 0.0; 86 _o.D1C = 0.0; 87 _o.S1C = 0.0; 88 _o.L1P = 0.0; 89 _o.D1P = 0.0; 90 _o.S1P = 0.0; 91 _o.C2 = 0.0; 92 _o.P2 = 0.0; 93 _o.L2C = 0.0; 94 _o.D2C = 0.0; 95 _o.S2C = 0.0; 96 _o.L2P = 0.0; 97 _o.D2P = 0.0; 98 _o.S2P = 0.0; 99 _o.C5 = 0.0; 100 _o.L5 = 0.0; 101 _o.D5 = 0.0; 102 _o.S5 = 0.0; 103 _o.slip_cnt_L1 = -1; 104 _o.slip_cnt_L2 = -1; 105 _o.slip_cnt_L5 = -1; 106 _o.StatID[0] = '\x0'; 107 } 108 ~t_obs() {} 109 double L1() const {return (_o.L1P != 0.0 ? _o.L1P : _o.L1C);} 110 double L2() const {return (_o.L2P != 0.0 ? _o.L2P : _o.L2C);} 111 double S1() const {return (_o.L1P != 0.0 ? _o.S1P : _o.S1C);} 112 double S2() const {return (_o.L2P != 0.0 ? _o.S2P : _o.S2C);} 113 t_obsInternal _o; 114 t_obs_status _status; 115 }; 116 117 typedef QPointer<t_obs> p_obs; 116 typedef t_obs* p_obs; 118 117 119 118 class GPSDecoder { … … 125 124 while (it.hasNext()) { 126 125 p_obs obs = it.next(); 127 if ( !obs.isNull()&& obs->_status == t_obs::initial) {126 if (obs && obs->_status == t_obs::initial) { 128 127 delete obs; 129 128 } -
trunk/BNC/RTCM/RTCM2Decoder.cpp
r2702 r2709 143 143 _obsList.push_back(obs); 144 144 if (_ObsBlock.PRN[iSat] > 100) { 145 obs-> _o.satNum = _ObsBlock.PRN[iSat] % 100;146 obs-> _o.satSys = 'R';145 obs->satNum = _ObsBlock.PRN[iSat] % 100; 146 obs->satSys = 'R'; 147 147 } 148 148 else { 149 obs-> _o.satNum = _ObsBlock.PRN[iSat];150 obs-> _o.satSys = 'G';149 obs->satNum = _ObsBlock.PRN[iSat]; 150 obs->satSys = 'G'; 151 151 } 152 obs-> _o.GPSWeek = epochWeek;153 obs-> _o.GPSWeeks = epochSecs;154 obs-> _o.C1 = _ObsBlock.rng_C1[iSat];155 obs-> _o.P1 = _ObsBlock.rng_P1[iSat];156 obs-> _o.P2 = _ObsBlock.rng_P2[iSat];157 obs-> _o.L1P = _ObsBlock.resolvedPhase_L1(iSat);158 obs-> _o.L2P = _ObsBlock.resolvedPhase_L2(iSat);159 obs-> _o.slip_cnt_L1 = _ObsBlock.slip_L1[iSat];160 obs-> _o.slip_cnt_L2 = _ObsBlock.slip_L2[iSat];152 obs->GPSWeek = epochWeek; 153 obs->GPSWeeks = epochSecs; 154 obs->C1 = _ObsBlock.rng_C1[iSat]; 155 obs->P1 = _ObsBlock.rng_P1[iSat]; 156 obs->P2 = _ObsBlock.rng_P2[iSat]; 157 obs->L1P = _ObsBlock.resolvedPhase_L1(iSat); 158 obs->L2P = _ObsBlock.resolvedPhase_L2(iSat); 159 obs->slip_cnt_L1 = _ObsBlock.slip_L1[iSat]; 160 obs->slip_cnt_L2 = _ObsBlock.slip_L2[iSat]; 161 161 } 162 162 _ObsBlock.clear(); … … 382 382 new_obs = new t_obs(); 383 383 384 new_obs-> _o.StatID[0] = '\x0';385 new_obs-> _o.satSys = (corr->PRN < 200 ? 'G' : 'R');386 new_obs-> _o.satNum = (corr->PRN < 200 ? corr->PRN : corr->PRN - 200);384 new_obs->StatID[0] = '\x0'; 385 new_obs->satSys = (corr->PRN < 200 ? 'G' : 'R'); 386 new_obs->satNum = (corr->PRN < 200 ? corr->PRN : corr->PRN - 200); 387 387 388 new_obs-> _o.GPSWeek = GPSWeek_rcv;389 new_obs-> _o.GPSWeeks = GPSWeeks_rcv;388 new_obs->GPSWeek = GPSWeek_rcv; 389 new_obs->GPSWeeks = GPSWeeks_rcv; 390 390 } 391 391 … … 394 394 switch (ii) { 395 395 case 0: // --- L1 --- 396 new_obs-> _o.L1P = *obsVal / LAMBDA_1;397 new_obs-> _o.slip_cnt_L1 = corr->lock1;396 new_obs->L1P = *obsVal / LAMBDA_1; 397 new_obs->slip_cnt_L1 = corr->lock1; 398 398 break; 399 399 case 1: // --- L2 --- 400 new_obs-> _o.L2P = *obsVal / LAMBDA_2;401 new_obs-> _o.slip_cnt_L2 = corr->lock2;400 new_obs->L2P = *obsVal / LAMBDA_2; 401 new_obs->slip_cnt_L2 = corr->lock2; 402 402 break; 403 403 case 2: // --- C1 / P1 --- 404 404 if ( corr->Pind1 ) 405 new_obs-> _o.P1 = *obsVal;405 new_obs->P1 = *obsVal; 406 406 else 407 new_obs-> _o.C1 = *obsVal;407 new_obs->C1 = *obsVal; 408 408 break; 409 409 case 3: // --- C2 / P2 --- 410 410 if ( corr->Pind2 ) 411 new_obs-> _o.P2 = *obsVal;411 new_obs->P2 = *obsVal; 412 412 else 413 new_obs-> _o.C2 = *obsVal;413 new_obs->C2 = *obsVal; 414 414 break; 415 415 default:
Note:
See TracChangeset
for help on using the changeset viewer.