Skip to content

[Feature request] NPT time sync for repeaters via a daily flood message from companion nodes with GPS-synced internal clocks #2910

Description

@Hyperious

I had an idea this evening when setting up my LFP battery SoC auto-report text message for my repeaters that run on 5V supplied off an externally managed LFP battery setup. I was thinking about how you could ensure that a message is sent every day at exactly 30min before sunrise, when I remembered how sometimes the clocks on repeaters drift due to power loss, and don't really get corrected until the repeater owner logs in to resync them.

I guess my idea would be to have companion or other nodes which have GPS's onboard broadcast a flood packet once per day with the current internal clock of that GPS'd node. Since GPS is really just a glorified atomic clock we yeeted into orbit. Using the NMEA data sentences (specifically $GPRMC or $ZDA), which contain the current UTC time and date that GPS's like UBLOX spits out, we could possibly have the entire mesh collectively share in NPT timekeeping by blasting these packets out once per day or so per node.

On the RX end, you could have the repeaters or whatever without access to GPS for timesync just cache the timecode messages they receive across a day's worth of RXing, then average them all, and toss outliers that differ too far from the average - that way one bad actor can't screw up the entire mesh with a node that broadcasts a bad timecode.

Just wondering if something like this would even be feasible? Like it'd be akin to a collective NPT timeserver system for the mesh. I guess your only weakness would be if GPS goes down, but then if GPS/Glonass/Beidu/Galileo are all down, it probably means WWIII just started, and we're getting EMPed anyway...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions