handoff: catch up to verified PID set + --crank/--dash modes

Replaces the "PIDs are TENTATIVE" framing with pointers to the verified
Ford 6.0 PID table and pid-research.md.  Updates the "resume" section
to make --crank the top action at the truck, with --pid probes for the
09xx FICM family that was outside the original brute-scan window.
Open-follow-ups condensed to the live items from pid-research §5.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 11:40:57 -04:00
parent a9b2e133c0
commit 899a82e596
+56 -36
View File
@@ -15,17 +15,27 @@ Pick-up notes for diagnosing the truck in the cab. Repo: `git.jpaul.io/justin/fo
- Working **baud: 38400** (default in the tool). If you get garbage, try `9600`. - Working **baud: 38400** (default in the tool). If you get garbage, try `9600`.
- It's an `AT@2 = ?` clone (no stored serial) — normal, works fine for generic OBD-II. - It's an `AT@2 = ?` clone (no stored serial) — normal, works fine for generic OBD-II.
## What the tool does / doesn't ## What the tool does
- DOES: read stored/pending/permanent codes, decode them (6.0 codes flagged as - **DTCs**: stored / pending / permanent (modes 03/07/0A), with 6.0-relevant
no-start suspects), clear codes (`--clear`), show battery voltage + key live PIDs. codes flagged as no-start suspects. `--clear` erases (mode 04).
- EXPERIMENTAL (`--ford`): tries a small table of community-sourced Ford 6.0 - **Generic live PIDs**: RPM, ECT, IAT, MAP, engine load, module voltage, ATRV.
Mode-22 PIDs (ICP, IPR%, FICM main/sync/logic V, EBP, EOT). **PID numbers and - **`--ford`**: Mode-22 read of the **VERIFIED** Ford 6.0 PID set — ICP, EBP,
scaling are TENTATIVE** — raw bytes are always printed; cross-check against a MAP, BARO, MGP (boost), EOT, gear, TSS, plus the documented FICM trio
meter or FORScan before trusting a value. (`09D0` Main, `09CF` Logic, `09CE` Vehicle V) and `09CD` Sync. Full PID
- `--pid XXXX`: one-shot probe of any 16-bit Mode-22 PID; prints raw bytes plus research + sources in
a few common decodings so you can eyeball the right scaling. [diagnostics/2026-06-29-no-start/pid-research.md](diagnostics/2026-06-29-no-start/pid-research.md).
- DOESN'T (yet): a verified Ford-enhanced PID set the way FORScan has. We're - **`--crank`**: dedicated cranking monitor — large ICP readout + trace of ICP,
building toward that — see follow-ups below. FICM Main, battery, RPM. **This is the no-start mode.**
- **`--dash`**: real-time gauge dashboard. Presets: `--dash crank` (cranking),
`--dash full` (everything). Add `--dash-log run.csv` to capture a CSV trace.
- **`--pid XXXX`**: one-shot probe of any 16-bit Mode-22 PID; prints raw bytes
plus a few candidate decodings.
- **`--scan AAAA-BBBB`** (with optional `--scan-log PATH`): brute-force a PID
range. Use for hunting new PIDs.
What still needs FORScan: **desired ICP** (`ICP_DES`) and a labeled FICM-Sync
yes/no gauge — neither has a published Mode-22 DID. Everything else for
no-start diagnosis is reachable through this tool now.
## 6.0 no-start priority checklist (from the triage) ## 6.0 no-start priority checklist (from the triage)
The 6.0 needs, to fire: **good batteries → FICM ~48V → ICP ~500 psi → fuel → cam/crank signal.** The 6.0 needs, to fire: **good batteries → FICM ~48V → ICP ~500 psi → fuel → cam/crank signal.**
@@ -55,35 +65,45 @@ The 6.0 needs, to fire: **good batteries → FICM ~48V → ICP ~500 psi → fuel
time** and runs/idles fine until shut off — then needs ether again. That time** and runs/idles fine until shut off — then needs ether again. That
signature ⇒ **high-pressure oil (ICP) bleed-off during cranking** — STC signature ⇒ **high-pressure oil (ICP) bleed-off during cranking** — STC
fitting / oil rail O-rings / HPOP-related. Compression, FICM, CMP/CKP, fitting / oil rail O-rings / HPOP-related. Compression, FICM, CMP/CKP,
fuel supply all confirmed good. Next: visual under valve covers + STC fuel supply all confirmed good.
fitting inspection. - **2026-06-30 desktop session:** multi-agent PID research workflow corrected
- Pushed to `git.jpaul.io/justin/ford-obd`, branch `main`. Files: `obd_reader.py`, the Mode-22 table — the original 12xx guesses were wrong addresses, not a
`RUN_OBD.bat`, `README.md`, `README.txt`, `handoff.md`, `diagnostics/`. bus problem. Verified PID set now in `obd_reader.py`; reasoning + sources
in [pid-research.md](diagnostics/2026-06-29-no-start/pid-research.md).
Added `--dash` (real-time gauges) and `--crank` (no-start monitor).
- Pushed to `git.jpaul.io/justin/ford-obd`, branch `main`.
## To resume with Claude from the cab ## To resume with Claude from the cab
Mention: "6.0 Power Stroke no-start, using the ford-obd tool (git.jpaul.io/justin/ford-obd)". Mention: "6.0 Power Stroke no-start, using the ford-obd tool (git.jpaul.io/justin/ford-obd)".
Then **paste the tool's full output** (codes + live values). Useful to also say: cranks vs. Then **paste the tool's full output** (codes + live values). Useful to also say: cranks vs.
no-crank, hot vs. cold, what changed before it died, and FICM/ICP readings if you metered them. no-crank, hot vs. cold, what changed before it died, and FICM/ICP readings if you metered them.
## To resume from the desktop (after the 2026-06-29 session) ## To resume at the truck (2026-06-30 state)
Read [diagnostics/2026-06-29-no-start/README.md](diagnostics/2026-06-29-no-start/README.md)
first — that's the full state. Top open items, in order:
1. **Visual under valve covers + STC fitting** — looking for the high-pressure
oil bleed source. That's where the diagnosis lands.
2. Re-probe the clean scan hits (`1310`, `1440-1451`, `11Bx`) with `--pid XXXX`
for uncontaminated data; map them to known engine conditions to identify
ICP / IPR.
3. FORScan via the CyanLabs mirror once available — ICP and IPR live data
would confirm a high-pressure leak in seconds.
## Open follow-ups (when off the truck) The diagnosis stands: high-pressure oil (ICP) bleeds off during cranking;
- FORScan from the CyanLabs mirror once forscan.org is back — useful as the HPOP outruns the leak once running. The toolchain can now confirm this
ground truth for verifying our Mode-22 PID table. directly from the OBD port. Top actions, in order:
- **Verify** every entry in `FORD_60_PIDS` (obd_reader.py) against either a
meter reading or FORScan, one at a time. As each is confirmed, drop the 1. **`python obd_reader.py --crank`** during a short crank. A healthy 6.0
"TENTATIVE" warning for that row. builds ~500+ psi ICP in 12 seconds. If ours stalls below 500 psi or
- **Option 3**: brute-force scan of the Mode-22 PID space (e.g. `0x1000`- builds very slowly, that confirms the bleed-off and is the smoking gun.
`0x14FF`) and log which PIDs return data, so we can fingerprint what this 2. **Probe the FICM PIDs that were outside the scan window** to validate
PCM exposes without external references. Hook it in as `--scan`. the documented `09xx` family on this truck:
- Add `--watch` mode that streams ATRV + PID 0142 (and the FICM PIDs once - `python obd_reader.py --pid 09D0` (FICM Main, expect ~48V)
verified) at ~5 Hz so we can watch the voltage sag during cranking. - `--pid 09CF` (Logic, ~12V), `--pid 09CE` (Vehicle V), `--pid 09CD` (Sync)
3. **Visual under the valve covers + STC fitting** — the likely physical
source of the leak. STC fitting is the #1 6.0 culprit for this pattern.
4. **Widen the brute scan** to round out the verified set —
`python obd_reader.py --scan 0900-09FF --scan-log scan-09xx.txt` and
`--scan 1600-16FF --scan-log scan-16xx.txt`.
## Open follow-ups
Detailed action list lives in
[pid-research.md §5](diagnostics/2026-06-29-no-start/pid-research.md). Highlights:
- Validate the documented-but-untested PIDs (`09D0/09CF/09CE/09CD`, `16AD`,
`1434`, `1172`, `1672`, `096D`, `099F`) by reading them on-vehicle.
- Sanity-check IPR (`1434`) against expected ranges: KOEO ~1415 %,
cranking ~3040 %, warm idle ~2530 %.
- Calibrate `16C1` fuel-level scaling per-truck (published divisors misread).
- FORScan via CyanLabs mirror — only path to `ICP_DES` and a labeled FICM
Sync gauge.