diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2014-09-22 14:50:03 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2014-09-22 14:50:03 -0400 |
commit | 282691da60ec526772f713a63fa0b8f43aea7acb (patch) | |
tree | 622f4d55c882f63475b84691d41108dd17326cca /pseudonmea.c | |
parent | f63bdafc18991624b872e9efa858c024834a540e (diff) | |
download | gpsd-282691da60ec526772f713a63fa0b8f43aea7acb.tar.gz |
Refactor representation of satellite data into an array of structs...
...from a set of parallel arrays. This change flushed out a
longstanding bug in the computation of DOPs for estimated error bars.
Some test-load rebuilds were required:
geostar-geos1m-binary.log.chk: With this change error
estimates are computed and reported.
trimble-lassen_iq-3dfix.log, trimble-lassen_iq-3dfix.log: the
change revealed a bug in the computation of satellite-seen bits.
Error estimates did not change.
navcom.log: Error estimates changed.
With these rebuilds, all regression tests pass.
Diffstat (limited to 'pseudonmea.c')
-rw-r--r-- | pseudonmea.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pseudonmea.c b/pseudonmea.c index fd6bff80..7ce48d93 100644 --- a/pseudonmea.c +++ b/pseudonmea.c @@ -133,10 +133,10 @@ static void gpsd_binary_satellite_dump(struct gps_device_t *session, if (i < session->gpsdata.satellites_visible) len -= snprintf(bufp, len, ",%02d,%02d,%03d,%02.0f", - session->gpsdata.PRN[i], - session->gpsdata.elevation[i], - session->gpsdata.azimuth[i], - session->gpsdata.ss[i]); + session->gpsdata.skyview[i].PRN, + session->gpsdata.skyview[i].elevation, + session->gpsdata.skyview[i].azimuth, + session->gpsdata.skyview[i].ss); if (i % 4 == 3 || i == session->gpsdata.satellites_visible - 1) { nmea_add_checksum(bufp2); len -= 5; @@ -172,11 +172,11 @@ static void gpsd_binary_quality_dump(struct gps_device_t *session, "$GPGSA,%c,%d,", 'A', session->gpsdata.fix.mode); j = 0; for (i = 0; i < session->device_type->channels; i++) { - if (session->gpsdata.used[i] > 0) { + if (session->sats_used[i] > 0) { bufp += strlen(bufp); (void)snprintf(bufp, len - strlen(bufp), "%d,", - session->gpsdata.used[i]); + session->sats_used[i]); j++; } } |