Mark device-flag confidence honestly (SAI confirmed, O2 probable)

The NO-SAI-NO-O2 reference map bundles SAI + O2 + airbox deletes, so it validates
the three flag bytes as a GROUP but doesn't isolate O2 individually; no single-mod
map exists and the x.a() device-layout branch for this ECU is too nested to trace.

- SAI @ 0x53801: confirmed (code lc() -> Devices[0] via fe[33], + the delete map).
- O2 @ 0x53818/0x53819: probable (2 O2 sensors declared off <-> 2 adjacent bytes
  cleared; 865 has no air-flap so airbox removal is fuel-only).

Viewer now shows confirmed/probable badges and a warning that flags alone are not
a tune: O2 delete forces open-loop and needs fuel enrichment, so prefer flashing a
complete matching delete map over hand-toggling a stock one. See DEVICES.md.
This commit is contained in:
2026-08-11 08:16:22 -05:00
parent eaa804fc35
commit 80c9373ded
4 changed files with 53 additions and 19 deletions

View File

@@ -45,8 +45,24 @@ checksum is computed at flash time and is out of scope for the read/edit tool.)
## Confidence
- Flag **locations** (0x53801 / 0x53818 / 0x53819) and semantics (1/0): **validated**
against a real NO-SAI-NO-O2 map.
- SAI-vs-O2 **labeling** of the three bytes: strong (order + delete semantics);
final SAI-only-vs-O2-only separation would need a single-delete reference map or
a DTC/bench check.
- **SAI = 0x53801: ~90% (high).** Two independent confirmations: the device-name
logic in `l.java` `lc()` resolves `Devices[0]=SAI` via `fe[33]` to exactly
0x53801, AND the real NO-SAI map cleared precisely that byte.
- **O2 sensors = 0x53818 / 0x53819: ~80% (probable).** The map declares "NO O²
SENSORS" (the twin has two) and exactly two adjacent boolean bytes cleared
beyond SAI; the 865 has no air-flap, so airbox removal is fuel-only (no flag).
Not independently isolated — no single-mod reference map exists, and the exact
`x.a()` device-layout branch for this ECU (i27=72) is too deeply nested to
trace reliably.
## The real-world caveat (more important than the labels)
Correct flags are **not** a good tune by themselves. Disabling O2 forces the ECU
**open-loop**: it stops live fuel trim and runs entirely on the base fuel map.
Stock maps assume closed-loop trim at idle/cruise, so an O2-delete on an otherwise
stock map can run lean/rough. A proper delete pairs flags-off with fuel enrichment
(which is exactly why the AIRBOXBONNY reference map also changed the fuel tables).
**Recommendation:** flash a complete, known-good delete map matching the hardware
(exhaust/filters), not hand-toggled flags on a stock map. The checkbox editor is
for understanding/building a map, not a one-click safe delete.