Skip to content

First-flight hardware arc: relay's v1.117–v1.122 infrastructure ladder — seam coordination + what relay needs from jess #144

Description

@avrabe

Context

The vehicle hardware is ORDERED (2026-07): Pixhawk 6X-RT (i.MX RT1176) + Holybro X500 V2 ARF, 2× M9N GNSS, Benewake TF02 Pro LiDAR (UART/I2C), SiK 433 MHz V3 telemetry, 4S 5000 mAh via PM02D. relay has planned the software-infrastructure ladder against it (relay PR #263, FEAT-FALCON-first-flight-hw, requirements SYSREQ-FALCON-021 + SWREQ-FALCON-{PARAM-P03, CALIB-P02, LOG-P02/P03, MAVLINK-P06, BATTERY-P02, GNSS-P02, RANGEDRV-P01, NOTCH-P01, PREARM-P03}). This issue is the scope-sync per the standing split (jess#62 ↔ relay#214): relay owns everything above the peripheral seam; jess owns OS + silicon integration.

What relay's ladder needs from jess, per release (mock-backend-verified until then)

relay release relay requirement needs from jess (6X-RT)
v1.117 PARAM-P03 param persistence (keystone) + CALIB-P02 NVM seam: flash/FRAM read-write-commit binding (relay ships the verified record codec + wear-aware commit protocol behind a trait)
v1.118 LOG-P02 blackbox + LOG-P03 replay Bulk storage seam: SD/flash streaming writes, power-loss truncation semantics
v1.119 MAVLINK-P06 telemetry + tuning UART binding for the SiK radio (57.6k, flow control behavior)
v1.120 BATTERY-P02 current/mAh/sag ADC/I2C binding for PM02D (voltage + current channels, sample timing)
v1.121 GNSS-P02 dual-M9N + RANGEDRV-P01 TF02 Pro 2× UART (GPS1/GPS2 ports) + 1× UART or I2C for the TF02 Pro
v1.122 NOTCH-P01 RPM-notch + PREARM-P03 ESC telemetry path (bidir-DShot eRPM or DroneCAN esc.Status — which does jess plan for the X500's stock ESCs?)
(jess-owned outright) RTOS/scheduler, hardware watchdog, bootloader/firmware update, board bring-up

Questions for jess (please answer here or counter-propose)

  1. Seam contracts: are the existing embedded-hal-async trait seams (the IMU/baromag pattern proven in relay v1.85) the right shape for the NVM + bulk-storage seams, or do you want a different contract for flash (page/erase semantics leak through)?
  2. Ordering: relay's ladder assumes NVM (v1.117) before bulk logging (v1.118). Does jess's bring-up order on the 6X-RT match (param flash before SD), or should relay swap?
  3. ESC telemetry decision (drives NOTCH-P01 + strengthens the rotor-out FDI): bidir-DShot vs DroneCAN ESCs on the X500 V2 — jess's call, relay supports both decode paths (falcon-esc-dshot exists; DroneCAN esc.Status decode exists).
  4. HIL: when the board arrives, relay's HITL protocol needs a real transport (UART/USB) instead of loopback — is that jess scope (binding) with relay providing the framing, per the usual split?
  5. Anything in the ladder that should move ACROSS the seam in either direction — flag it now while it's all proposed.

relay artifacts are the source of truth for the software side (rivet release status falcon-v1.11x.0 per release); please mirror jess-side items in jess's rivet so the joint trace closes.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions