diff options
author | Gary E. Miller <gem@rellim.com> | 2019-04-11 18:16:36 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2019-04-11 18:16:36 -0700 |
commit | b28734bab4f13737463e8787df4f6ba32a511e8a (patch) | |
tree | d6d1cbdf7a6171708f7d10daa7d75203b823f96a /driver_nmea0183.c | |
parent | 6f437b8f4da1de53b3275292e361218d0d540714 (diff) | |
download | gpsd-b28734bab4f13737463e8787df4f6ba32a511e8a.tar.gz |
driver_nmea0183: rearrange nmeaid_to_prn(), no functional change.
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r-- | driver_nmea0183.c | 58 |
1 files changed, 37 insertions, 21 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c index ef0c6fb2..dcf66be0 100644 --- a/driver_nmea0183.c +++ b/driver_nmea0183.c @@ -971,28 +971,44 @@ static int nmeaid_to_prn(char *talker, int satnum, unsigned char *gnssid, *svid = 0; /* default to unnknown svid */ if (0 != satnum && 32 >= satnum) { *svid = satnum; - if (talker[0] == 'B' && talker[1] == 'D') { - /* map Beidou IDs */ - satnum += 200; - *gnssid = 3; - } else if (talker[0] == 'G' && talker[1] == 'B') { - /* map Beidou IDs */ - *gnssid = 3; - satnum += 200; - } else if (talker[0] == 'G' && talker[1] == 'L') { - /* GLONASS GL doesn't seem to do this, better safe than sorry */ - satnum += 64; - *gnssid = 6; - } else if (talker[0] == 'Q' && talker[1] == 'Z') { - /* QZSS */ - satnum += 192; - *gnssid = 5; - } else if (talker[0] == 'G' && talker[1] == 'A') { - /* Galileo */ - satnum += 300; /* Used by u-blox at least */ - *gnssid = 2; + switch (talker[0]) { + case 'G': + if (talker[1] == 'A') { + /* Galileo */ + satnum += 300; /* Used by u-blox at least */ + *gnssid = 2; + } else if (talker[1] == 'B') { + /* map Beidou IDs */ + *gnssid = 3; + satnum += 200; + } else if (talker[1] == 'L') { + /* GLONASS GL doesn't seem to do this, better safe than sorry */ + satnum += 64; + *gnssid = 6; + } else if (talker[1] == 'N') { + /* all of them, but only GPS is 0 < PRN < 33 */ + } else if (talker[1] == 'P') { + /* GPS,SBAS,QZSS, but only GPS is 0 < PRN < 33 */ + } /* else ?? */ + break; + case 'B': + if (talker[1] == 'D') { + /* map Beidou IDs */ + satnum += 200; + *gnssid = 3; + } /* else ?? */ + break; + case 'Q': + if (talker[1] == 'Z') { + /* QZSS */ + satnum += 192; + *gnssid = 5; + } /* else ? */ + break; + default: + /* huh? */ + break; } - /* what about $GN? */ } else if ( 33 <= satnum && 64 >= satnum) { // NMEA-ID (33..64) to SBAS PRN 120-151. /* SBAS */ |