Skip to content

Add integrated GPS/NTP time sync#504

Draft
hjoungjoo wants to merge 9 commits into
brickbots:mainfrom
hjoungjoo:pr/time-sync-sources
Draft

Add integrated GPS/NTP time sync#504
hjoungjoo wants to merge 9 commits into
brickbots:mainfrom
hjoungjoo:pr/time-sync-sources

Conversation

@hjoungjoo

Copy link
Copy Markdown

Summary

  • add integrated Time Sync monitoring with GPS and NTP sources
  • select the best available time source by estimated quality, with GPS/NTP-specific status
  • add optional helper-mediated system clock and RTC sync requests
  • add software PPS status, Time Sync UI, NTP server selection, and docs

Context

This is split out from the larger MF PiFinder compatibility branch as a focused draft PR. Time Sync is off by default; when enabled it can compare GPS and NTP, and it handles poor NTP/network conditions by reporting unavailable or low-quality NTP rather than blocking normal PiFinder operation.

Testing

  • cd python && pytest tests/test_gps_time_sync.py tests/test_gps_time_sync_helper.py tests/test_gps_time_sync_status_ui.py tests/test_gps_time_sources.py -q
  • python3 -m py_compile python/PiFinder/gps_time_sync.py python/PiFinder/gps_time_sync_helper.py python/PiFinder/gps_gpsd.py python/PiFinder/gps_ubx.py python/PiFinder/gps_ubx_parser.py python/PiFinder/main.py python/PiFinder/ui/callbacks.py python/PiFinder/ui/gps_time_sync_status.py python/PiFinder/ui/menu_structure.py python/PiFinder/ui/textentry.py
  • git diff --check upstream/main...HEAD

Notes

  • default remains disabled via time_sync_enabled=false
  • NTP custom server entry is handled from the NTP Server > Custom item
  • outdoor GPS validation is still planned, so this remains Draft

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

Successfully merging this pull request may close these issues.

1 participant