mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 09:51:13 +00:00
47ad43f913
Phase 1: extend sitl_observer with cursor-based `wait_for_outbound` returning `OutboundMessage` from `outbound_messages_<fc_kind>_<host>.json` fixtures. Three outcomes: message, TimeoutError (null entries), or RuntimeError (missing/malformed). Fix FT-P-01 + FT-P-05 scenarios to use `fc_kind=` kwarg. Phase 2: FT-P-01 vertical-slice fixture builder under `e2e/fixtures/sitl_replay_builder/`. Reuses the production `gps-denied-replay` CLI + `ReplayInputAdapter`: encode 60 stills as 1 fps MP4 + synthetic stationary tlog (pymavlink); run replay; project FDR outbound estimates into the schema. Avoids the 13+ cp of SUT-side frame-ingestion that a live-SITL-capture path would have required. Live execution remains a manual operator step. +35 unit tests (664 total, up from 637). K=3 cumulative review for b76-b78 documents the offline-replay arc convergence. Co-authored-by: Cursor <cursoragent@cursor.com>
21 lines
1002 B
Python
21 lines
1002 B
Python
"""SITL replay fixture builder (AZ-598).
|
|
|
|
Vertical-slice tooling that produces the `outbound_messages_<fc_kind>_<host>.json`
|
|
+ `observer_<fc_kind>_<host>.json` fixtures consumed by the b75 sitl_observer
|
|
in offline FDR-replay mode.
|
|
|
|
Strategy: reuse the production `gps-denied-replay` CLI + `ReplayInputAdapter`
|
|
to drive the SUT pipeline against a 1 fps MP4 encoded from the FT-P-01 still
|
|
image set and a synthetic stationary tlog. Read the resulting FDR JSONL and
|
|
project each per-frame outbound estimate into the fixture schema. This avoids
|
|
building new SUT-side frame ingestion infrastructure.
|
|
|
|
Only the FT-P-01 still-image variant is supported in this batch; FT-P-02 etc.
|
|
will land as follow-up tickets.
|
|
|
|
Public symbols live on the submodule `build_p01_fixtures`; we deliberately
|
|
do NOT re-export them on the package namespace because the function and
|
|
the submodule share the name `build_p01_fixtures` and the function would
|
|
shadow the submodule for `import …build_p01_fixtures as bp` callers.
|
|
"""
|