PIDs - flxkrmr/eec-iv-reader-arduino GitHub Wiki

PID-Code Checksum Byte Register Name Decoding Unit/Mapping Description
0x01 0x38 N (((val[1] & 0xF) << 8) | val[0]) * 4 RPM Engine Revolution
0x02 0x08 MAP val[0] / 8 "Hg Manifold Absolute Pressure
0x03 0x18 BP val[0] / 8 "Hg Barometric Pressure
0x04 0x68 SAFTOT val[0] / 4 Degrees Total spark advance
0x05 0x78 IACT ((val[1] & 0xF) << 8) | val[0] A/D count ACT Sensor (Air Temperature)
0x06 0x48 IECT ((val[1] & 0xF) << 8) | val[0] A/D count ECT Sensor (Cooling Temperature)
0x07 0x58 IEGR ((val[1] & 0xF) << 8) | val[0] A/D count EVP or EPT sensor
0x08 0xA8 IEGO1 ((val[1] & 0xF) << 8) | val[0] A/D count
0x09 0xB8 ITP ((val[1] & 0xF) << 8) | val[0] A/D count; (*4.875 for mV?) Throttle Position
0x0A 0x88 not used
0x0B 0x98 IVCAL ((val[1] & 0xF) << 8) | val[0] A/D count Calibration input voltage
0x0C 0xE8 FUELPW1 (((val[1] & 0xF) << 8) | val[0]) * 4 clock ticks Fuel Pulsewidth
0x0D 0xF8 LAMBSE1 (((val[1] & 0xF) << 8) | val[0]) / 2048 - LAMBDA equivalence ratio
0x0E 0xC8 APT val[0] 0xFF = Closed; 0x00 = Partly open; 0x01 = Open Throttle Mode Flag
0x0F 0xD8 ACT val[0] * 2 Degrees Fahrenheit ACT = Air charge temperature
0x10 0x38 ECT val[0] * 2 Degrees Fahrenheit ECT = Engine Coolant Temperature
0x11 0x28 VBAT val[0]/16 V Supply Voltage
0x12 0x18 MAP_FREQ Integrated value of frequency in Hertz of the output of SCAP sensor.
0x13 0x08 EGRDC EGR Duty Cycle
0x15 0x68 ISCDTY ((val[1] & 0xF) << 8) | val[0] EEC-IV count Idle speed control duty cycle
0x16 0x58 not used
0x17 0x48 VSBAR val[0] / 2 MPH Filtered vehicle speed
0x18 0xB8 VS val[0] / 32 MPH ?
0x19 not used
0x1A 0x98 BITMAP_0 val[1] & 0x04 1 = Canister Purge has non zero duty cycle
val[1] & 0x08 1 = A/C clutch is disengaged
val[0] & 0x40 1 = Not in neutral or park
val[0] & 0x80 1 = Fuel pump on
0x1B 0x88 BITMAP_1 val[1] & 0x01 1 = Alternate shift mode/overdrive cancel is selected
val[0] & 0x01 1 = In closed loop fuel control
val[0] & 0x02 1 = Power Steering preassure switch is closed
val[0] & 0x08 1 = Driver has selected A/C
val[0] & 0x10 1 = Ignition Diagnostic Monitor EEC module input is high
val[0] & 0x20 1 = Output AM1 (Air Management 1 solenoid) is on
val[0] & 0x80 1 = Output AM2 is on
0x1C ? ? val[0] ? 0xFF = Engine running and test setup; 0x02 = Engine off in car
0x1D not used
0x26 0x68 ? ((val[1] & 0xF) << 8) A/D Count Air Flow Meter
0x27 0x78 LOAD Normalized air charge value
0x28 0x88 KAMRF1 Adaptive fuel correction
0x29 ? ? val[0] ? values between 13 and 16
0x2A Desired RPM
0x2B 0xB8 RATCH Lowest filtered throttle position
0x2C ? ? ((val[1] & 0xF) << 8) ? 2048 off; start falls around 1000 and slowly rises back to 2000
0x2D Time since startup in seconds
0x2E OCC
0x2F Neutral/Drive input
0x30 Converter Clutch
0x31 not used
0x32 Command Gear
0x33 not used
0x34 not used
0x35 ETV Monitor Voltage
0x36 EPC Pressure
0x37 Transmission Oil Temperature
0x38 PRNDL Position