Skip to content

Send RTC time and DVR recording name from the TX backpack to the goggles#230

Closed
bob9 wants to merge 2 commits into
ExpressLRS:masterfrom
bob9:rtc-sync-dvr-name
Closed

Send RTC time and DVR recording name from the TX backpack to the goggles#230
bob9 wants to merge 2 commits into
ExpressLRS:masterfrom
bob9:rtc-sync-dvr-name

Conversation

@bob9

@bob9 bob9 commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Two additions to the backpack ESP-NOW/MSP protocol, aimed at HDZero goggles but implemented via the standard module-dispatch pattern so other VRX modules can adopt them later:

RTC time sync (MSP_ELRS_BACKPACK_SET_RTC, 0x030E — existing opcode, new transport)

  • The TX backpack seeds its local clock when it receives SET_RTC on its serial port (in addition to the existing WiFi NTP path).
  • When the VRX backpack requests its startup packet (MSP_ELRS_REQU_VTX_PKT), the TX backpack replies with the current time over ESP-NOW — only when its clock has actually been set, and only on request (no periodic resync).
  • The VRX backpack sets its own system clock from the packet and forwards the time to the goggles over serial, reusing the existing SetRTC() path that previously only ran during WiFi NTP sync. On modules without an RTC serial protocol this is a no-op via the ModuleBase stub.

This gives HDZero goggles a correct clock (DVR file timestamps) without the pilot ever opening the backpack WiFi page.

DVR recording name (MSP_ELRS_BACKPACK_SET_DVR_NAME, 0x030F — new opcode)

  • Carries a race label the goggles use to name the next DVR recording.
  • The VRX backpack forwards it verbatim over the goggle serial link via a new MSPModuleBase::ForwardPacket; a no-op on non-MSP backpack modules.

Notes

  • No changes to existing message handling; both features are additive and ignored by devices that don't implement them.
  • ModuleBase::SetRTC/ForwardPacket follow the same empty-stub dispatch pattern as SetOSD/SetRecordingState.

bob9 added 2 commits July 14, 2026 20:39
The TX backpack sends MSP_ELRS_BACKPACK_SET_RTC via ESP-NOW when the VRX
backpack requests its startup packet, whenever its local clock has been
set (via WiFi NTP or a SET_RTC message on its serial port, which now also
seeds the local clock).

The VRX backpack handles SET_RTC from ESP-NOW by setting its system clock
and forwarding the time to the goggles (e.g. HDZero) over serial, reusing
the existing SetRTC path that previously only ran during WiFi NTP sync.
New 0x030F message carries a race label the goggles use to name the next
DVR recording (see hdzero-goggle dvr-race-names). The VRX backpack passes
it through verbatim over the goggle serial link via a new
MSPModuleBase::ForwardPacket; a no-op on non-MSP backpack modules.
@bob9

bob9 commented Jul 14, 2026

Copy link
Copy Markdown
Author

Split into #231 (RTC time sync) and #232 (DVR recording name) for independent review.

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