diff options
author | Gary E. Miller <gem@rellim.com> | 2018-10-29 17:57:31 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2018-10-29 17:57:31 -0700 |
commit | 37f5efa105ffa2de7242ba640c4627ebe5afeb47 (patch) | |
tree | 3d135138aacae4edc28a8f7a3d62aecf77d4c2d2 /driver_ubx.c | |
parent | 751201571b0a152f9727a70ca349a2290f0b9e3d (diff) | |
download | gpsd-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.c | 24 |
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; |