Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPS Date Roll Over problem #1335

Closed
mgrouch opened this issue Aug 5, 2021 · 5 comments
Closed

GPS Date Roll Over problem #1335

mgrouch opened this issue Aug 5, 2021 · 5 comments

Comments

@mgrouch
Copy link

mgrouch commented Aug 5, 2021

GPS can return wrong date (day time will be correct) and signalk setdate and time plugin will set wrong date.

Also being discussed here:

https://forum.openmarine.net/showthread.php?tid=3572&pid=20237#pid20237

If this problem doesn’t exist in
GLONASS, Beidou, Galileo
might be solution would be
never trust gps date and use date from
from one of those in SignalK set date time plugin?

Thanks

@tkurki
Copy link
Member

tkurki commented Aug 7, 2021

@mgrouch how do you propose that we never trust gps date and use date from
from one of those
? A practical example: Digital Yacht Trinav supports GPS, GLONASS and Galileo, but the output is just RMC sentences, with no indication of what system's data is used. NMEA2000 GNSS data has even less data about what satellites are used for the fix than 0183.

A date adjustment mechanism that you can manually configure per connection would be pretty foolproof and support any input.

If a system will have multiple GNSS receivers and some produce bogus data you can configure source preferences to ignore data from those (as long as you get at least some valid data).

If all else fails one can configure a node-RED flow to do whatever filtering or adjusting, intercepting incoming data before it enters the server's processing.

That's all I can think of in the input side. In set-system-time we can add a lower limit to valid dates. I don't think it makes sense for the plugin to do any data adjustements - that should be on the input side.

@mgrouch
Copy link
Author

mgrouch commented Aug 7, 2021 via email

@tkurki
Copy link
Member

tkurki commented Aug 8, 2021

Trinav is based on ublox, so I assume it does, but haven't tested. Nevertheless N2K has no "talker id" and even if some gnss receivers support multiple satellite systems there is a huge amount of systems that have just a single gps receiver.

I do no agree with having the fix in set-system-time, as that fixed just setting the system time, and leaves the erroneous data in the the Signal K data. The adjustment should happen so that the SK data is correct, using it for setting the system time is just one application of it.

I mentioned Node-RED / custom code as the solution offering ultimate flexibility, not what Joe Boater should be using.

@smoothfroggy
Copy link

Would an acceptable solution be, at least for supported hardware, to use GPSD which incorporate patches to cope with 2^10 week rollover leading to incorrect date being returned. The stable version 3.23.1 works flawlessly.

Best regards,

@tkurki
Copy link
Member

tkurki commented Feb 11, 2023

I don't see a systematic fix for this and there is no action, so closing.

@tkurki tkurki closed this as completed Feb 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants