diff options
author | Gary E. Miller <gem@rellim.com> | 2018-10-26 13:06:23 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2018-10-26 13:06:23 -0700 |
commit | b33816fe2b9219d2a9cca80091b6264bf579275f (patch) | |
tree | 3ba5aa82990a9da47bfe666858c5b802033c6dfd /driver_ubx.c | |
parent | bd652ce3cdb577ba9f941c7dec0d1a63015cc25c (diff) | |
download | gpsd-b33816fe2b9219d2a9cca80091b6264bf579275f.tar.gz |
rawdata_t: rearrange structure again.
No need for 140 copies of the identical mtime.
Diffstat (limited to 'driver_ubx.c')
-rw-r--r-- | driver_ubx.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/driver_ubx.c b/driver_ubx.c index 0dccddff..b8c5481b 100644 --- a/driver_ubx.c +++ b/driver_ubx.c @@ -831,6 +831,13 @@ static gps_mask_t ubx_rxm_rawx(struct gps_device_t *session, "UBX_RXM_RAWX: rcvTow %f week %u leapS %d numMeas %u recStat %d\n", rcvTow, week, leapS, numMeas, recStat); + session->newdata.time = gpsd_gpstime_resolve(session, week, + rcvTow / 1000.0); + session->gpsdata.raw.mtime = session->newdata.time; + + /* this is so we can tell which never got set */ + for (i = 0; i < MAXCHANNELS; i++) + session->gpsdata.raw.meas[i].svid = 0; for (i = 0; i < numMeas; i++) { int off = 32 * i; /* psuedorange in meters */ @@ -863,16 +870,15 @@ static gps_mask_t ubx_rxm_rawx(struct gps_device_t *session, gnssId, svId, freqId, prMes, cpMes, doMes, locktime, cno, prStdev, cpStdev, doStdev, trkStat); - session->gpsdata.raw[i].gnssid = gnssId; - session->gpsdata.raw[i].svid = svId; - session->gpsdata.raw[i].snr = cno; - session->gpsdata.raw[i].satstat = trkStat; - session->gpsdata.raw[i].pseudorange = prMes; - session->gpsdata.raw[i].carrierphase = cpMes; - session->gpsdata.raw[i].doppler = doMes; - session->gpsdata.raw[i].mtime = 1; /* time? */ - session->gpsdata.raw[i].codephase = NAN; - session->gpsdata.raw[i].deltarange = NAN; + session->gpsdata.raw.meas[i].gnssid = gnssId; + session->gpsdata.raw.meas[i].svid = svId; + session->gpsdata.raw.meas[i].snr = cno; + session->gpsdata.raw.meas[i].satstat = trkStat; + session->gpsdata.raw.meas[i].pseudorange = prMes; + session->gpsdata.raw.meas[i].carrierphase = cpMes; + session->gpsdata.raw.meas[i].doppler = doMes; + session->gpsdata.raw.meas[i].codephase = NAN; + session->gpsdata.raw.meas[i].deltarange = NAN; } return RAW_IS; |