Rename project to OBDash + per-metric colored multi-axis

Rename: the app is vehicle-agnostic, so 'ford-obd' was wrong. Rebranded all
code/docs/profile authors to OBDash; Gitea repo renamed justin/ford-obd ->
justin/obdash (remote + description updated). Ford the make and the
ford-6.0-powerstroke profile are unchanged (that vehicle really is a Ford).

Multi-axis upgrade (per request):
- MultiAxisPlot now gives each METRIC its own Y axis, each axis colored to
  match its line; the primary metric owns the LEFT axis, others stack right.
- Click a line to promote it to the left axis (sigClicked -> set_primary).
- Cleaner teardown (no removeItem warnings); axis label no longer doubles the
  unit; Normalize round-trips.

Validated headless: colored per-metric axes, promote-to-left, gauge view,
normalize toggle, profile switch; obdcore + diagnostics tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016yT89n4zR4qbrySoSiEyZs
This commit is contained in:
2026-06-30 15:25:26 -04:00
parent e7e04b740e
commit 03223dfd6c
18 changed files with 129 additions and 73 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
# Vehicle Profiles
Each `*.json` file here is a **vehicle profile** — pure data that makes the
ford-obd app vehicle-agnostic. A profile defines a vehicle's PIDs (with safe
OBDash app vehicle-agnostic. A profile defines a vehicle's PIDs (with safe
scaling formulas), DTC meanings, and named presets. Load one in the app via
**Profile → Load**, or drop a new file in this folder and it appears in the list.
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Super Duty / Excursion",
"years": "2003-2007",
"engine": "6.0L Power Stroke diesel",
"author": "ford-obd project",
"author": "OBDash project",
"version": "1.1.0",
"protocol": "auto",
"notes": "PID addresses + scaling corrected/verified by the ford-60-pid-hunt workflow (2026-06-29) and on-truck reads (2026-06-30). confidence: verified = multi-source or read on a real 6.0; doc = corroborated in sources, not yet read on-vehicle; tentative = single-source / disputed scaling. ICP_DES (desired ICP) has no public Mode-22 DID -> FORScan-only, not included."
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Mustang SVT Cobra",
"years": "1996",
"engine": "4.6L DOHC 32-valve modular V8 (naturally aspirated, EEC-V, MAF-metered)",
"author": "ford-obd project",
"author": "OBDash project",
"version": "0.1.0",
"protocol": "SAE J1850 PWM",
"notes": "First OBD-II model year on early EEC-V; Ford SCP J1850 PWM at 41.6 kbps. MAF-based airflow (no MAP/speed-density). V8 with two banks: dual-bank fuel trims and pre/post-cat narrowband HO2S included. CAN-era PIDs (0142 module voltage, 0146 ambient, 0133 baro, 012F fuel level) not supported and omitted. No verifiable manufacturer-enhanced (mode 22) PIDs for this EEC-V SCP vehicle; generic ELM327 adapters widely reported to fail enhanced sessions on Ford SCP PWM. All reliable data is in the standard SAE J1979 mode-01 set. Validated: all formulas safe-evaluator-clean; fuel-trim vmax normalized to +-100."
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Mustang GT",
"years": "1996",
"engine": "4.6L SOHC 2-valve modular V8 (EEC-V, MAF-metered)",
"author": "ford-obd project",
"author": "OBDash project",
"version": "0.1.0",
"protocol": "SAE J1850 PWM",
"notes": "EEC-V PCM on SAE J1850 PWM (41.6 kbaud, OBD-II pins 2 & 10). MAF-metered V8 with dual exhaust: four heated O2 sensors (B1S1/B1S2/B2S1/B2S2) and two fuel-trim banks. Bank 1 = passenger side (cyl #1). Standard SAE J1979 Mode-01 backbone; no verifiable mode-22 enhanced PIDs published for this early EEC-V generation."
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Any OBD-II vehicle (1996+)",
"years": "1996+",
"engine": "any",
"author": "ford-obd project",
"author": "OBDash project",
"version": "1.0.0",
"protocol": "auto",
"notes": "Standard SAE J1979 Mode-01 PIDs only -- supported by essentially every OBD-II vehicle. Use as a base/starting point for a new vehicle profile, then add manufacturer-enhanced Mode-22 PIDs. Decodes are the SAE-standard formulas."
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Wrangler TJ",
"years": "1997",
"engine": "4.0L I6 (242 cu in)",
"author": "ford-obd project",
"author": "OBDash project",
"version": "0.1.0",
"protocol": "ISO 9141-2",
"notes": "Chrysler/Jeep OBD-II over ISO 9141-2 K-line (used by Chrysler/Jeep for generic OBD-II through the early 2000s, later replaced by ISO 15765 CAN; Chrysler never used J1850). Speed-density: MAP sensor, no MAF. Single bank (inline-6): fuel trim bank 1 only, two narrowband O2 sensors (B1S1 upstream, B1S2 post-cat). Generic Mode-01 only; no generic service-22 enhanced channel on this JTEC PCM (Chrysler enhanced data lives on the proprietary SCI bus)."
+1 -1
View File
@@ -6,7 +6,7 @@
"model": "Mountaineer",
"years": "2006",
"engine": "4.6L SOHC 3-valve Triton V8 (MAF-metered, AWD)",
"author": "ford-obd project",
"author": "OBDash project",
"version": "0.1.0",
"protocol": "SAE J1850 PWM",
"notes": "UN150 platform, badge-twin of the 4th-gen (2006-2010) Ford Explorer. Uses Ford SCP = SAE J1850 PWM (DLC pins 2 & 10, 41.6 kbps) for SAE J1979 diagnostics \u2014 ELM327 protocol 1. The MS-CAN on this platform is an internal body network (FORScan), not the generic emissions bus; ISO 15765 CAN only arrived for MY2008. MAF-metered, no MAP. Two banks, two narrowband HEGO O2 sensors per bank. No verifiable mode-22 enhanced PIDs for this pre-CAN J1850 PCM, so none included. Mode-01 0142 module voltage omitted (CAN-era PID); use BATT (ATRV)."