From 084db394dfab4c734196544f961a09a0b22ea3c3 Mon Sep 17 00:00:00 2001 From: "Gary E. Miller" Date: Fri, 26 Oct 2018 19:05:15 -0700 Subject: rawdata_t: convert mtime from timestamp_t to timespec_t. One ns is important when measuring distance using time. --- driver_superstar2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'driver_superstar2.c') diff --git a/driver_superstar2.c b/driver_superstar2.c index 475d258f..8020f092 100644 --- a/driver_superstar2.c +++ b/driver_superstar2.c @@ -285,7 +285,7 @@ superstar2_msg_measurement(struct gps_device_t *session, unsigned char *buf, { gps_mask_t mask = 0; int i, n; - double t; + double t, t_intp; gpsd_log(&session->context->errout, LOG_PROG, "superstar2 #23 - measurement block\n"); @@ -297,7 +297,9 @@ superstar2_msg_measurement(struct gps_device_t *session, unsigned char *buf, return 0; } t = getled64((char *)buf, 7); /* measurement time */ - session->gpsdata.raw.mtime = t; + session->gpsdata.raw.mtime.tv_nsec = modf(t, &t_intp) * 10e9; + session->gpsdata.raw.mtime.tv_sec = (time_t)t_intp; + /* this is so we can tell which never got set */ for (i = 0; i < MAXCHANNELS; i++) session->gpsdata.raw.meas[i].svid = 0; -- cgit v1.2.1