Changeset 905 in ntrip
- Timestamp:
- May 9, 2008, 9:37:09 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNS/bns.cpp
r904 r905 313 313 if (numSat > 0) { 314 314 315 for (int gpsFlg = 0; gpsFlg <= 1; gpsFlg++) { 316 for (int oldEph = 0; oldEph <= 1; oldEph++) { 317 318 struct ClockOrbit co; 319 memset(&co, 0, sizeof(co)); 320 co.GPSEpochTime = (int)GPSweeks; 321 co.ClockDataSupplied = 1; 322 co.OrbitDataSupplied = 1; 323 co.SatRefPoint = POINT_CENTER; 324 co.SatRefDatum = DATUM_ITRF; 325 326 for (int ii = 1; ii <= numSat; ii++) { 327 328 QString prn; 329 ColumnVector xx(4); 330 t_eph* ep = 0; 331 332 if (oldEph == 0) { 333 line = _clkSocket->readLine(); 334 QTextStream in(line); 335 in >> prn; 336 if ( _ephList.contains(prn) ) { 337 in >> xx(1) >> xx(2) >> xx(3) >> xx(4); xx(4) *= 1e-6; 338 t_ephPair* pair = _ephList[prn]; 339 pair->xx = xx; 340 ep = pair->eph; 341 } 342 } 343 else { 344 if ( _ephList.contains(prn) ) { 345 t_ephPair* pair = _ephList[prn]; 346 prn = pair->eph->prn(); 347 xx = pair->xx; 348 ep = pair->oldEph; 349 } 350 } 351 352 if (ep != 0) { 353 struct ClockOrbit::SatData* sd = 0; 354 if (gpsFlg && prn[0] == 'G') { 355 sd = co.Sat + co.NumberOfGPSSat; 356 ++co.NumberOfGPSSat; 357 } 358 else if (!gpsFlg && prn[0] == 'R') { 359 sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfGLONASSSat; 360 ++co.NumberOfGLONASSSat; 361 } 362 if (sd) { 363 processSatellite(ep, GPSweek, GPSweeks, prn, xx, sd); 364 } 315 for (int oldEph = 0; oldEph <= 1; oldEph++) { 316 317 struct ClockOrbit co; 318 memset(&co, 0, sizeof(co)); 319 co.GPSEpochTime = (int)GPSweeks; 320 co.ClockDataSupplied = 1; 321 co.OrbitDataSupplied = 1; 322 co.SatRefPoint = POINT_CENTER; 323 co.SatRefDatum = DATUM_ITRF; 324 325 for (int ii = 1; ii <= numSat; ii++) { 326 327 QString prn; 328 ColumnVector xx(4); 329 t_eph* ep = 0; 330 331 if (oldEph == 0) { 332 line = _clkSocket->readLine(); 333 QTextStream in(line); 334 in >> prn; 335 if ( _ephList.contains(prn) ) { 336 in >> xx(1) >> xx(2) >> xx(3) >> xx(4); xx(4) *= 1e-6; 337 t_ephPair* pair = _ephList[prn]; 338 pair->xx = xx; 339 ep = pair->eph; 365 340 } 366 341 } 367 368 if ( _outSocket && 369 (co.NumberOfGPSSat > 0 || co.NumberOfGLONASSSat > 0) ) { 370 char obuffer[CLOCKORBIT_BUFFERSIZE]; 371 int len = MakeClockOrbit(&co, COTYPE_AUTO, 0, obuffer, sizeof(obuffer)); 372 if (len > 0) { 373 _outSocket->write(obuffer, len); 374 _outSocket->flush(); 342 else { 343 if ( _ephList.contains(prn) ) { 344 t_ephPair* pair = _ephList[prn]; 345 prn = pair->eph->prn(); 346 xx = pair->xx; 347 ep = pair->oldEph; 375 348 } 349 } 350 351 if (ep != 0) { 352 struct ClockOrbit::SatData* sd = 0; 353 if (prn[0] == 'G') { 354 sd = co.Sat + co.NumberOfGPSSat; 355 ++co.NumberOfGPSSat; 356 } 357 else if (prn[0] == 'R') { 358 sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfGLONASSSat; 359 ++co.NumberOfGLONASSSat; 360 } 361 if (sd) { 362 processSatellite(ep, GPSweek, GPSweeks, prn, xx, sd); 363 } 364 } 365 } 366 367 if ( _outSocket && 368 (co.NumberOfGPSSat > 0 || co.NumberOfGLONASSSat > 0) ) { 369 char obuffer[CLOCKORBIT_BUFFERSIZE]; 370 int len = MakeClockOrbit(&co, COTYPE_AUTO, 0, obuffer, sizeof(obuffer)); 371 if (len > 0) { 372 _outSocket->write(obuffer, len); 373 _outSocket->flush(); 376 374 } 377 375 }
Note:
See TracChangeset
for help on using the changeset viewer.