I have a GPS_RTK-SMA which uses the Ublox ZED-F9P. I am monitoring for a transient event. Upon occurance of the event, I need to read the time from the GPS within 100 milliseconds or better. However, I am troubled by comments in the example code that says, “The module only responds when a new position is available.” This implies that the GPS module will not necessarily provide the time within 100 milliseconds. Other scientific projects have used GPS modules to provide millisecond timing, so is there another GPS module that is more appropriate for my needs?
Do I understand correctly that the Ublox ZED-F9P will not read out the time immediately but possibly impose some delay?
When the event happens, you only need to count the milliseconds between then and when the next time reading is available. Then do a little math to add the two and you will have your millisecond timing.
If you want to get precise timestamp with F9P, you have to close the contact on the INT pin. You will get a TIM2 message with accuracy about 10 ns. You may trigger such an even with flash grip of a camera for instance.
Please see the comments in the code. With the navigation rate set to 1Hz - the default - TIM TM2 can only capture the accurate timing of one rising edge and one falling edge event per second. But it can provide the count of multiple events within that second. If your events are likely to arrive faster than 1Hz, you can increase the navigation rate to match - up to 20Hz or 25Hz depending on how many constellations you are using.