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_italk.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_italk.c')
-rw-r--r-- | driver_italk.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/driver_italk.c b/driver_italk.c index 71621905..294bd920 100644 --- a/driver_italk.c +++ b/driver_italk.c @@ -260,25 +260,26 @@ static gps_mask_t decode_itk_pseudo(struct gps_device_t *session, (unsigned short int)getleu16((char *)buf, 7 + 8), (unsigned int)getleu32(buf, 7 + 38) / 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[i].mtime = 0; + session->gpsdata.raw.meas[i].svid = 0; for (i = 0; i < n; i++){ session->gpsdata.skyview[i].PRN = getleu16(buf, 7 + 26 + (i*36)) & 0xff; session->gpsdata.skyview[i].ss = getleu16(buf, 7 + 26 + (i*36 + 2)) & 0x3f; - session->gpsdata.raw[i].satstat = getleu32(buf, 7 + 26 + (i*36 + 4)); - session->gpsdata.raw[i].pseudorange = + session->gpsdata.raw.meas[i].satstat = + getleu32(buf, 7 + 26 + (i*36 + 4)); + session->gpsdata.raw.meas[i].pseudorange = getled64((char *)buf, 7 + 26 + (i*36 + 8)); - session->gpsdata.raw[i].doppler = + session->gpsdata.raw.meas[i].doppler = getled64((char *)buf, 7 + 26 + (i*36 + 16)); - session->gpsdata.raw[i].carrierphase = + session->gpsdata.raw.meas[i].carrierphase = getleu16(buf, 7 + 26 + (i*36 + 28)); - session->gpsdata.raw[i].mtime = session->newdata.time; - session->gpsdata.raw[i].codephase = NAN; - session->gpsdata.raw[i].deltarange = NAN; + session->gpsdata.raw.meas[i].codephase = NAN; + session->gpsdata.raw.meas[i].deltarange = NAN; } /* return RAW_IS; The above decode does not give reasonable results */ return 0; /* do not report valid until decode is fixed */ |