- Timestamp:
- Sep 15, 2015, 4:48:34 AM (9 years ago)
- Location:
- trunk/BNC/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppEphPool.cpp
r7237 r7278 11 11 * Created: 29-Jul-2014 12 12 * 13 * Changes: 13 * Changes: 14 14 * 15 15 * -----------------------------------------------------------------------*/ … … 52 52 // 53 53 ///////////////////////////////////////////////////////////////////////////// 54 t_irc t_pppEphPool::getCrd(const t_prn& prn, const bncTime& tt, 54 t_irc t_pppEphPool::getCrd(const t_prn& prn, const bncTime& tt, 55 55 ColumnVector& xc, ColumnVector& vv) const { 56 56 return _satEphPool[prn.toInt()].getCrd(tt, xc, vv); … … 84 84 t_eph* eph = _ephs[ii]; 85 85 if (eph->IOD() == corr->_iod) { 86 eph->setOrbCorr(corr); 87 return; 86 eph->setOrbCorr(corr); 88 87 } 89 88 } … … 97 96 t_eph* eph = _ephs[ii]; 98 97 if (eph->IOD() == corr->_iod) { 99 eph->setClkCorr(corr); 98 eph->setClkCorr(corr); 100 99 } 101 100 } -
trunk/BNC/src/ephemeris.cpp
r7169 r7278 23 23 _orbCorr = 0; 24 24 _clkCorr = 0; 25 } 26 // Destructor 27 //////////////////////////////////////////////////////////////////////////// 28 t_eph::~t_eph() { 29 if (_orbCorr) 30 delete _orbCorr; 31 if (_clkCorr) 32 delete _clkCorr; 25 33 } 26 34 … … 313 321 double OM = _OMEGA0 + (_OMEGADOT - omegaEarth)*tk - 314 322 omegaEarth*_TOEsec; 315 323 316 324 double sinom = sin(OM); 317 325 double cosom = cos(OM); … … 320 328 xc[0] = xp*cosom - yp*cosi*sinom; 321 329 xc[1] = xp*sinom + yp*cosi*cosom; 322 xc[2] = yp*sini; 330 xc[2] = yp*sini; 323 331 324 332 double tc = tt - _TOC; … … 329 337 double tanv2 = tan(v/2); 330 338 double dEdM = 1 / (1 - _e*cos(E)); 331 double dotv = sqrt((1.0 + _e)/(1.0 - _e)) / cos(E/2)/cos(E/2) / (1 + tanv2*tanv2) 339 double dotv = sqrt((1.0 + _e)/(1.0 - _e)) / cos(E/2)/cos(E/2) / (1 + tanv2*tanv2) 332 340 * dEdM * n; 333 341 double dotu = dotv + (-_Cuc*sin2u0 + _Cus*cos2u0)*2*dotv; 334 342 double dotom = _OMEGADOT - omegaEarth; 335 343 double doti = _IDOT + (-_Cic*sin2u0 + _Cis*cos2u0)*2*dotv; 336 double dotr = a0 * _e*sin(E) * dEdM * n 344 double dotr = a0 * _e*sin(E) * dEdM * n 337 345 + (-_Crc*sin2u0 + _Crs*cos2u0)*2*dotv; 338 346 double dotx = dotr*cos(u) - r*sin(u)*dotu; … … 1128 1136 } 1129 1137 1130 _x_pos *= 1.e3; 1131 _y_pos *= 1.e3; 1132 _z_pos *= 1.e3; 1133 _x_velocity *= 1.e3; 1134 _y_velocity *= 1.e3; 1135 _z_velocity *= 1.e3; 1136 _x_acceleration *= 1.e3; 1137 _y_acceleration *= 1.e3; 1138 _z_acceleration *= 1.e3; 1138 _x_pos *= 1.e3; 1139 _y_pos *= 1.e3; 1140 _z_pos *= 1.e3; 1141 _x_velocity *= 1.e3; 1142 _y_velocity *= 1.e3; 1143 _z_velocity *= 1.e3; 1144 _x_acceleration *= 1.e3; 1145 _y_acceleration *= 1.e3; 1146 _z_acceleration *= 1.e3; 1139 1147 } 1140 1148 … … 1176 1184 double dt = tt - _TOC; 1177 1185 1178 xc[0] = _x_pos + _x_velocity * dt + _x_acceleration * dt * dt / 2.0; 1179 xc[1] = _y_pos + _y_velocity * dt + _y_acceleration * dt * dt / 2.0; 1180 xc[2] = _z_pos + _z_velocity * dt + _z_acceleration * dt * dt / 2.0; 1186 xc[0] = _x_pos + _x_velocity * dt + _x_acceleration * dt * dt / 2.0; 1187 xc[1] = _y_pos + _y_velocity * dt + _y_acceleration * dt * dt / 2.0; 1188 xc[2] = _z_pos + _z_velocity * dt + _z_acceleration * dt * dt / 2.0; 1181 1189 1182 1190 vv[0] = _x_velocity + _x_acceleration * dt; … … 1455 1463 double sini = 0; 1456 1464 double cosi = 0; 1457 1465 1458 1466 const double iMaxGEO = 10.0 / 180.0 * M_PI; 1459 1467 … … 1470 1478 xc[0] = xp*cosom - yp*cosi*sinom; 1471 1479 xc[1] = xp*sinom + yp*cosi*cosom; 1472 xc[2] = yp*sini; 1480 xc[2] = yp*sini; 1473 1481 } 1474 1482 … … 1486 1494 double xx = xp*cosom - yp*cosi*sinom; 1487 1495 double yy = xp*sinom + yp*cosi*cosom; 1488 double zz = yp*sini; 1496 double zz = yp*sini; 1489 1497 1490 1498 Matrix R1 = BNC_PPP::t_astro::rotX(-5.0 / 180.0 * M_PI); … … 1498 1506 xc[2] = X2(3); 1499 1507 } 1500 1508 1501 1509 double tc = tt - _TOC; 1502 xc[3] = _clock_bias + _clock_drift*tc + _clock_driftrate*tc*tc 1510 xc[3] = _clock_bias + _clock_drift*tc + _clock_driftrate*tc*tc 1503 1511 - 4.442807633e-10 * _e * sqrt(a0) *sin(E); 1504 1512 … … 1507 1515 double tanv2 = tan(v/2); 1508 1516 double dEdM = 1 / (1 - _e*cos(E)); 1509 double dotv = sqrt((1.0 + _e)/(1.0 - _e)) / cos(E/2)/cos(E/2) 1517 double dotv = sqrt((1.0 + _e)/(1.0 - _e)) / cos(E/2)/cos(E/2) 1510 1518 / (1 + tanv2*tanv2) * dEdM * n; 1511 1519 double dotu = dotv + (-_Cuc*sin2u0 + _Cus*cos2u0)*2*dotv; 1512 1520 double dotom = _OMEGADOT - t_CST::omega; 1513 1521 double doti = _IDOT + (-_Cic*sin2u0 + _Cis*cos2u0)*2*dotv; 1514 double dotr = a0 * _e*sin(E) * dEdM * n 1522 double dotr = a0 * _e*sin(E) * dEdM * n 1515 1523 + (-_Crc*sin2u0 + _Crs*cos2u0)*2*dotv; 1516 1524 double dotx = dotr*cos(u) - r*sin(u)*dotu; … … 1520 1528 - xp*sinom*dotom - yp*cosi*cosom*dotom // dX / dOMEGA 1521 1529 + yp*sini*sinom*doti; // dX / di 1522 1530 1523 1531 vv[1] = sinom *dotx + cosi*cosom *doty 1524 1532 + xp*cosom*dotom - yp*cosi*sinom*dotom … … 1527 1535 vv[2] = sini *doty + yp*cosi *doti; 1528 1536 1529 // dotC = _clock_drift + _clock_driftrate*tc 1537 // dotC = _clock_drift + _clock_driftrate*tc 1530 1538 // - 4.442807633e-10*_e*sqrt(a0)*cos(E) * dEdM * n; 1531 1539 -
trunk/BNC/src/ephemeris.h
r7208 r7278 21 21 22 22 t_eph(); 23 virtual ~t_eph() {};23 virtual ~t_eph(); 24 24 25 25 virtual e_type type() const = 0; … … 40 40 static bool earlierTime(const t_eph* eph1, const t_eph* eph2) {return eph1->_TOC < eph2->_TOC;} 41 41 42 protected: 42 protected: 43 43 virtual t_irc position(int GPSweek, double GPSweeks, double* xc, double* vv) const = 0; 44 44 t_prn _prn; … … 67 67 virtual t_irc position(int GPSweek, double GPSweeks, double* xc, double* vv) const; 68 68 69 double _clock_bias; // [s] 70 double _clock_drift; // [s/s] 69 double _clock_bias; // [s] 70 double _clock_drift; // [s/s] 71 71 double _clock_driftrate; // [s/s^2] 72 72 73 double _IODE; 74 double _Crs; // [m] 73 double _IODE; 74 double _Crs; // [m] 75 75 double _Delta_n; // [rad/s] 76 double _M0; // [rad] 77 78 double _Cuc; // [rad] 79 double _e; // 80 double _Cus; // [rad] 76 double _M0; // [rad] 77 78 double _Cuc; // [rad] 79 double _e; // 80 double _Cus; // [rad] 81 81 double _sqrt_A; // [m^0.5] 82 82 83 double _TOEsec; // [s] 84 double _Cic; // [rad] 85 double _OMEGA0; // [rad] 86 double _Cis; // [rad] 87 88 double _i0; // [rad] 89 double _Crc; // [m] 90 double _omega; // [rad] 83 double _TOEsec; // [s] 84 double _Cic; // [rad] 85 double _OMEGA0; // [rad] 86 double _Cis; // [rad] 87 88 double _i0; // [rad] 89 double _Crc; // [m] 90 double _omega; // [rad] 91 91 double _OMEGADOT; // [rad/s] 92 92 93 93 double _IDOT; // [rad/s] 94 double _L2Codes; // Codes on L2 channel 94 double _L2Codes; // Codes on L2 channel 95 95 double _TOEweek; 96 96 double _L2PFlag; // L2 P data flag … … 98 98 mutable double _ura; // SV accuracy 99 99 double _health; // SV health 100 double _TGD; // [s] 101 double _IODC; 102 103 double _TOT; // Transmisstion time 100 double _TGD; // [s] 101 double _IODC; 102 103 double _TOT; // Transmisstion time 104 104 double _fitInterval; // Fit interval 105 105 }; … … 122 122 static ColumnVector glo_deriv(double /* tt */, const ColumnVector& xv, double* acc); 123 123 124 mutable bncTime _tt; // time 124 mutable bncTime _tt; // time 125 125 mutable ColumnVector _xv; // status vector (position, velocity) at time _tt 126 126 127 127 double _gps_utc; 128 double _tau; // [s] 129 double _gamma; // 128 double _tau; // [s] 129 double _gamma; // 130 130 mutable double _tki; // message frame time 131 131 132 double _x_pos; // [km] 133 double _x_velocity; // [km/s] 134 double _x_acceleration; // [km/s^2] 135 double _health; // 0 = O.K. 136 137 double _y_pos; // [km] 138 double _y_velocity; // [km/s] 139 double _y_acceleration; // [km/s^2] 140 double _frequency_number; // ICD-GLONASS data position 141 142 double _z_pos; // [km] 143 double _z_velocity; // [km/s] 144 double _z_acceleration; // [km/s^2] 145 double _E; // Age of Information [days] 132 double _x_pos; // [km] 133 double _x_velocity; // [km/s] 134 double _x_acceleration; // [km/s^2] 135 double _health; // 0 = O.K. 136 137 double _y_pos; // [km] 138 double _y_velocity; // [km/s] 139 double _y_acceleration; // [km/s^2] 140 double _frequency_number; // ICD-GLONASS data position 141 142 double _z_pos; // [km] 143 double _z_velocity; // [km/s] 144 double _z_acceleration; // [km/s^2] 145 double _E; // Age of Information [days] 146 146 }; 147 147 … … 161 161 virtual t_irc position(int GPSweek, double GPSweeks, double* xc, double* vv) const; 162 162 163 double _clock_bias; // [s] 164 double _clock_drift; // [s/s] 163 double _clock_bias; // [s] 164 double _clock_drift; // [s/s] 165 165 double _clock_driftrate; // [s/s^2] 166 166 167 167 double _IODnav; 168 double _Crs; // [m] 168 double _Crs; // [m] 169 169 double _Delta_n; // [rad/s] 170 double _M0; // [rad] 171 172 double _Cuc; // [rad] 173 double _e; // 174 double _Cus; // [rad] 170 double _M0; // [rad] 171 172 double _Cuc; // [rad] 173 double _e; // 174 double _Cus; // [rad] 175 175 double _sqrt_A; // [m^0.5] 176 176 177 double _TOEsec; // [s] 178 double _Cic; // [rad] 179 double _OMEGA0; // [rad] 180 double _Cis; // [rad] 181 182 double _i0; // [rad] 183 double _Crc; // [m] 184 double _omega; // [rad] 177 double _TOEsec; // [s] 178 double _Cic; // [rad] 179 double _OMEGA0; // [rad] 180 double _Cis; // [rad] 181 182 double _i0; // [rad] 183 double _Crc; // [m] 184 double _omega; // [rad] 185 185 double _OMEGADOT; // [rad/s] 186 186 … … 193 193 double _E5bHS; // [0..3] E5b Health Status 194 194 double _E1_bHS; // [0..3] E1-b Health Status 195 double _BGD_1_5A; // group delay [s] 196 double _BGD_1_5B; // group delay [s] 195 double _BGD_1_5A; // group delay [s] 196 double _BGD_1_5B; // group delay [s] 197 197 198 198 double _TOT; // [s] … … 229 229 double _agf1; // [s/s] clock correction drift 230 230 231 double _x_pos; // [m] 232 double _x_velocity; // [m/s] 233 double _x_acceleration; // [m/s^2] 234 235 double _y_pos; // [m] 236 double _y_velocity; // [m/s] 237 double _y_acceleration; // [m/s^2] 238 239 double _z_pos; // [m] 240 double _z_velocity; // [m/s] 241 double _z_acceleration; // [m/s^2] 231 double _x_pos; // [m] 232 double _x_velocity; // [m/s] 233 double _x_acceleration; // [m/s^2] 234 235 double _y_pos; // [m] 236 double _y_velocity; // [m/s] 237 double _y_acceleration; // [m/s^2] 238 239 double _z_pos; // [m] 240 double _z_velocity; // [m/s] 241 double _z_acceleration; // [m/s^2] 242 242 243 243 mutable double _ura; … … 266 266 int _URAI; // [0..15] index from RTCM stream 267 267 mutable double _URA; // user range accuracy 268 double _clock_bias; // [s] 269 double _clock_drift; // [s/s] 268 double _clock_bias; // [s] 269 double _clock_drift; // [s/s] 270 270 double _clock_driftrate; // [s/s^2] 271 double _Crs; // [m] 271 double _Crs; // [m] 272 272 double _Delta_n; // [rad/s] 273 double _M0; // [rad] 274 double _Cuc; // [rad] 275 double _e; // 276 double _Cus; // [rad] 273 double _M0; // [rad] 274 double _Cuc; // [rad] 275 double _e; // 276 double _Cus; // [rad] 277 277 double _sqrt_A; // [m^0.5] 278 double _Cic; // [rad] 279 double _OMEGA0; // [rad] 280 double _Cis; // [rad] 281 double _i0; // [rad] 282 double _Crc; // [m] 283 double _omega; // [rad] 278 double _Cic; // [rad] 279 double _OMEGA0; // [rad] 280 double _Cis; // [rad] 281 double _i0; // [rad] 282 double _Crc; // [m] 283 double _omega; // [rad] 284 284 double _OMEGADOT; // [rad/s] 285 285 double _IDOT; // [rad/s] 286 double _TGD1; // [s] 287 double _TGD2; // [s] 288 int _SatH1; // 286 double _TGD1; // [s] 287 double _TGD2; // [s] 288 int _SatH1; // 289 289 double _TOW; // [s] of BDT week 290 290 double _TOEsec; // [s] of BDT week -
trunk/BNC/src/pppMain.cpp
r7261 r7278 36 36 * Created: 29-Jul-2014 37 37 * 38 * Changes: 38 * Changes: 39 39 * 40 40 * -----------------------------------------------------------------------*/ … … 65 65 } 66 66 67 // 67 // 68 68 ////////////////////////////////////////////////////////////////////////////// 69 69 void t_pppMain::start() { … … 90 90 } 91 91 92 // 92 // 93 93 ////////////////////////////////////////////////////////////////////////////// 94 94 void t_pppMain::stop() { … … 110 110 } 111 111 112 // 112 // 113 113 ////////////////////////////////////////////////////////////////////////////// 114 114 void t_pppMain::readOptions() { … … 135 135 } 136 136 else { 137 return; 137 return; 138 138 } 139 139 … … 149 149 150 150 opt->_realTime = _realTime; 151 opt->_roverName = hlp[0].to Ascii().data();151 opt->_roverName = hlp[0].toStdString(); 152 152 opt->_aprSigCrd[0] = hlp[1].toDouble(); 153 153 opt->_aprSigCrd[1] = hlp[2].toDouble(); -
trunk/BNC/src/pppRun.cpp
r7231 r7278 36 36 * Created: 29-Jul-2014 37 37 * 38 * Changes: 38 * Changes: 39 39 * 40 40 * -----------------------------------------------------------------------*/ … … 67 67 _opt = opt; 68 68 69 connect(this, SIGNAL(newMessage(QByteArray,bool)), 69 connect(this, SIGNAL(newMessage(QByteArray,bool)), 70 70 BNC_CORE, SLOT(slotMessage(const QByteArray,bool))); 71 71 … … 91 91 connect(BNC_CORE, SIGNAL(newGPSEph(t_ephGPS)), 92 92 this, SLOT(slotNewGPSEph(t_ephGPS)),conType); 93 93 94 94 connect(BNC_CORE, SIGNAL(newGlonassEph(t_ephGlo)), 95 95 this, SLOT(slotNewGlonassEph(t_ephGlo)),conType); 96 96 97 97 connect(BNC_CORE, SIGNAL(newGalileoEph(t_ephGal)), 98 98 this, SLOT(slotNewGalileoEph(t_ephGal)),conType); … … 120 120 connect(this, SIGNAL(progressRnxPPP(int)), BNC_CORE, SIGNAL(progressRnxPPP(int))); 121 121 connect(this, SIGNAL(finishedRnxPPP()), BNC_CORE, SIGNAL(finishedRnxPPP())); 122 connect(BNC_CORE, SIGNAL(mapSpeedSliderChanged(int)), 122 connect(BNC_CORE, SIGNAL(mapSpeedSliderChanged(int)), 123 123 this, SLOT(slotSetSpeed(int))); 124 124 connect(BNC_CORE, SIGNAL(stopRinexPPP()), this, SLOT(slotSetStopFlag())); 125 125 } 126 126 127 127 _stopFlag = false; 128 128 … … 183 183 } 184 184 185 // 185 // 186 186 //////////////////////////////////////////////////////////////////////////// 187 187 void t_pppRun::slotNewGPSEph(t_ephGPS eph) { … … 190 190 } 191 191 192 // 192 // 193 193 //////////////////////////////////////////////////////////////////////////// 194 194 void t_pppRun::slotNewGlonassEph(t_ephGlo eph) { … … 196 196 _pppClient->putEphemeris(&eph); 197 197 } 198 199 // 198 199 // 200 200 //////////////////////////////////////////////////////////////////////////// 201 201 void t_pppRun::slotNewGalileoEph(t_ephGal eph) { … … 220 220 } 221 221 222 // Loop over all obse vations (possible different epochs)222 // Loop over all observations (possible different epochs) 223 223 // ----------------------------------------------------- 224 224 QListIterator<t_satObs> it(obsList); … … 276 276 277 277 delete _epoData.front(); _epoData.pop_front(); 278 278 279 279 ostringstream log; 280 280 if (output._error) { … … 295 295 296 296 if (_logFile && output._epoTime.valid()) { 297 _logFile->write(output._epoTime.gpsw(), output._epoTime.gpssec(), 298 QString(output._log.c_str())); 297 _logFile->write(output._epoTime.gpsw(), output._epoTime.gpssec(), 298 QString(output._log.c_str())); 299 299 } 300 300 … … 335 335 } 336 336 337 // 337 // 338 338 //////////////////////////////////////////////////////////////////////////// 339 339 void t_pppRun::slotNewOrbCorrections(QList<t_orbCorr> orbCorr) { … … 352 352 } 353 353 354 _pppClient->putOrbCorrections(corrections); 355 } 356 357 // 354 _pppClient->putOrbCorrections(corrections); 355 356 for (unsigned ii = 0; ii < corrections.size(); ii++) { 357 delete corrections[ii]; 358 } 359 } 360 361 // 358 362 //////////////////////////////////////////////////////////////////////////// 359 363 void t_pppRun::slotNewClkCorrections(QList<t_clkCorr> clkCorr) { … … 372 376 _lastClkCorrTime = clkCorr[ii]._time; 373 377 } 374 _pppClient->putClkCorrections(corrections); 375 } 376 377 // 378 _pppClient->putClkCorrections(corrections); 379 380 for (unsigned ii = 0; ii < corrections.size(); ii++) { 381 delete corrections[ii]; 382 } 383 } 384 385 // 378 386 //////////////////////////////////////////////////////////////////////////// 379 387 void t_pppRun::slotNewCodeBiases(QList<t_satCodeBias> codeBiases) { … … 392 400 } 393 401 394 _pppClient->putCodeBiases(biases); 395 } 396 397 // 402 _pppClient->putCodeBiases(biases); 403 404 for (unsigned ii = 0; ii < biases.size(); ii++) { 405 delete biases[ii]; 406 } 407 } 408 409 // 398 410 //////////////////////////////////////////////////////////////////////////// 399 411 void t_pppRun::processFiles() { … … 468 480 for (unsigned iObs = 0; iObs < epo->rnxSat.size(); iObs++) { 469 481 const t_rnxObsFile::t_rnxSat& rnxSat = epo->rnxSat[iObs]; 470 482 471 483 t_satObs obs; 472 484 t_rnxObsFile::setObsFromRnx(_rnxObsFile, epo, rnxSat, obs); … … 479 491 emit progressRnxPPP(nEpo); 480 492 } 481 493 482 494 QCoreApplication::processEvents(); 483 495 } … … 493 505 } 494 506 495 // 507 // 496 508 //////////////////////////////////////////////////////////////////////////// 497 509 void t_pppRun::slotSetSpeed(int speed) { … … 500 512 } 501 513 502 // 514 // 503 515 //////////////////////////////////////////////////////////////////////////// 504 516 void t_pppRun::slotSetStopFlag() { … … 507 519 } 508 520 509 // 521 // 510 522 //////////////////////////////////////////////////////////////////////////// 511 523 QString t_pppRun::nmeaString(char strType, const t_output& output) { 512 524 513 double ell[3]; 525 double ell[3]; 514 526 xyz2ell(output._xyzRover, ell); 515 527 double phiDeg = ell[0] * 180 / M_PI; … … 520 532 phiDeg = -phiDeg; 521 533 phiCh = 'S'; 522 } 534 } 523 535 char lamCh = 'E'; 524 536 if (lamDeg < 0) { 525 537 lamDeg = -lamDeg; 526 538 lamCh = 'W'; 527 } 539 } 528 540 529 541 ostringstream out; … … 532 544 if (strType == 'R') { 533 545 string datestr = output._epoTime.datestr(0); // yyyymmdd 534 out << "GPRMC," 546 out << "GPRMC," 535 547 << output._epoTime.timestr(0,0) << ",A," 536 << setw(2) << setfill('0') << int(phiDeg) 537 << setw(6) << setprecision(3) << setfill('0') 548 << setw(2) << setfill('0') << int(phiDeg) 549 << setw(6) << setprecision(3) << setfill('0') 538 550 << fmod(60*phiDeg,60) << ',' << phiCh << ',' 539 << setw(3) << setfill('0') << int(lamDeg) 540 << setw(6) << setprecision(3) << setfill('0') 551 << setw(3) << setfill('0') << int(lamDeg) 552 << setw(6) << setprecision(3) << setfill('0') 541 553 << fmod(60*lamDeg,60) << ',' << lamCh << ",,," 542 554 << datestr[6] << datestr[7] << datestr[4] << datestr[5] … … 544 556 } 545 557 else if (strType == 'G') { 546 out << "GPGGA," 558 out << "GPGGA," 547 559 << output._epoTime.timestr(0,0) << ',' 548 << setw(2) << setfill('0') << int(phiDeg) 549 << setw(10) << setprecision(7) << setfill('0') 560 << setw(2) << setfill('0') << int(phiDeg) 561 << setw(10) << setprecision(7) << setfill('0') 550 562 << fmod(60*phiDeg,60) << ',' << phiCh << ',' 551 << setw(3) << setfill('0') << int(lamDeg) 552 << setw(10) << setprecision(7) << setfill('0') 553 << fmod(60*lamDeg,60) << ',' << lamCh 563 << setw(3) << setfill('0') << int(lamDeg) 564 << setw(10) << setprecision(7) << setfill('0') 565 << fmod(60*lamDeg,60) << ',' << lamCh 554 566 << ",1," << setw(2) << setfill('0') << output._numSat << ',' 555 567 << setw(3) << setprecision(1) << output._pDop << ',' … … 569 581 } 570 582 571 // 583 // 572 584 //////////////////////////////////////////////////////////////////////////// 573 585 bool t_pppRun::waitForCorr(const bncTime& epoTime) const {
Note:
See TracChangeset
for help on using the changeset viewer.