I see that TinyGPS++ library extracts time information from
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
If not, then what is the proper way to ensure that I receive "satellite time" (or close to that) or nothing at all?