{
  "schema": 1,
  "meta": {
    "name": "1996 Ford Mustang SVT Cobra 4.6L DOHC",
    "make": "Ford",
    "model": "Mustang SVT Cobra",
    "years": "1996",
    "engine": "4.6L DOHC 32-valve modular V8 (naturally aspirated, EEC-V, MAF-metered)",
    "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."
  },
  "presets": {
    "basic": [
      "RPM",
      "VSS",
      "ECT",
      "IAT",
      "MAF",
      "TPS",
      "LOAD",
      "TIMING",
      "BATT"
    ],
    "fuel": [
      "FUEL_STATUS",
      "STFT1",
      "LTFT1",
      "STFT2",
      "LTFT2",
      "O2_B1S1",
      "O2_B1S2",
      "O2_B2S1",
      "O2_B2S2"
    ]
  },
  "pids": [
    {
      "key": "FUEL_STATUS",
      "name": "Fuel System Status",
      "mode": "01",
      "pid": "03",
      "nbytes": 2,
      "formula": "A",
      "unit": "",
      "group": "fuel",
      "vmin": 0,
      "vmax": 255,
      "confidence": "verified",
      "notes": "Bitmask: 1=open loop(cold),2=closed loop. Bank1 in A, bank2 in B."
    },
    {
      "key": "LOAD",
      "name": "Calculated Engine Load",
      "mode": "01",
      "pid": "04",
      "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": "05",
      "nbytes": 1,
      "formula": "A-40",
      "unit": "C",
      "group": "engine",
      "vmin": -40,
      "vmax": 150,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "STFT1",
      "name": "Short Term Fuel Trim B1",
      "mode": "01",
      "pid": "06",
      "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": "07",
      "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": "08",
      "nbytes": 1,
      "formula": "A*100/128-100",
      "unit": "%",
      "group": "fuel",
      "vmin": -100,
      "vmax": 100,
      "confidence": "verified",
      "round": 0,
      "notes": "V8 second bank"
    },
    {
      "key": "LTFT2",
      "name": "Long Term Fuel Trim B2",
      "mode": "01",
      "pid": "09",
      "nbytes": 1,
      "formula": "A*100/128-100",
      "unit": "%",
      "group": "fuel",
      "vmin": -100,
      "vmax": 100,
      "confidence": "verified",
      "round": 0,
      "notes": "V8 second bank"
    },
    {
      "key": "RPM",
      "name": "Engine RPM",
      "mode": "01",
      "pid": "0C",
      "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": "0D",
      "nbytes": 1,
      "formula": "A",
      "unit": "km/h",
      "group": "driveline",
      "vmin": 0,
      "vmax": 255,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "TIMING",
      "name": "Ignition Timing Advance",
      "mode": "01",
      "pid": "0E",
      "nbytes": 1,
      "formula": "A/2-64",
      "unit": "deg",
      "group": "engine",
      "vmin": -64,
      "vmax": 64,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "IAT",
      "name": "Intake Air Temp",
      "mode": "01",
      "pid": "0F",
      "nbytes": 1,
      "formula": "A-40",
      "unit": "C",
      "group": "air",
      "vmin": -40,
      "vmax": 150,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "MAF",
      "name": "MAF Air Flow Rate",
      "mode": "01",
      "pid": "10",
      "nbytes": 2,
      "formula": "(A*256+B)/100",
      "unit": "g/s",
      "group": "air",
      "vmin": 0,
      "vmax": 300,
      "confidence": "verified",
      "round": 2,
      "notes": "Cobra is MAF-metered; no MAP/speed-density"
    },
    {
      "key": "TPS",
      "name": "Throttle Position",
      "mode": "01",
      "pid": "11",
      "nbytes": 1,
      "formula": "A*100/255",
      "unit": "%",
      "group": "air",
      "vmin": 0,
      "vmax": 100,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "O2_B1S1",
      "name": "O2 Voltage B1S1 (upstream)",
      "mode": "01",
      "pid": "14",
      "nbytes": 2,
      "formula": "A/200",
      "unit": "V",
      "group": "fuel",
      "vmin": 0,
      "vmax": 1.275,
      "confidence": "verified",
      "round": 2,
      "notes": "Narrowband HO2S; B = STFT (B*100/128-100)"
    },
    {
      "key": "O2_B1S2",
      "name": "O2 Voltage B1S2 (downstream)",
      "mode": "01",
      "pid": "15",
      "nbytes": 2,
      "formula": "A/200",
      "unit": "V",
      "group": "fuel",
      "vmin": 0,
      "vmax": 1.275,
      "confidence": "verified",
      "round": 2,
      "notes": "Post-cat monitor sensor"
    },
    {
      "key": "O2_B2S1",
      "name": "O2 Voltage B2S1 (upstream)",
      "mode": "01",
      "pid": "18",
      "nbytes": 2,
      "formula": "A/200",
      "unit": "V",
      "group": "fuel",
      "vmin": 0,
      "vmax": 1.275,
      "confidence": "verified",
      "round": 2,
      "notes": "V8 second bank upstream"
    },
    {
      "key": "O2_B2S2",
      "name": "O2 Voltage B2S2 (downstream)",
      "mode": "01",
      "pid": "19",
      "nbytes": 2,
      "formula": "A/200",
      "unit": "V",
      "group": "fuel",
      "vmin": 0,
      "vmax": 1.275,
      "confidence": "verified",
      "round": 2,
      "notes": "V8 second bank post-cat"
    },
    {
      "key": "OBD_STD",
      "name": "OBD Standard Conformance",
      "mode": "01",
      "pid": "1C",
      "nbytes": 1,
      "formula": "A",
      "unit": "",
      "group": "misc",
      "vmin": 0,
      "vmax": 255,
      "confidence": "verified",
      "notes": "Reports OBD-II (US) conformance code"
    },
    {
      "key": "RUNTIME",
      "name": "Run Time Since Engine Start",
      "mode": "01",
      "pid": "1F",
      "nbytes": 2,
      "formula": "A*256+B",
      "unit": "s",
      "group": "engine",
      "vmin": 0,
      "vmax": 65535,
      "confidence": "verified",
      "round": 0
    },
    {
      "key": "BATT",
      "name": "Battery (OBD port)",
      "mode": "atrv",
      "unit": "V",
      "group": "power",
      "vmin": 0,
      "vmax": 16,
      "confidence": "verified",
      "notes": "ELM327 ATRV pin voltage"
    }
  ],
  "dtcs": [
    {
      "code": "P1000",
      "desc": "OBD-II monitor testing not complete (drive cycle not finished / battery recently disconnected)",
      "system": "misc",
      "no_start": false
    },
    {
      "code": "P1100",
      "desc": "Mass Air Flow (MAF) sensor circuit intermittent",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1101",
      "desc": "Mass Air Flow (MAF) sensor out of self-test range",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1120",
      "desc": "Throttle Position Sensor (TPS) out of range low",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1121",
      "desc": "Throttle Position Sensor (TPS) inconsistent with MAF sensor",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1124",
      "desc": "Throttle Position Sensor (TPS) out of self-test range",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1131",
      "desc": "HO2S-11 (bank 1 upstream) signal indicates lean / lacks switching",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P1132",
      "desc": "HO2S-11 (bank 1 upstream) signal indicates rich / lacks switching",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P1150",
      "desc": "HO2S-21 (bank 2 upstream) signal indicates lean / lacks switching",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P1151",
      "desc": "HO2S-21 (bank 2 upstream) signal indicates rich / lacks switching",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P1233",
      "desc": "Fuel pump driver module off-line (FPDM disabled or disconnected)",
      "system": "fuel",
      "no_start": true
    },
    {
      "code": "P1235",
      "desc": "Fuel pump control out of range",
      "system": "fuel",
      "no_start": true
    },
    {
      "code": "P1237",
      "desc": "Fuel pump secondary circuit fault",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P1260",
      "desc": "THEFT detected - vehicle immobilized (PATS passive anti-theft, invalid key)",
      "system": "misc",
      "no_start": true
    },
    {
      "code": "P1270",
      "desc": "Engine RPM or vehicle speed limiter reached",
      "system": "engine",
      "no_start": false
    },
    {
      "code": "P1351",
      "desc": "Ignition Diagnostic Monitor (IDM) circuit input fault",
      "system": "engine",
      "no_start": false
    },
    {
      "code": "P1364",
      "desc": "Ignition coil primary circuit fault",
      "system": "engine",
      "no_start": false
    },
    {
      "code": "P1400",
      "desc": "DPFE (Differential Pressure Feedback EGR) sensor circuit low voltage",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1401",
      "desc": "DPFE (Differential Pressure Feedback EGR) sensor circuit high voltage",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1405",
      "desc": "DPFE sensor upstream hose off or plugged",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1406",
      "desc": "DPFE sensor downstream hose off or plugged",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1409",
      "desc": "EGR Vacuum Regulator (EVR) solenoid control circuit fault",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1443",
      "desc": "EVAP purge control valve / system fault",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1451",
      "desc": "EVAP canister vent solenoid circuit fault",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1500",
      "desc": "Vehicle Speed Sensor (VSS) intermittent",
      "system": "driveline",
      "no_start": false
    },
    {
      "code": "P1504",
      "desc": "Idle Air Control (IAC) circuit malfunction",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1505",
      "desc": "Idle Air Control (IAC) system at adaptive clip",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1516",
      "desc": "Intake Manifold Runner Control (IMRC) input error bank 1",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1517",
      "desc": "Intake Manifold Runner Control (IMRC) input error bank 2",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1518",
      "desc": "Intake Manifold Runner Control (IMRC) stuck open",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1519",
      "desc": "Intake Manifold Runner Control (IMRC) stuck closed",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P1520",
      "desc": "Intake Manifold Runner Control (IMRC) circuit fault",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P0171",
      "desc": "System too lean (bank 1)",
      "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": "P0135",
      "desc": "HO2S heater circuit malfunction (bank 1 sensor 1)",
      "system": "fuel",
      "no_start": false
    },
    {
      "code": "P0300",
      "desc": "Random / multiple cylinder misfire detected",
      "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": "P0305",
      "desc": "Cylinder 5 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": "air",
      "no_start": false
    },
    {
      "code": "P0430",
      "desc": "Catalyst system efficiency below threshold (bank 2)",
      "system": "air",
      "no_start": false
    },
    {
      "code": "P0340",
      "desc": "Camshaft Position (CMP) sensor circuit malfunction",
      "system": "engine",
      "no_start": true
    },
    {
      "code": "P0320",
      "desc": "Ignition / Crankshaft Position (CKP) sensor circuit malfunction",
      "system": "engine",
      "no_start": true
    }
  ]
}