I see that TinyGPS++ library extracts time information from GxRMC
and GxGGA
NMEA sentences streamed by GPS receiver. However, in my experiments I observed that both of my GPS receivers generate GxRMC
sentences with time data in them at least once a second even when they have no access to satellites.
I presume that the time data comes from the internal clock of the receiver (and is maintained between warm startups). This is perfectly OK. However, I would like to know what measures are required by NMEA specification to ensure the reliability of this time data.
Am I correct in assuming that the device itself is supposed to understand that after certain period of time its internal clock will diverge? And that after that period the device will by itself stop pumping out these GxRMC
sentences, until it gets a chance to see a satellite and re-sync its internal clock? Or should I expect to see the next field in GxRMC
sentence to change from A
to V
?
If not, then what is the proper way to ensure that I receive "satellite time" (or close to that) or nothing at all?