docs: record the dead-pad root cause and what it does not fix
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -274,12 +274,19 @@ is what the autopilot needs in order to CHOOSE a target. One run in:
|
||||
* 🔴 **The counter is not "hostiles left" either.** It held at `012` for fifteen
|
||||
minutes of **live** flight while the ADAN population fell 132 → 93. That is
|
||||
also why there is still no verification: no transition to filter on.
|
||||
* 🔴 **`pilot.py` never fires** — `fire=1` in 0 of 13 521 samples. **Proximal
|
||||
cause found** (2026-08-23): the committed target is *astern* in 100 % of
|
||||
samples (`|aim yaw|` exactly 90.0°, the `ez < 0` branch) and the range to it
|
||||
grows 22 km → 49 km — the craft flies away and the turn never completes. Which
|
||||
of stale attitude matrix / wrong axis / inverted stick sign is behind that is
|
||||
**still open**; one probe attempted it and was invalidated by a freeze.
|
||||
* ✅ **`pilot.py` never fires — ROOT CAUSE FIXED** (2026-08-23):
|
||||
`flight_probe.Pad` was writing to the **vgamepad FIFO**, dead since the uinput
|
||||
pad was replaced by `--hid=file`, so every axis, trigger and button from every
|
||||
flight tool went into a file nothing reads while `/tmp/xenia_pad.txt` stayed
|
||||
empty. The craft was never being flown. Verified: full stick went from `0.00°`
|
||||
of heading change to `12.72°`, and the attitude matrix from `d 0.0000` to
|
||||
`d 0.4438` — which also **refutes** the "stale attitude matrix" suspicion.
|
||||
🟡 **Still open:** the pilot *still* fires 0 times in 150 s with the input
|
||||
working, `|aim yaw|` still exactly 90.0° and the target 36–43 km off. Left to
|
||||
test — now that it is testable — the yaw stick's **sign** against the pilot's
|
||||
error convention, and target selection committing to something too far to
|
||||
close. ⚠️ `findrot_global.py`, `findself.py`, `findspeed.py`, `selfstate.py`
|
||||
still write to the dead FIFO; flagged in place, not repaired.
|
||||
See [`pilot-never-fires.md`](pilot-never-fires.md).
|
||||
* 🔴 **An in-mission freeze — the item in front of everything else.** Reproduced
|
||||
with the Kernel channel on. 🔴 The resume-spin lead is **refuted by its own
|
||||
|
||||
Reference in New Issue
Block a user