diff options
-rw-r--r-- | driver_nmea2000.c | 8 | ||||
-rw-r--r-- | pseudonmea.c | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/driver_nmea2000.c b/driver_nmea2000.c index b1a0ed18..7f2474c5 100644 --- a/driver_nmea2000.c +++ b/driver_nmea2000.c @@ -377,6 +377,7 @@ static gps_mask_t hnd_129540(unsigned char *bu, int len, PGN *pgn, struct gps_de session->gpsdata.satellites_visible = (int)bu[2]; memset(session->gpsdata.skyview, '\0', sizeof(session->gpsdata.skyview)); + memset(session->sats_used, 0, sizeof(session->sats_used)); l2 = 0; for (l1=0;l1<session->gpsdata.satellites_visible;l1++) { int svt; @@ -390,13 +391,14 @@ static gps_mask_t hnd_129540(unsigned char *bu, int len, PGN *pgn, struct gps_de svt = (int)(bu[3+12*l1+11] & 0x0f); - session->gpsdata.skyview[l1].elevation = (int) (round(elev)); - session->gpsdata.skyview[l1].azimuth = (int) (round(azi)); + session->gpsdata.skyview[l1].elevation = (short) (round(elev)); + session->gpsdata.skyview[l1].azimuth = (short) (round(azi)); session->gpsdata.skyview[l1].ss = snr; - session->gpsdata.skyview[l1].PRN = (int)bu[3+12*l1+0]; + session->gpsdata.skyview[l1].PRN = (short)bu[3+12*l1+0]; session->gpsdata.skyview[l1].used = false; if ((svt == 2) || (svt == 5)) { session->gpsdata.skyview[l1].used = true; + session->sats_used[l2] = (unsigned short) session->gpsdata.skyview[l1].PRN; l2 += 1; } } diff --git a/pseudonmea.c b/pseudonmea.c index 8e85a9ac..c01920ca 100644 --- a/pseudonmea.c +++ b/pseudonmea.c @@ -172,7 +172,7 @@ 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 0 +#if 1 if (session->sats_used[i] > 0) { bufp += strlen(bufp); (void)snprintf(bufp, len - strlen(bufp), |