Skip to content

Post-v1.0: GridFPV native timer-server (reuse RH node firmware, strip the RMS) #238

Description

@ryan-johnson2

Two-tier timer strategy. GridFPV today depends on RotorHazard as both the timer and the race-management system (RMS). RH only streams scalar RSSI aggregates on the wire — the dense per-tick signal history needs a post-race pull — and we do not control that wire protocol. This issue tracks the post-v1.0 path to owning the server half of the stack.

Tier 1 (now, non-negotiable) — RH adapter stays primary

The RotorHazard adapter remains the primary timer path. It works with any existing RH install at zero friction — that is the adoption path. We never gate GridFPV on a GridFPV timer. This tier is not replaced by Tier 2; it is the floor.

Tier 2 (post-v1.0.0) — GridFPV native timer-server

A lightweight, fully remote-controlled GridFPV timer-server running on the same Pi + RX5808 hardware:

  • Reuse the RH node firmware — the proven RX5808 driver plus node-level RSSI crossing detection (hysteresis / calibration / start-of-race tuning). RH's real moat is the detection, not the radio driver; reuse the node firmware rather than re-earning it.
  • Strip the RH RMS — replace only the server / RMS layer with GridFPV's. Same hardware, software swap.
  • Owning the server gives us the dense signal natively (no post-race pull), which solves the marshaling fidelity gap and enables full re-detection marshaling (the deferred RH-style recalculate).
  • The mock-timer protocol is the first draft of this server's wire protocol.

Sequencing

Sequence after the core RMS + marshaling are proven. This is post-v1.0.0, not a near-term dependency — Tier 1 (the RH adapter) carries us until then.

See decision D15 in docs/decisions.html, the Post-1.0 note in docs/roadmap.html, and docs/timer-adapters.html.

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