[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Time precision in gps_fix_t

From: Marco Spanghero
Subject: Re: Time precision in gps_fix_t
Date: Wed, 22 Jan 2020 13:43:25 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1


thanks for the reply. I am aware of it, but for the application I am working with now, the host system cannot access a PPS line. I can see the UBX decoding in the GPSD logs, and I would really like to be able to access that information.

When I do a gps_read and retrive the gps_data_t, for what I understand I get back the JSON object TPV.

Is there any way I can access the decoded UBX with gps_read?

As the driver decodes it, I assume it should be known to GPSD right? what I am interested in is to expose the decoding of UBX-GPSTIME. Any way I can achieve that?


On 22/01/2020 1:26 pm, Trygve Lunheim wrote:
Hi Marco,

Like Gary said, PPS is what you should be looking at for your application.
The ubx sentence with microsecond resolution is mostly useful for post-processing of position data.
The serial transmission and string processing is inherently non-deterministic, and will have jitter. And the clock you read will have latency issues.
From an u-blox manual:
(and that is before data goes through the uart, serial line and through the receiver end processing. Maybe a serial/usb interface with buffering as well)

You should read up on the Timepulse outputs (there should be 2 on the ubx-m8030), and how you can access them on your development card, or what you have available.
The pinouts don't seem to be publicly available, so you may need to contact u-blox.

If you are looking for references on high precision time synchronization I think this site has lots of information:  

Kind regards,

ons. 22. jan. 2020 kl. 04:09 skrev Marco Spanghero <address@hidden>:

Hi All,

I am using GPSD for research purposes about high precision time synchronization.

I wrote my own client in C that gets a structure gps_data_t that contains gps_fix_t. I am trying to access the time with a higher resolution than 1s.

The module I am using is a ublox ubx-m8030 that can output a ubx sentence with specific timing down to microseconds as I can see in ucenter software.

My questions are:

why the field time in gps_fix_t, even if it has second and subsecond field, the subseconds field is set to 0 in all measurements?

how to I access the ubx time sentence from gpsd?

where can I access a high resolution time information? I know GPS should do better than 1s, 100us should be reasonable.

Any help would be highly appreciated.


PhD Student

KTH Royal Institute of Technology


Marco Spanghero, PhD Student
Networked Systems Security Group
NSS Home Page

reply via email to

[Prev in Thread] Current Thread [Next in Thread]