From d893ff383a840ea3a37f67105546c2809e7e4d73 Mon Sep 17 00:00:00 2001 From: Justin Paul Date: Tue, 30 Jun 2026 15:52:49 -0400 Subject: [PATCH] Gauge redline zones + C/F units toggle + cleaner dials Gauges: - Optional per-metric warning zones (warn_hi/redline_hi/warn_lo/redline_lo) in the profile schema; gauges draw colored redline/warn bands and color the needle + readout by zone. Default neutral when unset (no false redline). - Removed the value progress-arc fill (it dominated the dial / looked wrong) -> clean tach face: bezel, ticks, numeric scale, needle, redline band, readout. - Auto-derivation rejected: bad direction/threshold vary per metric, so zones are config (with a sensible neutral default). Units: - New Units menu: Temperature C / F. Converts gauges, graph, table, and PID browser (values, scale, zones, unit labels) at display time; data stays C. Ford 6.0 profile: zones for ICP (red<500), FICM (red<40/amber40-48/green48+), ECT/EOT (high redline), RPM (redline 3800), boost, battery; tightened FICM (38-52) and battery (9-15) ranges so redline bands land sensibly. Docs: profiles/PROFILE_SPEC.md -- canonical, AI-agent-ready profile spec (schema, formula language, zones, confidence, rules); README points to it. Validated headless: zones parse/classify, F conversion (112C->233.6F, zones converted), gauges render; obdcore + diagnostics tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_016yT89n4zR4qbrySoSiEyZs --- docs/gui-gauge-zones.png | Bin 0 -> 184624 bytes gui/main.py | 70 +++++++++-- gui/widgets.py | 63 +++++++--- obdcore/profile.py | 5 + obdcore/registry.py | 20 ++++ profiles/PROFILE_SPEC.md | 179 +++++++++++++++++++++++++++++ profiles/README.md | 5 + profiles/ford-6.0-powerstroke.json | 16 +-- 8 files changed, 326 insertions(+), 32 deletions(-) create mode 100644 docs/gui-gauge-zones.png create mode 100644 profiles/PROFILE_SPEC.md diff --git a/docs/gui-gauge-zones.png b/docs/gui-gauge-zones.png new file mode 100644 index 0000000000000000000000000000000000000000..9251cad0e02cca4da2c3b3e17e51dc93a0ff58a5 GIT binary patch literal 184624 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%0Du;DPylfVd%t-S1PkUh? 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¨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

O`N5ZX>dFSu^>+#&H`xU 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 literal 0 HcmV?d00001 diff --git a/gui/main.py b/gui/main.py index 8b3b021..b46540e 100644 --- a/gui/main.py +++ b/gui/main.py @@ -42,6 +42,7 @@ class MainWindow(QtWidgets.QMainWindow): self.curves = {} self._color_i = 0 self._theme = "dark" + self._temp_f = False # display temperatures in F instead of C self._build_menubar() self._build_connection_bar() @@ -97,6 +98,15 @@ class MainWindow(QtWidgets.QMainWindow): viewm.addSeparator() self.theme_act = self._act(viewm, "Light Theme", self._toggle_theme, checkable=True) + unitsm = mb.addMenu("&Units") + self._temp_grp = QtGui.QActionGroup(self); self._temp_grp.setExclusive(True) + self.temp_c_act = self._act(unitsm, "Temperature: °C", lambda: self._set_temp(False), + checkable=True) + self.temp_f_act = self._act(unitsm, "Temperature: °F", lambda: self._set_temp(True), + checkable=True) + self._temp_grp.addAction(self.temp_c_act); self._temp_grp.addAction(self.temp_f_act) + self.temp_c_act.setChecked(True) + helpm = mb.addMenu("&Help") self._act(helpm, "About OBDash", self._about) self._act(helpm, "PID Confidence Legend", self._legend) @@ -525,7 +535,7 @@ class MainWindow(QtWidgets.QMainWindow): p = self.ctl.reg.get(key) color = CURVE_COLORS[self._color_i % len(CURVE_COLORS)]; self._color_i += 1 self.curves[key] = color # curves maps key -> color - self._graph().add_curve(key, f"{p.name} ({p.unit})", p.unit, color) + self._graph().add_curve(key, f"{p.name} ({self._dunit(p)})", self._dunit(p), color) self._refresh_gauges() def _remove_curve(self, key): @@ -543,15 +553,51 @@ class MainWindow(QtWidgets.QMainWindow): active = self._graph() for key, color in self.curves.items(): p = self.ctl.reg.get(key) - active.add_curve(key, f"{p.name} ({p.unit})", p.unit, color) + active.add_curve(key, f"{p.name} ({self._dunit(p)})", self._dunit(p), color) self._apply_theme() self._redraw_curves(static=not self.ctl.connected) + # ---------- display units (C / F) ---------- + def _is_temp(self, p): + return p.unit == "C" + + def _dval(self, p, v): + if v is None: + return None + return v * 9 / 5 + 32 if (self._temp_f and self._is_temp(p)) else v + + def _dunit(self, p): + return "F" if (self._temp_f and self._is_temp(p)) else p.unit + + def _dzones(self, p): + z = {"warn_hi": p.warn_hi, "redline_hi": p.redline_hi, + "warn_lo": p.warn_lo, "redline_lo": p.redline_lo} + if self._temp_f and self._is_temp(p): + z = {k: (None if x is None else x * 9 / 5 + 32) for k, x in z.items()} + return z + + def _set_temp(self, to_f): + if to_f == self._temp_f: + return + self._temp_f = to_f + # graph: relabel + rescale by rebuilding curves on the active widget + self.multi.clear(); self.single.clear() + active = self._graph() + for key, color in self.curves.items(): + p = self.ctl.reg.get(key) + active.add_curve(key, f"{p.name} ({self._dunit(p)})", self._dunit(p), color) + for key, r in getattr(self, "_table_row", {}).items(): + self.table.item(r, 2).setText(self._dunit(self.ctl.reg.get(key))) + self._refresh_gauges() + if self.ctl.connected: + self._tick() + def _refresh_gauges(self): specs = [] for key, color in self.curves.items(): p = self.ctl.reg.get(key) - specs.append((key, p.name, p.unit, p.vmin, p.vmax, color)) + specs.append((key, p.name, self._dunit(p), self._dval(p, p.vmin), + self._dval(p, p.vmax), color, self._dzones(p))) self.gauges.rebuild(specs) # ---------- view ---------- @@ -584,7 +630,7 @@ class MainWindow(QtWidgets.QMainWindow): self._table_row[p.key] = r self.table.setItem(r, 0, QtWidgets.QTableWidgetItem(p.name)) self.table.setItem(r, 1, QtWidgets.QTableWidgetItem("--")) - self.table.setItem(r, 2, QtWidgets.QTableWidgetItem(p.unit)) + self.table.setItem(r, 2, QtWidgets.QTableWidgetItem(self._dunit(p))) self.table.setItem(r, 3, QtWidgets.QTableWidgetItem("--")) self.table.setItem(r, 4, QtWidgets.QTableWidgetItem("--")) self.table.setItem(r, 5, QtWidgets.QTableWidgetItem(p.confidence)) @@ -674,7 +720,7 @@ class MainWindow(QtWidgets.QMainWindow): if normalize and p.vmax != p.vmin: ys.append((v - p.vmin) / (p.vmax - p.vmin) * 100.0) else: - ys.append(v) + ys.append(self._dval(p, v)) active.set_data(key, xs, ys) if normalize: self.single.set_y_label("% of range") @@ -686,19 +732,23 @@ class MainWindow(QtWidgets.QMainWindow): for key, it in self._items.items(): v = self.ctl.store.latest(key) p = self.ctl.reg.get(key) - txt = "--" if v is None else f"{v:g} {p.unit}".strip() + dv = self._dval(p, v) + txt = "--" if dv is None else f"{dv:g} {self._dunit(p)}".strip() it.setText(1, txt) if key in self._table_row: r = self._table_row[key] lo, hi = self.ctl.store.minmax(key) - self.table.item(r, 1).setText("--" if v is None else f"{v:g}") - self.table.item(r, 3).setText("--" if lo is None else f"{lo:g}") - self.table.item(r, 4).setText("--" if hi is None else f"{hi:g}") + dlo, dhi = self._dval(p, lo), self._dval(p, hi) + self.table.item(r, 1).setText("--" if dv is None else f"{dv:g}") + self.table.item(r, 3).setText("--" if dlo is None else f"{dlo:g}") + self.table.item(r, 4).setText("--" if dhi is None else f"{dhi:g}") self.tree.blockSignals(False) if self.stack.currentIndex() == 2: # gauge view for key in self.curves: + p = self.ctl.reg.get(key) lo, hi = self.ctl.store.minmax(key) - self.gauges.set_value(key, self.ctl.store.latest(key), peak=hi) + self.gauges.set_value(key, self._dval(p, self.ctl.store.latest(key)), + peak=self._dval(p, hi)) else: self._redraw_curves() diff --git a/gui/widgets.py b/gui/widgets.py index 3f6bde1..9fb4bfd 100644 --- a/gui/widgets.py +++ b/gui/widgets.py @@ -203,13 +203,20 @@ class ArcGauge(QtWidgets.QWidget): """A 270-degree arc gauge for a single signal: filled arc to the current value, peak tick, big numeric readout, name + unit.""" - def __init__(self, name, unit, vmin, vmax, accent="#3cb44b"): + _AMBER = "#e6a23c" + _RED = "#e6194B" + _NEEDLE = {"ok": "#e8e8e8", "warn": _AMBER, "crit": _RED} + + def __init__(self, name, unit, vmin, vmax, accent="#3cb44b", zones=None): super().__init__() self.name = name self.unit = unit self.vmin = float(vmin) self.vmax = float(vmax) if vmax != vmin else float(vmin) + 1.0 self.accent = QtGui.QColor(accent) + z = zones or {} + self.warn_hi = z.get("warn_hi"); self.redline_hi = z.get("redline_hi") + self.warn_lo = z.get("warn_lo"); self.redline_lo = z.get("redline_lo") self.value = None self.peak = None self.setMinimumSize(172, 176) @@ -222,6 +229,19 @@ class ArcGauge(QtWidgets.QWidget): def _frac(self, v): return max(0.0, min(1.0, (v - self.vmin) / (self.vmax - self.vmin))) + def _zone(self, v): + if v is None: + return "ok" + if self.redline_hi is not None and v >= self.redline_hi: + return "crit" + if self.redline_lo is not None and v <= self.redline_lo: + return "crit" + if self.warn_hi is not None and v >= self.warn_hi: + return "warn" + if self.warn_lo is not None and v <= self.warn_lo: + return "warn" + return "ok" + # gauge geometry: a 270-degree dial, gap at the bottom (like a tach) _START = 225.0 # value=min angle (math degrees, 0=3 o'clock, CCW+) _SWEEP = 270.0 # clockwise as value rises @@ -248,14 +268,26 @@ class ArcGauge(QtWidgets.QWidget): p.setBrush(QtGui.QColor("#0c0c0c")) p.drawEllipse(QtCore.QPointF(cx, cy), R, R) - # value progress arc just inside the rim - rimrect = QtCore.QRectF(cx - R + 7, cy - R + 7, 2 * (R - 7), 2 * (R - 7)) - if self.value is not None: - pen = QtGui.QPen(QtGui.QColor(self.accent), 4) + # warning / redline zone bands on the outer ring (like a tach redline) + ringrect = QtCore.QRectF(cx - R + 3, cy - R + 3, 2 * (R - 3), 2 * (R - 3)) + + def band(fa, fb, color): + sa = self._ang(fa); span = self._ang(fb) - self._ang(fa) + pen = QtGui.QPen(QtGui.QColor(color), 4) pen.setCapStyle(QtCore.Qt.FlatCap) p.setPen(pen) - p.drawArc(rimrect, int(self._START * 16), - int(-self._SWEEP * self._frac(self.value) * 16)) + p.drawArc(ringrect, int(sa * 16), int(span * 16)) + + if self.redline_hi is not None: + band(self._frac(self.redline_hi), 1.0, self._RED) + if self.warn_hi is not None: + top = self._frac(self.redline_hi) if self.redline_hi is not None else 1.0 + band(self._frac(self.warn_hi), top, self._AMBER) + if self.redline_lo is not None: + band(0.0, self._frac(self.redline_lo), self._RED) + if self.warn_lo is not None: + bot = self._frac(self.redline_lo) if self.redline_lo is not None else 0.0 + band(bot, self._frac(self.warn_lo), self._AMBER) # tick marks + numeric scale majors = 6 @@ -282,7 +314,8 @@ class ArcGauge(QtWidgets.QWidget): p.setPen(QtGui.QPen(QtGui.QColor("#e6c84b"), 2)) p.drawLine(pt(a, R - 3), pt(a, R - 14)) - # needle + zcol = QtGui.QColor(self._NEEDLE[self._zone(self.value)]) + # needle (colored by zone: white=ok, amber=warn, red=redline) if self.value is not None: a = self._ang(self._frac(self.value)) tip = pt(a, R - 16) @@ -293,14 +326,14 @@ class ArcGauge(QtWidgets.QWidget): path.moveTo(b1); path.lineTo(tip); path.lineTo(b2); path.lineTo(tail) path.closeSubpath() p.setPen(QtCore.Qt.NoPen) - p.setBrush(QtGui.QColor("#e6194B")) + p.setBrush(zcol) p.drawPath(path) # hub p.setBrush(QtGui.QColor("#999")); p.setPen(QtCore.Qt.NoPen) p.drawEllipse(QtCore.QPointF(cx, cy), 5, 5) - # digital readout (lower face) - p.setPen(QtGui.QColor("#fff")) + # digital readout (lower face) -- colored by zone + p.setPen(zcol) fnt.setPointSize(13); fnt.setBold(True); p.setFont(fnt) val = "--" if self.value is None else f"{self.value:g}" p.drawText(QtCore.QRectF(cx - 55, cy + R * 0.30, 110, 22), @@ -328,15 +361,17 @@ class GaugeGrid(QtWidgets.QScrollArea): self._cols = 4 def rebuild(self, specs): - """specs: list of (key, name, unit, vmin, vmax, accent).""" + """specs: list of (key, name, unit, vmin, vmax, accent, zones).""" while self._grid.count(): item = self._grid.takeAt(0) wdg = item.widget() if wdg: wdg.deleteLater() self._gauges = {} - for i, (key, name, unit, vmin, vmax, accent) in enumerate(specs): - g = ArcGauge(name, unit, vmin, vmax, accent) + for i, spec in enumerate(specs): + key, name, unit, vmin, vmax, accent = spec[:6] + zones = spec[6] if len(spec) > 6 else None + g = ArcGauge(name, unit, vmin, vmax, accent, zones) self._gauges[key] = g self._grid.addWidget(g, i // self._cols, i % self._cols) diff --git a/obdcore/profile.py b/obdcore/profile.py index f6f3d85..cacc276 100644 --- a/obdcore/profile.py +++ b/obdcore/profile.py @@ -80,6 +80,8 @@ def _pid_from_dict(d): vmin=d.get("vmin", 0.0), vmax=d.get("vmax", 100.0), confidence=d.get("confidence", "verified"), round=d.get("round"), deps=tuple(d.get("deps", ())), notes=d.get("notes", ""), + warn_hi=d.get("warn_hi"), redline_hi=d.get("redline_hi"), + warn_lo=d.get("warn_lo"), redline_lo=d.get("redline_lo"), ) @@ -110,6 +112,9 @@ def _pid_to_dict(p): "confidence": p.confidence}) if p.round is not None: d["round"] = p.round + for z in ("warn_hi", "redline_hi", "warn_lo", "redline_lo"): + if getattr(p, z) is not None: + d[z] = getattr(p, z) if p.notes: d["notes"] = p.notes return d diff --git a/obdcore/registry.py b/obdcore/registry.py index 4f4ec26..da6b6dc 100644 --- a/obdcore/registry.py +++ b/obdcore/registry.py @@ -26,6 +26,26 @@ class Pid: round: int = None # display rounding (None=raw float, 0=int) deps: Tuple[str, ...] = () notes: str = "" + # optional gauge warning zones (all None = neutral, no redline drawn). + # high-side: value >= threshold -> warn/redline. low-side: value <= -> warn/redline. + warn_hi: float = None + redline_hi: float = None + warn_lo: float = None + redline_lo: float = None + + def zone(self, v): + """Classify a value as 'crit' (red), 'warn' (amber), or 'ok' (green).""" + if v is None: + return "ok" + if self.redline_hi is not None and v >= self.redline_hi: + return "crit" + if self.redline_lo is not None and v <= self.redline_lo: + return "crit" + if self.warn_hi is not None and v >= self.warn_hi: + return "warn" + if self.warn_lo is not None and v <= self.warn_lo: + return "warn" + return "ok" @dataclass diff --git a/profiles/PROFILE_SPEC.md b/profiles/PROFILE_SPEC.md new file mode 100644 index 0000000..285de0f --- /dev/null +++ b/profiles/PROFILE_SPEC.md @@ -0,0 +1,179 @@ +# OBDash Vehicle Profile Specification (v1) + +This is the **canonical, self-contained spec** for an OBDash vehicle profile. A +profile is a single JSON file that teaches OBDash how to read one vehicle: its +PIDs (with scaling), trouble-code meanings, dashboards (presets), and gauge +warning zones. Profiles are **pure data** — they cannot run code. + +> **Using an AI agent to build a profile?** Paste this whole file into your +> agent and say: *"Research and produce an OBDash +> vehicle profile JSON that conforms exactly to this spec."* Then drop the +> result in `profiles/` and open a PR. See "Rules for authors / agents" below. + +Spec version: **1** (matches the top-level `"schema": 1`). This document is kept +in sync with the loader (`obdcore/profile.py`) and the PID model +(`obdcore/registry.py`) — if they disagree, the loader wins; file an issue. + +--- + +## 1. Top-level shape + +```jsonc +{ + "schema": 1, // required, must be 1 + "meta": { ... }, // vehicle identity (object) + "presets": { "name": ["KEY", ...], ... }, // named dashboards (object) + "pids": [ { ...pid... }, ... ], // signals (array) + "dtcs": [ { ...dtc... }, ... ] // trouble-code dictionary (array) +} +``` + +## 2. `meta` + +| Field | Req | Meaning | +|---|---|---| +| `name` | ✓ | Display name, shown in the Profile menu (e.g. `"Ford 6.0L Power Stroke"`) | +| `make`, `model`, `years`, `engine` | ✓ | Vehicle identity strings | +| `protocol` | ✓ | One EXACT value (see below), or `"auto"` | +| `author` | — | Your name / handle | +| `version` | — | Profile semver, e.g. `"1.0.0"` | +| `notes` | — | Provenance, caveats, confidence policy | + +`protocol` must be one of: +`"SAE J1850 PWM"`, `"SAE J1850 VPW"`, `"ISO 9141-2"`, `"ISO 14230 KWP2000"`, +`"ISO 15765 CAN"`, or `"auto"`. The ELM327 auto-negotiates regardless, so this +is a hint/record — but get it right when you can. + +## 3. `pids` — the signal definitions + +Each PID object: + +| Field | Req | Type | Meaning | +|---|---|---|---| +| `key` | ✓ | string | Unique id, `UPPER_SNAKE` (e.g. `ICP`, `STFT1`). Used in presets + derived `deps`. | +| `name` | ✓ | string | Display name | +| `mode` | ✓ | string | `"01"` generic SAE · `"22"` manufacturer-enhanced · `"atrv"` adapter pin voltage · `"derived"` computed from other PIDs | +| `pid` | mode 01/22 | string | Request id hex — `"0C"` (mode 01) or `"1446"` (mode 22). Omit for `atrv`/`derived`. | +| `nbytes` | mode 01/22 | int | Number of data bytes in the response the formula uses | +| `formula` | mode 01/22/derived | string | Scaling expression (see §4). Omit for `atrv`. | +| `unit` | ✓ | string | `"rpm"`, `"C"`, `"kPa"`, `"psi"`, `"%"`, `"V"`, `"km/h"`, … | +| `group` | ✓ | string | One of: `fuel` `air` `engine` `driveline` `power` `ficm` `misc` | +| `vmin`, `vmax` | ✓ | number | Display range (used by gauges + the Normalize overlay) | +| `confidence` | ✓ | string | `verified` · `doc` · `tentative` (see §6) | +| `round` | — | int | Display rounding: omit = raw float, `0` = integer, `2` = 2 dp | +| `deps` | derived | string[] | PID keys the `derived` formula references | +| `notes` | — | string | Gotchas / provenance; shown as a tooltip | +| `warn_hi` `redline_hi` `warn_lo` `redline_lo` | — | number | Gauge warning zones (see §5) | + +Always include this adapter-voltage pseudo-PID: +```json +{"key":"BATT","name":"Battery (OBD port)","mode":"atrv","unit":"V","group":"power","vmin":0,"vmax":16,"confidence":"verified"} +``` + +## 4. Formula language + +Arithmetic over **data-byte variables** `A, B, C, …` (= response byte 0, 1, 2 …) — +the same convention as Torque / FORScan / ScanGauge. For `derived` PIDs the +variables are **other PID keys** instead. + +A safe AST evaluator (`obdcore/formula.py`) runs formulas. **Allowed:** +- Numbers and the declared variables (`A`/`B`/… or dep keys) +- Operators: `+ - * / // % **` and bitwise `& | ^ << >>` and unary `- ~`, parentheses +- Functions: `min`, `max`, `abs`, `round`, `int`, `float` + +**Rejected at load** (so a hostile profile can't run code): any other name, +attribute access (`x.y`), subscripts (`x[0]`), or any other function call. + +Canonical standard SAE J1979 Mode-01 formulas: +``` +RPM 010C: (A*256+B)/4 Speed 010D: A ECT 0105: A-40 +IAT 010F: A-40 MAP 010B: A (kPa) MAF 0110: (A*256+B)/100 (g/s) +TPS 0111: A*100/255 Load 0104: A*100/255 Timing 010E: A/2-64 +STFT/LTFT 0106-0109: A*100/128-100 Fuel pressure 010A: A*3 +O2 voltage 0114-011B: A/200 Runtime 011F: A*256+B Module V 0142: (A*256+B)/1000 +Ambient 0146: A-40 Fuel level 012F: A*100/255 Baro 0133: A +``` +Examples (enhanced): `(A*256+B)*0.57` (ICP psi), `(A>>1)&1` (a status bit), +`A//2` (gear), `"MAP-BARO"` with `"deps":["MAP","BARO"]` (boost). + +## 5. Gauge warning zones (optional) + +Make a gauge color-code like a real tach. All optional; omit for a neutral gauge. + +| Field | Meaning | +|---|---| +| `redline_hi` | value `>=` this → RED (high redline) | +| `warn_hi` | value `>=` this → AMBER | +| `redline_lo` | value `<=` this → RED (low redline) | +| `warn_lo` | value `<=` this → AMBER | + +Use **high** zones where *high is bad* (ECT/EOT/RPM/boost) and **low** zones +where *low is bad* (ICP/FICM/oil pressure; both for battery). The gauge draws a +colored band on the dial and turns the needle + readout amber/red in-zone. + +Examples (Ford 6.0): `"ICP": redline_lo 500, warn_lo 600` (must make ~500 psi to +fire); `"ECT": warn_hi 105, redline_hi 110`; `"RPM": warn_hi 3500, redline_hi 3800`. + +## 6. `confidence` tiers + +| Value | Meaning | +|---|---| +| `verified` | SAE-standard PID, OR multi-source AND confirmed on a real vehicle | +| `doc` | Documented in sources, **not** yet read on this vehicle | +| `tentative` | Single-source, or disputed scaling — sanity-check before trusting | + +Standard Mode-01 PIDs are `verified` (they're SAE-mandated). Manufacturer-enhanced +PIDs you found in one community list are `doc` or `tentative`. + +## 7. `presets` and `dtcs` + +`presets`: named dashboards → a list of PID keys, e.g. +`"basic": ["RPM","SPEED","ECT","MAP","TPS","BATT"]`, `"fuel": ["STFT1","LTFT1","O2B1S1"]`. +Reference only keys you define. Provide at least `basic` (and `fuel` if the +vehicle reports trims/O2). + +`dtcs`: array of `{"code","desc","system","no_start","causes"}`. `code` like +`"P0301"`; `system` is freeform (`engine`/`fuel`/`emissions`/…); `no_start: true` +flags drive-disabling faults (shown bold red). Include generic `P0xxx` plus +manufacturer-specific `P1xxx` you can source. + +## 8. Rules for authors / agents + +- **Standard Mode-01 PIDs are the reliable backbone** — include the ones this + engine actually supports (MAF *vs* MAP by induction type; the O2/trim banks + it really has). Mark them `verified`. +- **Never invent a PID number or formula.** Enhanced PIDs need a documented id + AND scaling; mark `doc`/`tentative` and cite in `notes`. If you can't verify, + leave it out. +- **Don't fabricate signals the stock stream lacks.** Many vehicles have no EGT + or engine-oil-*pressure* PID (e.g. the 6.0 reports ICP + EOT only). Don't add them. +- **Every formula must obey §4** (only `A`/`B`/… or dep keys + allowed ops/funcs). +- **Validate before PR:** the loader compiles every formula and rejects bad ones. + Quick check: `python -c "from obdcore import load_profile; load_profile('profiles/.json')"` + (no exception = it's valid). The app's **Profile → Edit JSON** dialog also + validates on save. + +## 9. Minimal valid example + +```json +{ + "schema": 1, + "meta": {"name":"Example 2.0L","make":"Example","model":"Demo","years":"1999", + "engine":"2.0L I4","protocol":"auto","author":"you","version":"0.1.0"}, + "presets": {"basic": ["RPM","ECT","BATT"]}, + "pids": [ + {"key":"RPM","name":"Engine RPM","mode":"01","pid":"0C","nbytes":2, + "formula":"(A*256+B)/4","round":0,"unit":"rpm","group":"engine", + "vmin":0,"vmax":8000,"confidence":"verified","warn_hi":6000,"redline_hi":6800}, + {"key":"ECT","name":"Engine Coolant Temp","mode":"01","pid":"05","nbytes":1, + "formula":"A-40","round":0,"unit":"C","group":"engine","vmin":-40,"vmax":215, + "confidence":"verified","warn_hi":110,"redline_hi":118}, + {"key":"BATT","name":"Battery (OBD port)","mode":"atrv","unit":"V", + "group":"power","vmin":0,"vmax":16,"confidence":"verified", + "warn_lo":12.0,"redline_lo":11.0} + ], + "dtcs": [ + {"code":"P0301","desc":"Cylinder 1 misfire","system":"engine","no_start":false} + ] +} +``` diff --git a/profiles/README.md b/profiles/README.md index 92e7fd6..218b2b4 100644 --- a/profiles/README.md +++ b/profiles/README.md @@ -7,6 +7,11 @@ scaling formulas), DTC meanings, and named presets. Load one in the app via **Contributions welcome** — add a profile for your vehicle and open a PR. +> 📋 **The canonical, AI-agent-ready format is [`PROFILE_SPEC.md`](PROFILE_SPEC.md).** +> Researching a new vehicle? Paste that spec into your AI agent and say *"produce +> an OBDash vehicle profile JSON for <year make model engine> per this spec."* +> The summary below is a quick reference; the spec is authoritative. + ## Current profiles | File | Vehicle | Notes | diff --git a/profiles/ford-6.0-powerstroke.json b/profiles/ford-6.0-powerstroke.json index 7f13681..15cea73 100644 --- a/profiles/ford-6.0-powerstroke.json +++ b/profiles/ford-6.0-powerstroke.json @@ -17,13 +17,13 @@ "vitals": ["ICP", "FICM_M", "FICM_L", "IPR", "BATT", "RPM", "ECT", "EOT", "IAT", "VPCM"] }, "pids": [ - {"key": "ICP", "name": "Injection Control Pressure", "mode": "22", "pid": "1446", "nbytes": 2, "formula": "(A*256+B)*0.57", "round": 1, "unit": "psi", "group": "fuel", "vmin": 0, "vmax": 3500, "confidence": "verified", "notes": "need ~500+ psi to fire"}, + {"key": "ICP", "name": "Injection Control Pressure", "mode": "22", "pid": "1446", "nbytes": 2, "formula": "(A*256+B)*0.57", "round": 1, "unit": "psi", "group": "fuel", "vmin": 0, "vmax": 3500, "confidence": "verified", "redline_lo": 500, "warn_lo": 600, "notes": "need ~500+ psi to fire (red below 500)"}, {"key": "ICP_V", "name": "ICP Sensor Voltage", "mode": "22", "pid": "16AD", "nbytes": 2, "formula": "(A*256+B)*0.000072", "round": 4, "unit": "V", "group": "fuel", "vmin": 0, "vmax": 5, "confidence": "tentative", "notes": "single-source"}, {"key": "IPR", "name": "Injection Pressure Regulator", "mode": "22", "pid": "1434", "nbytes": 1, "formula": "A*13.53/35", "round": 1, "unit": "%", "group": "fuel", "vmin": 0, "vmax": 100, "confidence": "tentative", "notes": "KOEO ~14-15%, cranking ~30-40%"}, {"key": "INJ_TIMING", "name": "Injection Timing", "mode": "22", "pid": "09CC", "nbytes": 2, "formula": "(A*256+B)*10/64", "round": 1, "unit": "degBTDC", "group": "fuel", "vmin": -10, "vmax": 30, "confidence": "tentative", "notes": "scaling disputed; using *10/64 (ScanGauge), not /10"}, {"key": "FUEL_PUMP", "name": "Fuel Pump Duty (HFCM)", "mode": "22", "pid": "1672", "nbytes": 1, "formula": "A*100/128", "round": 1, "unit": "%", "group": "fuel", "vmin": 0, "vmax": 100, "confidence": "tentative", "notes": "sits ~100%, drops on high EOT"}, {"key": "MFDES", "name": "Mass Fuel Desired", "mode": "22", "pid": "1411", "nbytes": 2, "formula": "A*256+B", "round": 0, "unit": "raw", "group": "fuel", "vmin": 0, "vmax": 65535, "confidence": "tentative", "notes": "~mg/stroke internal count; no verified GPH formula"}, - {"key": "FICM_M", "name": "FICM Main Power", "mode": "22", "pid": "09D0", "nbytes": 2, "formula": "(A*256+B)/256", "round": 1, "unit": "V", "group": "ficm", "vmin": 0, "vmax": 55, "confidence": "verified", "notes": "~48V; <45 suspect; reads intermittently while cranking"}, + {"key": "FICM_M", "name": "FICM Main Power", "mode": "22", "pid": "09D0", "nbytes": 2, "formula": "(A*256+B)/256", "round": 1, "unit": "V", "group": "ficm", "vmin": 38, "vmax": 52, "confidence": "verified", "redline_lo": 40, "warn_lo": 48, "notes": "~48V; <45 suspect; reads intermittently while cranking"}, {"key": "FICM_L", "name": "FICM Logic Power", "mode": "22", "pid": "09CF", "nbytes": 2, "formula": "(A*256+B)/256", "round": 1, "unit": "V", "group": "ficm", "vmin": 0, "vmax": 16, "confidence": "doc"}, {"key": "FICM_V", "name": "FICM Vehicle Power", "mode": "22", "pid": "09CE", "nbytes": 2, "formula": "(A*256+B)/256", "round": 1, "unit": "V", "group": "ficm", "vmin": 0, "vmax": 16, "confidence": "doc"}, {"key": "FICM_SYNC", "name": "FICM Sync", "mode": "22", "pid": "09CD", "nbytes": 1, "formula": "(A>>1)&1", "round": 0, "unit": "", "group": "ficm", "vmin": 0, "vmax": 1, "confidence": "doc", "notes": "1=in sync, 0=no sync"}, @@ -31,19 +31,19 @@ {"key": "BARO", "name": "Barometric Pressure", "mode": "22", "pid": "1442", "nbytes": 2, "formula": "(A*256+B)*0.03625", "round": 2, "unit": "psia", "group": "air", "vmin": 0, "vmax": 20, "confidence": "verified"}, {"key": "EBP", "name": "Exhaust Back Pressure", "mode": "22", "pid": "1445", "nbytes": 2, "formula": "(A*256+B)*0.03625", "round": 2, "unit": "psia", "group": "air", "vmin": 0, "vmax": 60, "confidence": "verified", "notes": "minus BARO = gauge"}, {"key": "VGT", "name": "VGT Duty Cycle", "mode": "22", "pid": "096D", "nbytes": 2, "formula": "(A*256+B)*100/32767", "round": 1, "unit": "%", "group": "air", "vmin": 0, "vmax": 100, "confidence": "doc", "notes": "turbo vane duty"}, - {"key": "EOT", "name": "Engine Oil Temperature", "mode": "22", "pid": "1310", "nbytes": 2, "formula": "(A*256+B)/100-40", "round": 1, "unit": "C", "group": "engine", "vmin": -40, "vmax": 160, "confidence": "verified"}, + {"key": "EOT", "name": "Engine Oil Temperature", "mode": "22", "pid": "1310", "nbytes": 2, "formula": "(A*256+B)/100-40", "round": 1, "unit": "C", "group": "engine", "vmin": -40, "vmax": 160, "confidence": "verified", "warn_hi": 121, "redline_hi": 127}, {"key": "FAN", "name": "Fan Speed", "mode": "22", "pid": "099F", "nbytes": 2, "formula": "(A*256+B)/4", "round": 0, "unit": "rpm", "group": "engine", "vmin": 0, "vmax": 4000, "confidence": "doc", "notes": "real ceiling ~3500"}, {"key": "GEAR", "name": "Current Gear", "mode": "22", "pid": "11B3", "nbytes": 1, "formula": "A//2", "round": 0, "unit": "", "group": "driveline", "vmin": 0, "vmax": 6, "confidence": "verified"}, {"key": "TSS", "name": "Trans Input Shaft Speed", "mode": "22", "pid": "11B4", "nbytes": 2, "formula": "(A*256+B)/4", "round": 0, "unit": "rpm", "group": "driveline", "vmin": 0, "vmax": 4000, "confidence": "verified"}, - {"key": "RPM", "name": "Engine RPM", "mode": "01", "pid": "0C", "nbytes": 2, "formula": "(A*256+B)/4", "round": 0, "unit": "rpm", "group": "engine", "vmin": 0, "vmax": 4000, "confidence": "verified"}, - {"key": "ECT", "name": "Engine Coolant Temp", "mode": "01", "pid": "05", "nbytes": 1, "formula": "A-40", "round": 0, "unit": "C", "group": "engine", "vmin": -40, "vmax": 160, "confidence": "verified"}, + {"key": "RPM", "name": "Engine RPM", "mode": "01", "pid": "0C", "nbytes": 2, "formula": "(A*256+B)/4", "round": 0, "unit": "rpm", "group": "engine", "vmin": 0, "vmax": 4000, "confidence": "verified", "warn_hi": 3500, "redline_hi": 3800}, + {"key": "ECT", "name": "Engine Coolant Temp", "mode": "01", "pid": "05", "nbytes": 1, "formula": "A-40", "round": 0, "unit": "C", "group": "engine", "vmin": -40, "vmax": 160, "confidence": "verified", "warn_hi": 105, "redline_hi": 110}, {"key": "IAT", "name": "Intake Air Temp", "mode": "01", "pid": "0F", "nbytes": 1, "formula": "A-40", "round": 0, "unit": "C", "group": "air", "vmin": -40, "vmax": 160, "confidence": "verified"}, {"key": "LOAD", "name": "Engine Load", "mode": "01", "pid": "04", "nbytes": 1, "formula": "A*100/255", "round": 0, "unit": "%", "group": "engine", "vmin": 0, "vmax": 100, "confidence": "verified"}, - {"key": "VPCM", "name": "Module Voltage", "mode": "01", "pid": "42", "nbytes": 2, "formula": "(A*256+B)/1000", "round": 2, "unit": "V", "group": "power", "vmin": 0, "vmax": 16, "confidence": "verified"}, + {"key": "VPCM", "name": "Module Voltage", "mode": "01", "pid": "42", "nbytes": 2, "formula": "(A*256+B)/1000", "round": 2, "unit": "V", "group": "power", "vmin": 9, "vmax": 15, "confidence": "verified", "warn_lo": 12.0, "redline_lo": 11.0}, {"key": "VBAT", "name": "Battery (PCM)", "mode": "22", "pid": "1172", "nbytes": 1, "formula": "A/16", "round": 1, "unit": "V", "group": "power", "vmin": 0, "vmax": 16, "confidence": "tentative", "notes": "PCM-reported B+; distinct from ATRV port voltage"}, {"key": "FUEL_LVL", "name": "Fuel Level", "mode": "22", "pid": "16C1", "nbytes": 2, "formula": "(A*256+B)*100/328", "round": 1, "unit": "%", "group": "misc", "vmin": 0, "vmax": 100, "confidence": "tentative", "notes": "UNCALIBRATED -- needs per-truck full/empty cal"}, - {"key": "BATT", "name": "Battery (OBD port)", "mode": "atrv", "unit": "V", "group": "power", "vmin": 0, "vmax": 16, "confidence": "verified", "notes": "ELM327 ATRV pin voltage"}, - {"key": "BOOST", "name": "Boost (MGP)", "mode": "derived", "formula": "MAP-BARO", "deps": ["MAP", "BARO"], "round": 2, "unit": "psi", "group": "air", "vmin": -5, "vmax": 40, "confidence": "verified", "notes": "MAP - BARO"} + {"key": "BATT", "name": "Battery (OBD port)", "mode": "atrv", "unit": "V", "group": "power", "vmin": 9, "vmax": 15, "confidence": "verified", "warn_lo": 12.0, "redline_lo": 11.0, "notes": "ELM327 ATRV pin voltage"}, + {"key": "BOOST", "name": "Boost (MGP)", "mode": "derived", "formula": "MAP-BARO", "deps": ["MAP", "BARO"], "round": 2, "unit": "psi", "group": "air", "vmin": -5, "vmax": 40, "confidence": "verified", "warn_hi": 30, "redline_hi": 35, "notes": "MAP - BARO"} ], "dtcs": [ {"code": "P0087", "desc": "Fuel rail/system pressure too LOW", "system": "fuel", "no_start": true},