summaryrefslogtreecommitdiff
path: root/driver_ubx.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2018-10-26 13:06:23 -0700
committerGary E. Miller <gem@rellim.com>2018-10-26 13:06:23 -0700
commitb33816fe2b9219d2a9cca80091b6264bf579275f (patch)
tree3ba5aa82990a9da47bfe666858c5b802033c6dfd /driver_ubx.c
parentbd652ce3cdb577ba9f941c7dec0d1a63015cc25c (diff)
downloadgpsd-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.c26
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;