Files
obdash/profiles/mercury-mountaineer-4.6-2006.json
T
justin 03223dfd6c 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
2026-06-30 15:25:26 -04:00

612 lines
15 KiB
JSON

{
"schema": 1,
"meta": {
"name": "2006 Mercury Mountaineer 4.6L SOHC V8",
"make": "Mercury",
"model": "Mountaineer",
"years": "2006",
"engine": "4.6L SOHC 3-valve Triton V8 (MAF-metered, AWD)",
"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)."
},
"presets": {
"basic": [
"RPM",
"VSS",
"ECT",
"LOAD",
"TPS",
"MAF",
"TIMING",
"IAT",
"BATT"
],
"fuel": [
"STFT1",
"LTFT1",
"STFT2",
"LTFT2",
"O2_B1S1",
"O2_B1S2",
"O2_B2S1",
"O2_B2S2"
]
},
"pids": [
{
"key": "LOAD",
"name": "Calculated Engine Load",
"mode": "01",
"pid": "0104",
"nbytes": 1,
"formula": "A*100/255",
"unit": "%",
"group": "engine",
"vmin": 0,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "ECT",
"name": "Engine Coolant Temp",
"mode": "01",
"pid": "0105",
"nbytes": 1,
"formula": "A-40",
"unit": "C",
"group": "engine",
"vmin": -40,
"vmax": 215,
"confidence": "verified",
"round": 0
},
{
"key": "STFT1",
"name": "Short Term Fuel Trim B1",
"mode": "01",
"pid": "0106",
"nbytes": 1,
"formula": "A*100/128-100",
"unit": "%",
"group": "fuel",
"vmin": -100,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "LTFT1",
"name": "Long Term Fuel Trim B1",
"mode": "01",
"pid": "0107",
"nbytes": 1,
"formula": "A*100/128-100",
"unit": "%",
"group": "fuel",
"vmin": -100,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "STFT2",
"name": "Short Term Fuel Trim B2",
"mode": "01",
"pid": "0108",
"nbytes": 1,
"formula": "A*100/128-100",
"unit": "%",
"group": "fuel",
"vmin": -100,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "LTFT2",
"name": "Long Term Fuel Trim B2",
"mode": "01",
"pid": "0109",
"nbytes": 1,
"formula": "A*100/128-100",
"unit": "%",
"group": "fuel",
"vmin": -100,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "RPM",
"name": "Engine RPM",
"mode": "01",
"pid": "010C",
"nbytes": 2,
"formula": "(A*256+B)/4",
"unit": "rpm",
"group": "engine",
"vmin": 0,
"vmax": 8000,
"confidence": "verified",
"round": 0
},
{
"key": "VSS",
"name": "Vehicle Speed",
"mode": "01",
"pid": "010D",
"nbytes": 1,
"formula": "A",
"unit": "km/h",
"group": "driveline",
"vmin": 0,
"vmax": 255,
"confidence": "verified",
"round": 0
},
{
"key": "TIMING",
"name": "Timing Advance",
"mode": "01",
"pid": "010E",
"nbytes": 1,
"formula": "A/2-64",
"unit": "deg",
"group": "engine",
"vmin": -64,
"vmax": 63,
"confidence": "verified",
"round": 0
},
{
"key": "IAT",
"name": "Intake Air Temp",
"mode": "01",
"pid": "010F",
"nbytes": 1,
"formula": "A-40",
"unit": "C",
"group": "air",
"vmin": -40,
"vmax": 215,
"confidence": "verified",
"round": 0
},
{
"key": "MAF",
"name": "Mass Air Flow",
"mode": "01",
"pid": "0110",
"nbytes": 2,
"formula": "(A*256+B)/100",
"unit": "g/s",
"group": "air",
"vmin": 0,
"vmax": 655,
"confidence": "verified",
"round": 2
},
{
"key": "TPS",
"name": "Throttle Position",
"mode": "01",
"pid": "0111",
"nbytes": 1,
"formula": "A*100/255",
"unit": "%",
"group": "air",
"vmin": 0,
"vmax": 100,
"confidence": "verified",
"round": 0
},
{
"key": "O2_B1S1",
"name": "O2 Voltage B1S1",
"mode": "01",
"pid": "0114",
"nbytes": 2,
"formula": "A/200",
"unit": "V",
"group": "fuel",
"vmin": 0,
"vmax": 1.275,
"confidence": "verified",
"round": 2,
"notes": "Narrowband HEGO upstream bank 1; B byte carries assoc. STFT (0xFF=unused)"
},
{
"key": "O2_B1S2",
"name": "O2 Voltage B1S2",
"mode": "01",
"pid": "0115",
"nbytes": 2,
"formula": "A/200",
"unit": "V",
"group": "fuel",
"vmin": 0,
"vmax": 1.275,
"confidence": "verified",
"round": 2,
"notes": "Narrowband HEGO downstream/catalyst-monitor bank 1"
},
{
"key": "O2_B2S1",
"name": "O2 Voltage B2S1",
"mode": "01",
"pid": "0118",
"nbytes": 2,
"formula": "A/200",
"unit": "V",
"group": "fuel",
"vmin": 0,
"vmax": 1.275,
"confidence": "verified",
"round": 2,
"notes": "Narrowband HEGO upstream bank 2"
},
{
"key": "O2_B2S2",
"name": "O2 Voltage B2S2",
"mode": "01",
"pid": "0119",
"nbytes": 2,
"formula": "A/200",
"unit": "V",
"group": "fuel",
"vmin": 0,
"vmax": 1.275,
"confidence": "verified",
"round": 2,
"notes": "Narrowband HEGO downstream/catalyst-monitor bank 2"
},
{
"key": "RUNTIME",
"name": "Run Time Since Start",
"mode": "01",
"pid": "011F",
"nbytes": 2,
"formula": "A*256+B",
"unit": "s",
"group": "misc",
"vmin": 0,
"vmax": 65535,
"confidence": "verified",
"round": 0
},
{
"key": "FUEL_LVL",
"name": "Fuel Level Input",
"mode": "01",
"pid": "012F",
"nbytes": 1,
"formula": "A*100/255",
"unit": "%",
"group": "misc",
"vmin": 0,
"vmax": 100,
"confidence": "doc",
"round": 0,
"notes": "SAE-standard scaling; PCM support on this J1850 platform varies"
},
{
"key": "BARO",
"name": "Barometric Pressure",
"mode": "01",
"pid": "0133",
"nbytes": 1,
"formula": "A",
"unit": "kPa",
"group": "air",
"vmin": 0,
"vmax": 255,
"confidence": "doc",
"round": 0,
"notes": "Ford PCMs commonly report BARO; support on exact PCM unconfirmed"
},
{
"key": "BATT",
"name": "Battery (OBD port)",
"mode": "atrv",
"unit": "V",
"group": "power",
"vmin": 0,
"vmax": 16,
"confidence": "verified",
"notes": "ELM327 ATRV pin voltage; read from adapter, not a Mode-01 request"
}
],
"dtcs": [
{
"code": "P1000",
"desc": "OBD-II monitor testing not complete (drive cycle not finished / readiness not set; common after battery disconnect or code clear). Ford-specific informational code.",
"system": "misc",
"no_start": false
},
{
"code": "P1131",
"desc": "Lack of HO2S-11 switch \u2014 sensor indicates lean (Bank 1). Classic Ford lean-bank upstream O2 code; check for vacuum/intake leaks, MAF, fuel delivery.",
"system": "fuel",
"no_start": false
},
{
"code": "P1132",
"desc": "Lack of HO2S-11 switch \u2014 sensor indicates rich (Bank 1).",
"system": "fuel",
"no_start": false
},
{
"code": "P1151",
"desc": "Lack of HO2S-21 switch \u2014 sensor indicates lean (Bank 2). Bank 2 counterpart of P1131.",
"system": "fuel",
"no_start": false
},
{
"code": "P1152",
"desc": "Lack of HO2S-21 switch \u2014 sensor indicates rich (Bank 2).",
"system": "fuel",
"no_start": false
},
{
"code": "P1130",
"desc": "Lack of HO2S switch \u2014 adaptive fuel at limit (Bank 1). Fuel trim hit its correction ceiling.",
"system": "fuel",
"no_start": false
},
{
"code": "P1150",
"desc": "Lack of HO2S switch \u2014 adaptive fuel at limit (Bank 2).",
"system": "fuel",
"no_start": false
},
{
"code": "P1260",
"desc": "THEFT DETECTED \u2014 vehicle immobilized (PATS / SecuriLock). Engine fuel/start disabled; reprogram key or repair PATS.",
"system": "security",
"no_start": true
},
{
"code": "P1336",
"desc": "Crankshaft/Camshaft position sensor range/performance (PIP/CMP). Can cause rough run or no-start when signal lost.",
"system": "engine",
"no_start": true
},
{
"code": "P1309",
"desc": "Misfire detection monitor not enabled (CKP profile-correction / ICP not learned).",
"system": "engine",
"no_start": false
},
{
"code": "P1233",
"desc": "Fuel system disabled or offline (fuel pump driver module / inertia switch / FPDM fault).",
"system": "fuel",
"no_start": true
},
{
"code": "P1270",
"desc": "Engine RPM or vehicle-speed limiter reached.",
"system": "engine",
"no_start": false
},
{
"code": "P1450",
"desc": "Unable to bleed up fuel tank vacuum (EVAP). Stuck canister vent / blocked line.",
"system": "evap",
"no_start": false
},
{
"code": "P1451",
"desc": "EVAP canister vent solenoid circuit malfunction.",
"system": "evap",
"no_start": false
},
{
"code": "P1474",
"desc": "Low-speed fan control (LFC) circuit malfunction.",
"system": "air",
"no_start": false
},
{
"code": "P1504",
"desc": "Idle air control (IAC) circuit malfunction.",
"system": "air",
"no_start": false
},
{
"code": "P1505",
"desc": "Idle air control system at adaptive clip (idle relearn / vacuum leak).",
"system": "air",
"no_start": false
},
{
"code": "P0011",
"desc": "Camshaft position 'A' \u2014 timing over-advanced or system performance (Bank 1). VCT/cam-phaser fault \u2014 a signature issue on the 4.6L 3-valve Triton; sticking phaser, oil control solenoid, or low oil pressure.",
"system": "engine",
"no_start": false
},
{
"code": "P0021",
"desc": "Camshaft position 'A' \u2014 timing over-advanced or system performance (Bank 2). Bank 2 VCT/cam-phaser counterpart of P0011.",
"system": "engine",
"no_start": false
},
{
"code": "P0012",
"desc": "Camshaft position 'A' \u2014 timing over-retarded (Bank 1).",
"system": "engine",
"no_start": false
},
{
"code": "P0022",
"desc": "Camshaft position 'A' \u2014 timing over-retarded (Bank 2).",
"system": "engine",
"no_start": false
},
{
"code": "P0171",
"desc": "System too lean (Bank 1). Generic lean code; intake/vacuum leak, MAF, fuel pressure.",
"system": "fuel",
"no_start": false
},
{
"code": "P0174",
"desc": "System too lean (Bank 2).",
"system": "fuel",
"no_start": false
},
{
"code": "P0172",
"desc": "System too rich (Bank 1).",
"system": "fuel",
"no_start": false
},
{
"code": "P0175",
"desc": "System too rich (Bank 2).",
"system": "fuel",
"no_start": false
},
{
"code": "P0300",
"desc": "Random/multiple-cylinder misfire detected. On 3V Triton check coil-on-plug boots and spark plugs (known plug-breakage engine).",
"system": "engine",
"no_start": false
},
{
"code": "P0301",
"desc": "Cylinder 1 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0302",
"desc": "Cylinder 2 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0303",
"desc": "Cylinder 3 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0304",
"desc": "Cylinder 4 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0305",
"desc": "Cylinder 5 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0306",
"desc": "Cylinder 6 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0307",
"desc": "Cylinder 7 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0308",
"desc": "Cylinder 8 misfire detected.",
"system": "engine",
"no_start": false
},
{
"code": "P0420",
"desc": "Catalyst system efficiency below threshold (Bank 1).",
"system": "emissions",
"no_start": false
},
{
"code": "P0430",
"desc": "Catalyst system efficiency below threshold (Bank 2).",
"system": "emissions",
"no_start": false
},
{
"code": "P0401",
"desc": "EGR insufficient flow detected (DPFE sensor / EGR valve / clogged passages).",
"system": "emissions",
"no_start": false
},
{
"code": "P0402",
"desc": "EGR excessive flow detected.",
"system": "emissions",
"no_start": false
},
{
"code": "P0455",
"desc": "EVAP system large leak detected (often loose/missing gas cap).",
"system": "evap",
"no_start": false
},
{
"code": "P0442",
"desc": "EVAP system small leak detected.",
"system": "evap",
"no_start": false
},
{
"code": "P0446",
"desc": "EVAP vent control circuit malfunction.",
"system": "evap",
"no_start": false
},
{
"code": "P0101",
"desc": "Mass air flow (MAF) sensor circuit range/performance. This engine is MAF-metered \u2014 affects fuel trims and drivability.",
"system": "air",
"no_start": false
},
{
"code": "P0102",
"desc": "Mass air flow (MAF) sensor circuit low input.",
"system": "air",
"no_start": false
},
{
"code": "P0113",
"desc": "Intake air temperature (IAT) sensor circuit high input.",
"system": "air",
"no_start": false
},
{
"code": "P0128",
"desc": "Coolant thermostat \u2014 coolant temp below regulating temperature (stuck-open thermostat).",
"system": "engine",
"no_start": false
},
{
"code": "P0125",
"desc": "Insufficient coolant temperature for closed-loop fuel control.",
"system": "engine",
"no_start": false
},
{
"code": "P0340",
"desc": "Camshaft position (CMP) sensor circuit malfunction. Loss can cause extended crank / no-start.",
"system": "engine",
"no_start": true
},
{
"code": "P0335",
"desc": "Crankshaft position (CKP) sensor circuit malfunction. No CKP signal = no spark/fuel = no-start.",
"system": "engine",
"no_start": true
}
]
}