diff options
author | Gary E. Miller <gem@rellim.com> | 2018-11-29 20:17:42 -0800 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2018-11-29 20:17:42 -0800 |
commit | 8919ec0240a7563bd7ca7c7e748167c7f7765f97 (patch) | |
tree | 63b093912a8a2426c331118244dd90c9eb3bd558 /driver_skytraq.c | |
parent | 2130cacedb5859b35bebae8055ff57aa375fa7e0 (diff) | |
download | gpsd-8919ec0240a7563bd7ca7c7e748167c7f7765f97.tar.gz |
driver_skytraq: remove duplicate gnssId/svId code.
Diffstat (limited to 'driver_skytraq.c')
-rw-r--r-- | driver_skytraq.c | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/driver_skytraq.c b/driver_skytraq.c index 64c4618c..091e3517 100644 --- a/driver_skytraq.c +++ b/driver_skytraq.c @@ -343,38 +343,21 @@ static gps_mask_t sky_msg_DE(struct gps_device_t *session, unsigned short chan_stat; unsigned short ura; short PRN; + uint8_t gnssId = 0; + uint8_t svId = 0; PRN = (short)getub(buf, off + 1); /* fit into gnssid:svid */ if (0 == PRN) { /* skip 0 PRN */ continue; - } else if ((1 <= PRN) && (32 >= PRN)) { - /* GPS */ - session->gpsdata.skyview[st].gnssid = 0; - session->gpsdata.skyview[st].svid = PRN; - } else if ((65 <= PRN) && (96 >= PRN)) { - /* GLONASS */ - session->gpsdata.skyview[st].gnssid = 6; - session->gpsdata.skyview[st].svid = PRN - 64; - } else if ((120 <= PRN) && (158 >= PRN)) { - /* SBAS */ - session->gpsdata.skyview[st].gnssid = 1; - session->gpsdata.skyview[st].svid = PRN; - } else if ((201 <= PRN) && (239 >= PRN)) { - /* BeiDou */ - session->gpsdata.skyview[st].gnssid = 3; - session->gpsdata.skyview[st].svid = PRN - 200; - } else if ((240 <= PRN) && (254 >= PRN)) { - /* IRNSS */ - session->gpsdata.skyview[st].gnssid = 20; - session->gpsdata.skyview[st].svid = PRN - 240; - } else { - /* huh? */ - session->gpsdata.skyview[st].gnssid = 0; - session->gpsdata.skyview[st].svid = 0; } + PRN2_gnssId_svId(PRN, &gnssId, &svId); + + session->gpsdata.skyview[st].gnssid = gnssId; + session->gpsdata.skyview[st].svid = svId; session->gpsdata.skyview[st].PRN = PRN; + sv_stat = (unsigned short)getub(buf, off + 2); ura = (unsigned short)getub(buf, off + 3); session->gpsdata.skyview[st].ss = (float)getub(buf, off + 4); |