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 Time Sync Functionality #3

Open
ryanpdx opened this issue Apr 23, 2023 · 0 comments
Open

GPS Time Sync Functionality #3

ryanpdx opened this issue Apr 23, 2023 · 0 comments
Assignees

Comments

@ryanpdx
Copy link
Member

ryanpdx commented Apr 23, 2023

GPS Time Sync overview

  • C3 clears all of the old GPS data in the Object Dictionary (OD).
  • GPS PNT worker thread is started on C3 boot up.
  • Thread delays 4 hours after start (OD configurable)
  • Turn on the GPS card using the node manager
    • Heartbeat delay should be long enough for boot - like 60 seconds?
    • Node manager will try to restart the GPS card three times if it doesn’t get a heartbeat
  • C3 waits for GPS app to start sending data
    • ~1 minute for “not locked” messages to start.
    • ~ 5 minutes, but maybe even ~15 minutes, for GPS to lock and “locked” messages to be sent.
  • After 20 minutes of “not locked”, C3 should power down GPS and declare failure.
  • GPS automatically broadcasts TPDO of the lock state once a second.
  • GPS automatically broadcasts TPDOs of PNT data when locked
  • C3 checks the OD to see if the GPS is locked (to see if a GPS TPDO has been received that says it’s locked).
  • If locked, C3 sends the CANopen SYNC command
    • GPS responds with the time sync TPDO.
    • Everyone who’s listening, like the C3, updates their clock.
  • After a successful time sync
    • Shutdown GPS card
  • Thread goes to sleep and waits for next wakeup.
@ryanpdx ryanpdx changed the title Add GPS Time Sync Functionality GPS Time Sync Functionality Apr 23, 2023
@ryanpdx ryanpdx self-assigned this Jan 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

1 participant