summaryrefslogtreecommitdiff
path: root/driver_ubx.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2018-10-29 17:57:31 -0700
committerGary E. Miller <gem@rellim.com>2018-10-29 17:57:31 -0700
commit37f5efa105ffa2de7242ba640c4627ebe5afeb47 (patch)
tree3d135138aacae4edc28a8f7a3d62aecf77d4c2d2 /driver_ubx.c
parent751201571b0a152f9727a70ca349a2290f0b9e3d (diff)
downloadgpsd-37f5efa105ffa2de7242ba640c4627ebe5afeb47.tar.gz
driver_ubx: Fill in the obs_code field in rawdata_t.
Diffstat (limited to 'driver_ubx.c')
-rw-r--r--driver_ubx.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/driver_ubx.c b/driver_ubx.c
index 8ad24bbb..30ac5b62 100644
--- a/driver_ubx.c
+++ b/driver_ubx.c
@@ -814,6 +814,7 @@ static gps_mask_t ubx_rxm_rawx(struct gps_device_t *session,
uint8_t numMeas;
uint8_t recStat;
int i;
+ const char * obs_code;
if (16 > data_len) {
gpsd_log(&session->context->errout, LOG_WARN,
@@ -872,6 +873,29 @@ static gps_mask_t ubx_rxm_rawx(struct gps_device_t *session,
cno, prStdev, cpStdev, doStdev, trkStat);
session->gpsdata.raw.meas[i].gnssid = gnssId;
+ switch (gnssId) {
+ case 0: /* GPS */
+ case 1: /* SBAS */
+ case 5: /* QZSS */
+ obs_code = "L1C"; /* u-blox calles this L1C/A */
+ break;
+ case 2: /* GALILEO */
+ obs_code = "L1B"; /* u-blox calls this E1OS */
+ break;
+ case 3: /* BeiDou */
+ obs_code = "L2I"; /* u-blox calls this B1I */
+ break;
+ default: /* huh? */
+ case 4: /* IMES. really? */
+ obs_code = ""; /* u-blox calls this L1 */
+ break;
+ case 6: /* GLONASS */
+ obs_code = "L1C"; /* u-blox calls this L1OF */
+ break;
+ }
+ (void)strlcpy(session->gpsdata.raw.meas[i].obs_code, obs_code,
+ sizeof(session->gpsdata.raw.meas[i].obs_code));
+
session->gpsdata.raw.meas[i].svid = svId;
session->gpsdata.raw.meas[i].snr = cno;
session->gpsdata.raw.meas[i].satstat = trkStat;