summaryrefslogtreecommitdiff
path: root/driver_skytraq.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2018-11-29 20:17:42 -0800
committerGary E. Miller <gem@rellim.com>2018-11-29 20:17:42 -0800
commit8919ec0240a7563bd7ca7c7e748167c7f7765f97 (patch)
tree63b093912a8a2426c331118244dd90c9eb3bd558 /driver_skytraq.c
parent2130cacedb5859b35bebae8055ff57aa375fa7e0 (diff)
downloadgpsd-8919ec0240a7563bd7ca7c7e748167c7f7765f97.tar.gz
driver_skytraq: remove duplicate gnssId/svId code.
Diffstat (limited to 'driver_skytraq.c')
-rw-r--r--driver_skytraq.c31
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);