summaryrefslogtreecommitdiff
path: root/pseudonmea.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2014-09-22 14:50:03 -0400
committerEric S. Raymond <esr@thyrsus.com>2014-09-22 14:50:03 -0400
commit282691da60ec526772f713a63fa0b8f43aea7acb (patch)
tree622f4d55c882f63475b84691d41108dd17326cca /pseudonmea.c
parentf63bdafc18991624b872e9efa858c024834a540e (diff)
downloadgpsd-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.c12
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++;
}
}