summaryrefslogtreecommitdiff
path: root/driver_nmea2000.c
diff options
context:
space:
mode:
authorReinhard Arlt <reinhard.arlt@t-online.de>2014-12-15 21:53:09 +0100
committerReinhard Arlt <reinhard.arlt@t-online.de>2014-12-15 21:53:09 +0100
commitd695f3e71a1d9dfdd9840b2533f86f491a1bfda5 (patch)
treea3a4942376cb69e840391ad986166e1147080a15 /driver_nmea2000.c
parenta9d707265a1530244b0c4c2844461775cd58fff7 (diff)
downloadgpsd-d695f3e71a1d9dfdd9840b2533f86f491a1bfda5.tar.gz
Fix pseudonmea again.
Diffstat (limited to 'driver_nmea2000.c')
-rw-r--r--driver_nmea2000.c8
1 files changed, 5 insertions, 3 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;
}
}