mirror of https://github.com/rusefi/RomRaider.git
1274 lines
35 KiB
Plaintext
1274 lines
35 KiB
Plaintext
The subaru select monitor protocol uses an ISO9141 interface and uses UART settings: 4800 bps n, 8, 1
|
||
All data is sent and recieved using small packets that all share a common header.
|
||
|
||
|
||
|
||
Packets all follow this structure:
|
||
|
||
0x80
|
||
Destination byte
|
||
Source byte
|
||
Data Size byte
|
||
data...
|
||
...
|
||
Checksum byte
|
||
|
||
Known Destination and Source bytes respectively:
|
||
0x10 Subaru ECU
|
||
0xF0 Diagnostic tool
|
||
|
||
The Data Size byte specifies the number of data bytes in the packet, the Checksum byte is the 8 least significant
|
||
bits of the sum of every packet byte (including the header)
|
||
|
||
For example:
|
||
|
||
If you send the packet:
|
||
|
||
0x80 0x10 0xF0 0x01 0xBF 0x40
|
||
|
||
the ecu might respond with:
|
||
0x80 0xF0 0x10 0x39 0xFF 0xA2 0x10 0x0F 0x1B 0x14 0x40 0x05 0x05 0x73 0xFA 0xEB
|
||
0x80 0x2B 0xC1 0x02 0xAA 0x00 0x10 0x00 0x60 0xCE 0x54 0xF8 0xB0 0x60 0x00 0x00
|
||
0xE0 0x00 0x00 0x00 0x00 0x00 0xDC 0x00 0x00 0x55 0x10 0x00 0x00 0x02 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x1F
|
||
|
||
|
||
When sending a packet to the ECU the first data byte is the command byte.
|
||
These are the known commands:
|
||
|
||
0xA0 Read memory
|
||
0xA8 Read single address
|
||
0xB0 Write memory
|
||
0xB8 Write single address
|
||
0xBF ECU init
|
||
|
||
|
||
-------------------------------- Command Formats --------------------------------
|
||
|
||
A0 Block Read Request
|
||
|
||
A0 PP AA AA AA CC
|
||
|
||
PP == pad?
|
||
AA AA AA = address
|
||
CC == byte count - 1
|
||
|
||
A8 Address Read Request
|
||
|
||
A8 PP A1 A1 A1 A2 A2 A2 A3 A3 A3...
|
||
|
||
PP == pad?
|
||
A1 A1 A1 == address
|
||
A2 A2 A2 ... == optional addresses
|
||
|
||
B0 Write Block Request
|
||
|
||
B0 AA AA AA DD DD DD DD DD ...
|
||
|
||
AA AA AA == address
|
||
DD DD ... == data of desired length
|
||
|
||
B8 Address Write Request
|
||
|
||
B8 AA AA AA DD
|
||
|
||
AA AA AA == address
|
||
DD == data byte
|
||
|
||
BF ECU Init Request
|
||
|
||
BF
|
||
|
||
-------------------------------- Command Examples -------------------------------
|
||
|
||
Block Read: Read 128 bytes from address 0x200000 (ecu returned all zeros)
|
||
|
||
Sent:
|
||
0x80 0x10 0xF0 0x06 0xA0 0x00 0x20 0x00 0x00 0x7F 0xC5
|
||
|
||
Received:
|
||
0x80 0xF0 0x10 0x81 0xE0
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
0xE1
|
||
|
||
-----------------------
|
||
|
||
Address Read: Read Address 0x000008 and 0x00001C (ecu returns values 0x7D and 0xB1)
|
||
|
||
Sent:
|
||
0x80 0x10 0xF0 0x08 0xA8 0x00 0x00 0x00 0x08 0x00 0x00 0x1C 0x54
|
||
|
||
Received:
|
||
0x80 0xF0 0x10 0x03 0xE8 0x7D 0xB1 0x99
|
||
|
||
-----------------------
|
||
|
||
Block Write: Write 4 bytes to address 0x200000 (ecu returns written data)
|
||
|
||
Sent:
|
||
0x80 0x10 0xF0 0x08 0xB0 0x20 0x00 0x00 0x01 0x02 0x03 0x04 0x62
|
||
|
||
Received:
|
||
0x80 0xF0 0x10 0x05 0xF0 0x01 0x02 0x03 0x04 0x7F
|
||
|
||
-----------------------
|
||
|
||
Write single address: Write value 0x02 to address 0x00006F
|
||
|
||
Sent:
|
||
0x80 0x10 0xF0 0x05 0xB8 0x00 0x00 0x6F 0x02 0xAE
|
||
|
||
Received:
|
||
0x80 0xF0 0x10 0x02 0xF8 0x02 0x7C
|
||
|
||
----------------------------------------------------------------------------------
|
||
|
||
Certain bytes in the ECU Init string (returned from request 0xBF) can be examined to determine which parameters the ECU will support.
|
||
The individual bits are flags that will be set to one if the parameter can be read from the ECU (byte 9 is immediately after the 5 byte ECU ID value)
|
||
********** BYTE 9 **********
|
||
7 Engine Load
|
||
6 Coolant Temperature
|
||
5 Air/Fuel Correction #1
|
||
4 Air/Fuel Learning #1
|
||
3 Air/Fuel Correction #2
|
||
2 Air/Fuel Learning #2
|
||
1 Manifold Absolute Pressure
|
||
0 Engine Speed
|
||
|
||
********** BYTE 10 *********
|
||
7 Vehicle Speed
|
||
6 Ignition Timing
|
||
5 Intake Air Temperature
|
||
4 Mass Air Flow
|
||
3 Throttle Opening Angle
|
||
2 Front O2 Sensor #1
|
||
1 Rear O2 Sensor
|
||
0 Front O2 Sensor #2
|
||
|
||
********** BYTE 11 *********
|
||
7 Battery Voltage
|
||
6 Air Flow Sensor Voltage
|
||
5 Throttle Sensor Voltage
|
||
4 Differential Pressure Sensor Voltage
|
||
3 Fuel Injection #1 Pulse Width
|
||
2 Fuel Injection #2 Pulse Width
|
||
1 Knock Correction
|
||
0 Atmospheric Pressure
|
||
|
||
********** BYTE 12 **********
|
||
7 Manifold Relative Pressure
|
||
6 Pressure Differential Sensor
|
||
5 Fuel Tank Pressure
|
||
4 CO Adjustment
|
||
3 Learned Ignition Timing
|
||
2 Accelerator Opening Angle
|
||
1 Fuel Temperature
|
||
0 Front O2 Heater #1
|
||
|
||
********** BYTE 13 *********
|
||
7 Rear O2 Heater Current
|
||
6 Front O2 Heater #2
|
||
5 Fuel Level
|
||
4 -------------------------
|
||
3 Primary Wastegate Duty Cycle
|
||
2 Secondary Wastegate Duty Cycle
|
||
1 CPC Valve Duty Ratio
|
||
0 Tumble Valve Position Sensor Right
|
||
|
||
********** BYTE 14 *********
|
||
7 Tumble Valve Position Sensor Left
|
||
6 Idle Speed Control Valve Duty Ratio
|
||
5 Air/Fuel Lean Correction
|
||
4 Air/Fuel Heater Duty
|
||
3 Idle Speed Control Valve Step
|
||
2 Number of Ex. Gas Recirc Steps
|
||
1 Alternator Duty
|
||
0 Fuel Pump Duty
|
||
|
||
********** BYTE 15 *********
|
||
7 VVT Advance Angle Right
|
||
6 VVT Advance Angle Left
|
||
5 OCV Duty Right
|
||
4 OCV Duty Left
|
||
3 OCV Current Right
|
||
2 OCV Current Left
|
||
1 Air/Fuel Sensor #1 Current
|
||
0 Air/Fuel Sensor #2 Current
|
||
|
||
********** BYTE 16 **********
|
||
7 Air/Fuel Sensor #1 Resistance
|
||
6 Air/Fuel Sensor #2 Resistance
|
||
5 Air/Fuel Sensor #1
|
||
4 Air/Fuel Sensor #2
|
||
3 Air/Fuel Correction #3
|
||
2 Air/Fuel Learning #3
|
||
1 Rear O2 Heater Voltage
|
||
0 Air/Fuel Adjustment Voltage
|
||
|
||
********** BYTE 17 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 Gear Position
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 18 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 Air/Fuel Sensor #1 Heater Current
|
||
3 Air/Fuel Sensor #2 Heater Current
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 19 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 20 **********
|
||
7 -------------------------
|
||
6 AT Vehicle ID
|
||
5 Test Mode Connector
|
||
4 Read Memory Connector
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
********** BYTE 21 **********
|
||
7 Neutral Position Switch
|
||
6 Idle Switch
|
||
5 -------------------------
|
||
4 Intercooler AutoWash Switch
|
||
3 Ignition Switch
|
||
2 Power Steering Switch
|
||
1 Air Conditioning Switch
|
||
0 -------------------------
|
||
********** BYTE 22 **********
|
||
7 Handle Switchv
|
||
6 Starter Switch
|
||
|
||
5 Front O2 Rich Signal
|
||
4 Rear O2 Rich Signal
|
||
|
||
3 Front O2 #2 Rich Signal
|
||
2 Knock Signal 1
|
||
1 Knock Signal 2
|
||
0 Electrical Load Signal
|
||
********** BYTE 23 **********
|
||
7 Crank Position Sensor
|
||
6 Cam Position Senso
|
||
5 Defogger Switch
|
||
4 Blower Switch
|
||
3 Interior Light Switch
|
||
2 Wiper Switch
|
||
1 Air-Con Lock Signal
|
||
0 Air-Con Mid Pressure Switch
|
||
|
||
********** BYTE 24 **********
|
||
7 Air-Con Compressor Signal
|
||
6 Radiator Fan Relay #3
|
||
5 Radiator Fan Relay #1
|
||
4 Radiator Fan Relay #2
|
||
3 Fuel Pump Relay
|
||
2 Intercooler Auto-Wash Relay
|
||
1 CPC Solenoid Valve
|
||
0 Blow-By Leak Connector
|
||
|
||
********** BYTE 25 **********
|
||
7 PCV Solenoid Valve
|
||
6 TGV Output
|
||
5 TGV Drive
|
||
4 Variable Intake Air Solenoid
|
||
3 Pressure Sources Change
|
||
2 Vent Solenoid Valve
|
||
1 P/S Solenoid Valve
|
||
0 Assist Air Solenoid Valve
|
||
|
||
********** BYTE 26 **********
|
||
7 Tank Sensor Control Valve
|
||
6 Relief Valve Solenoid 1
|
||
5 Relief Valve Solenoid 2
|
||
4 TCS Relief Valve Solenoid
|
||
3 Ex. Gas Positive Pressure
|
||
2 Ex. Gas Negative Pressure
|
||
1 Intake Air Solenoid
|
||
0 Muffler Control
|
||
|
||
********** BYTE 27 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 Retard Signal from AT
|
||
2 Fuel Cut Signal from AT
|
||
1 Ban of Torque Down
|
||
0 Request Torque Down VDC
|
||
|
||
********** BYTE 28 **********
|
||
7 Torque Control Signal #1
|
||
6 Torque Control Signal #2
|
||
5 Torque Permission Signal
|
||
4 EAM signal
|
||
3 AT coop. lock up signal
|
||
2 AT coop. lean burn signal
|
||
1 AT coop. rich spike signal
|
||
0 AET Signal
|
||
|
||
********** BYTE 29 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 30 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 31 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 32 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 33 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 34 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 35 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 36 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 37 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 38 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 39 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 Throttle Motor Duty
|
||
4 Throttle Motor Voltage
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 40 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 41 **********
|
||
7 Sub Throttle Sensor
|
||
6 Main Throttle Sensor
|
||
5 Sub Accelerator Sensor
|
||
4 Main Accelerator Sensor
|
||
3 Brake Booster Pressure
|
||
2 Fuel Pressure (High)
|
||
1 Exhaust Gas Temperature
|
||
0 -------------------------
|
||
|
||
********** BYTE 42 **********
|
||
7 Cold Start Injector
|
||
6 SCV Step
|
||
5 Memorized Cruise Speed
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 43 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 44 **********
|
||
7 Exhaust VVT Advance Angle Right
|
||
6 Exhaust VVT Advance Angle Left
|
||
5 Exhaust OCV Duty Right
|
||
4 Exhaust OCV Duty Left
|
||
3 Exhaust OCV Current Right
|
||
2 Exhaust OCV Current Left
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 45 **********
|
||
7 -------------------------
|
||
6 ETC Motor Relay
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 46 **********
|
||
7 Clutch Switch
|
||
6 Stop Light Switch
|
||
5 Set/Coast Switch
|
||
4 Resume/Accelerate Switch
|
||
3 Brake Switch
|
||
2 -------------------------
|
||
1 Accelerator Switch
|
||
0 -------------------------
|
||
|
||
********** BYTE 47 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 48 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 49 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 50 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 51 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 52 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 53 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 54 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 55 **********
|
||
7 -------------------------
|
||
6 -------------------------
|
||
5 -------------------------
|
||
4 -------------------------
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
********** BYTE 56 **********
|
||
7 Roughness Monitor Cylinder #1
|
||
6 Roughness Monitor Cylinder #2
|
||
5 Roughness Monitor Cylinder #3
|
||
4 Roughness Monitor Cylinder #4
|
||
3 -------------------------
|
||
2 -------------------------
|
||
1 -------------------------
|
||
0 -------------------------
|
||
|
||
|
||
Parameters are read by providing a 3 byte address for each parameter via command 0xA8 For example use address 0x000008 for Coolant temp
|
||
and use addresses 0x00000E and 0x00000F for engine RPM
|
||
|
||
Parameters **********************************************************
|
||
|
||
- Engine Load ----------------------------------------------
|
||
8 bit value
|
||
P0x07 = low byte
|
||
|
||
Multiply value by 100.0 and divide by 255 to get percent
|
||
------------------------------------------------------------
|
||
- Coolant Temperature --------------------------------------
|
||
8 bit value
|
||
P0x008 = low byte
|
||
|
||
|
||
Subtract 40 from value to get Degrees C
|
||
------------------------------------------------------------
|
||
- Air/Fuel Correction #1 -----------------------------------
|
||
8 bit value
|
||
P0x009 = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Learning #1 -------------------------------------
|
||
8 bit value
|
||
P0x00A = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Correction #2 -----------------------------------
|
||
8 bit value
|
||
P0x00B = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Learning #2 -------------------------------------
|
||
8 bit value
|
||
P0x00C = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Manifold Absolute Pressure -------------------------------
|
||
8 bit value
|
||
P0x0D = low byte
|
||
|
||
Multiply value by 37.0 and divide by 255 to get psig
|
||
------------------------------------------------------------
|
||
- Engine Speed ---------------------------------------------
|
||
16 bit value
|
||
P0x0E = high byte
|
||
P0x0F = low byte
|
||
|
||
Divide value by 4 to get RPM
|
||
------------------------------------------------------------
|
||
- Vehicle Speed --------------------------------------------
|
||
8 bit value
|
||
P0x010 = low byte
|
||
|
||
Value is in km/h
|
||
------------------------------------------------------------
|
||
- Ignition Timing ------------------------------------------
|
||
8 bit balue P0x11 = low byte
|
||
|
||
Subtract 128 from value and divide by 2 to get degrees
|
||
------------------------------------------------------------
|
||
- Intake Air Temperature -----------------------------------
|
||
8 bit value
|
||
P0x012 = low byte
|
||
|
||
Subtract 40 from value to get Degrees C
|
||
------------------------------------------------------------
|
||
- Mass Air Flow --------------------------------------------
|
||
16 bit value
|
||
P0x13 = high byte
|
||
P0x14 = low byte
|
||
|
||
Divide value by 100.0 to get grams/s
|
||
------------------------------------------------------------
|
||
- Throttle Opening Angle -----------------------------------
|
||
8 bit value
|
||
P0x15 = low byte
|
||
|
||
Multiply value by 100.0 and divide by 255 to get percent
|
||
------------------------------------------------------------
|
||
- Front O2 Sensor #1 ---------------------------------------
|
||
16 bit value
|
||
P0x016 = high byte
|
||
P0x017 = low byte
|
||
|
||
Multiply value by 0.005 to get voltage
|
||
------------------------------------------------------------
|
||
- Rear O2 Sensor -------------------------------------------
|
||
16 bit value
|
||
P0x018 = high byte
|
||
P0x019 = low byte
|
||
|
||
Multiply value by 0.005 to get voltage
|
||
------------------------------------------------------------
|
||
- Front O2 Sensor #2 ---------------------------------------
|
||
16 bit value
|
||
P0x01A = high byte
|
||
P0x01B = low byte
|
||
|
||
Multiply value by 0.005 to get voltage
|
||
------------------------------------------------------------
|
||
- Battery Voltage ------------------------------------------
|
||
8 bit value
|
||
P0x01C = low byte
|
||
|
||
Multiply value by 0.08 to get volts
|
||
------------------------------------------------------------
|
||
- Air Flow Sensor Voltage ----------------------------------
|
||
8 bit value
|
||
P0x01D = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Throttle Sensor Voltage ----------------------------------
|
||
8 bit value
|
||
P0x01E = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Differential Pressure Sensor Voltage ---------------------
|
||
8 bit value
|
||
P0x01F = low byte
|
||
|
||
Multiply value by 0.02 to get Volts
|
||
------------------------------------------------------------
|
||
- Fuel Injection #1 Pulse Width ----------------------------
|
||
8 bit value
|
||
P0x20 = low byte
|
||
|
||
Multiply value by 0.256 to get ms
|
||
------------------------------------------------------------
|
||
- Fuel Injection #2 Pulse Width ----------------------------
|
||
8 bit value
|
||
P0x21 = low byte
|
||
|
||
Multiply value by 0.256 to get ms
|
||
------------------------------------------------------------
|
||
- Knock Correction -----------------------------------------
|
||
8 bit value
|
||
P0x22 = low byte
|
||
|
||
Subtract 128 from value and divide by 2 to get degrees
|
||
------------------------------------------------------------
|
||
- Atmospheric Pressure -------------------------------------
|
||
8 bit value
|
||
P0x023 = low byte
|
||
|
||
Multiply value by 37.0 and divide by 255 to get psig
|
||
------------------------------------------------------------
|
||
- Manifold Relative Pressure -------------------------------
|
||
8 bit value
|
||
P0x24 = low byte
|
||
|
||
Subtract 128 from value, multiply by 37.0 and divide by 255 to get psig
|
||
------------------------------------------------------------
|
||
- Pressure Differential Sensor -----------------------------
|
||
8 bit value
|
||
P0x25 = low byte
|
||
|
||
Subtract 128 from value, multiply by 37.0 and divide by 255 to get psig
|
||
------------------------------------------------------------
|
||
- Fuel Tank Pressure ---------------------------------------
|
||
8 bit value
|
||
P0x026 = low byte
|
||
|
||
Subtract 128 from value and multiply by 0.0035 to get psig
|
||
------------------------------------------------------------
|
||
- CO Adjustment --------------------------------------------
|
||
8 bit value
|
||
P0x027 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Learned Ignition Timing ----------------------------------
|
||
8 bit value
|
||
P0x028 = low byte
|
||
|
||
Subtract 128 from value and divide by 2 to get degrees
|
||
------------------------------------------------------------
|
||
- Accelerator Opening Angle --------------------------------
|
||
8 bit valuev P0x029 = low byte
|
||
|
||
Divide value by 2.56 to get percent
|
||
------------------------------------------------------------
|
||
- Fuel Temperature -----------------------------------------
|
||
8 bit value
|
||
P0x02A = low byte
|
||
|
||
Subtract 40 from value to get Degrees C
|
||
------------------------------------------------------------
|
||
- Front O2 Heater #1 ---------------------------------------
|
||
8 bit value
|
||
P0x02B = low byte
|
||
|
||
Multiply value by 10.04 and divide by 256 to get Amps
|
||
------------------------------------------------------------
|
||
- Rear O2 Heater Current -----------------------------------
|
||
8 bit value
|
||
P0x02C = low byte
|
||
|
||
Multiply value by 10.04 and divide by 256 to get Amps
|
||
------------------------------------------------------------
|
||
- Front O2 Heater #2 ---------------------------------------
|
||
8 bit value
|
||
P0x02D = low byte
|
||
|
||
Multiply value by 10.04 and divide by 256 to get Amps
|
||
------------------------------------------------------------
|
||
- Fuel Level -----------------------------------------------
|
||
8 bit value
|
||
P0x02E = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Primary Wastegate Duty Cycle -----------------------------
|
||
8 bit value
|
||
P0x30 = low byte
|
||
|
||
|
||
|
||
Multiply value by 100.0 and divide by 255 to get percent
|
||
------------------------------------------------------------
|
||
- Secondary Wastegate Duty Cycle ---------------------------
|
||
8 bit value
|
||
P0x31 = low byte
|
||
|
||
Multiply value by 100.0 and divide by 255 to get percent
|
||
------------------------------------------------------------
|
||
- CPC Valve Duty Ratio -------------------------------------
|
||
8 bit value
|
||
P0x032 = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Tumble Valve Position Sensor Right -----------------------
|
||
8 bit value
|
||
P0x033 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Tumble Valve Position Sensor Left ------------------------
|
||
8 bit value
|
||
P0x034 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Idle Speed Control Valve Duty Ratio ----------------------
|
||
8 bit value
|
||
P0x035 = low byte
|
||
|
||
Divide value by 2 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Lean Correction ---------------------------------
|
||
8 bit value
|
||
P0x036 = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Heater Duty -------------------------------------
|
||
8 bit value
|
||
P0x037 = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Idle Speed Control Valve Step ----------------------------
|
||
8 bit value
|
||
P0x038 = low byte
|
||
|
||
Value is in steps
|
||
------------------------------------------------------------
|
||
- Number of Ex. Gas Recirc. Steps --------------------------
|
||
8 bit value
|
||
P0x039 = low byte
|
||
|
||
Value is in steps
|
||
------------------------------------------------------------
|
||
- Alternator Duty ------------------------------------------
|
||
8 bit value
|
||
P0x03A = low byte
|
||
|
||
Value is in percent
|
||
------------------------------------------------------------
|
||
- Fuel Pump Duty -------------------------------------------
|
||
8 bit value
|
||
P0x03B = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Intake VVT Advance Angle Right ---------------------------
|
||
8 bit value
|
||
P0x03C = low byte
|
||
|
||
Subtract 50 from value to get degrees
|
||
------------------------------------------------------------
|
||
- Intake VVT Advance Angle Left ---------------------------
|
||
8 bit value
|
||
P0x03D = low byte
|
||
|
||
Subtract 50 from value to get degrees
|
||
------------------------------------------------------------
|
||
- Intake OCV Duty Right ------------------------------------
|
||
8 bit value
|
||
P0x03E = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Intake OCV Duty Left -------------------------------------
|
||
8 bit value
|
||
P0x03F = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Intake OCV Current Right ---------------------------------
|
||
8 bit value
|
||
P0x040 = low byte
|
||
|
||
Multiply value by 32 to get mA
|
||
------------------------------------------------------------
|
||
- Intake OCV Current Left ----------------------------------
|
||
8 bit value
|
||
P0x041 = low byte
|
||
|
||
Multiply value by 32 to get mA
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #1 Current -------------------------------
|
||
8 bit value
|
||
P0x042 = low byte
|
||
|
||
Subtract 128 from value and multiply by .125 to get mA
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #2 Current -------------------------------
|
||
8 bit value
|
||
P0x043 = low byte
|
||
|
||
Subtract 128 from value and multiply by .125 to get mA
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #1 Resistance ----------------------------
|
||
8 bit value
|
||
P0x044 = low byte
|
||
|
||
Value is in ohms
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #2 Resistance ----------------------------
|
||
8 bit value
|
||
P0x045 = low byte
|
||
|
||
Value is in ohms
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #1 ---------------------------------------
|
||
8 bit value
|
||
P0x46 = low byte
|
||
|
||
Divide value by 128.0 to get Lambda
|
||
------------------------------------------------------------
|
||
- Air/Fuel Sensor #2 ---------------------------------------
|
||
8 bit value
|
||
P0x47 = low byte
|
||
|
||
Divide value by 128.0 to get Lambda
|
||
------------------------------------------------------------
|
||
- Gear Position --------------------------------------------
|
||
8 bit value
|
||
P0x04A = low byte
|
||
|
||
Add 1 to value to get gear
|
||
------------------------------------------------------------
|
||
- A/F Sensor #1 Heater Current -----------------------------
|
||
8 bit value
|
||
P0x053 = low byte
|
||
|
||
Divide value by 10 to get Amps
|
||
------------------------------------------------------------
|
||
- A/F Sensor #2 Heater Current -----------------------------
|
||
8 bit value
|
||
P0x054 = low byte
|
||
|
||
|
||
Divide value by 10 to get Amps
|
||
------------------------------------------------------------
|
||
- Roughness Monitor Cylinder #1 ----------------------------
|
||
8 bit value
|
||
P0x0CE = low byte
|
||
|
||
Value is in ?
|
||
------------------------------------------------------------
|
||
- Roughness Monitor Cylinder #2 ----------------------------
|
||
8 bit value
|
||
P0x0CF = low byte
|
||
|
||
Value is in ?
|
||
------------------------------------------------------------
|
||
- Air/Fuel Correction #3 -----------------------------------
|
||
8 bit value
|
||
P0x0D0 = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Air/Fuel Learning #3 -------------------------------------
|
||
8 bit value
|
||
|
||
P0x0D1 = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Rear O2 Heater Voltage -----------------------------------
|
||
8 bit value
|
||
P0x0D2 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Air/Fuel Adjustment Voltage ------------------------------
|
||
8 bit value
|
||
P0x0D3 = low byte
|
||
|
||
Multiply value by 0.02 to get voltage
|
||
------------------------------------------------------------
|
||
- Roughness Monitor Cylinder #3 ----------------------------
|
||
8 bit value
|
||
P0x0D8 = low byte
|
||
|
||
Value is in ?
|
||
------------------------------------------------------------
|
||
- Roughness Monitor Cylinder #4 ----------------------------
|
||
8 bit value
|
||
P0x0D9 = low byte
|
||
|
||
Value is in ?
|
||
------------------------------------------------------------
|
||
- Throttle Motor Duty --------------------------------------
|
||
8 bit value
|
||
P0x0fa = low byte
|
||
|
||
Subtract 128 from value and divide by 1.28 to get percent
|
||
------------------------------------------------------------
|
||
- Throttle Motor Voltage -----------------------------------
|
||
8 bit value
|
||
P0x0FB = low byte
|
||
|
||
Multiply value by 0.08 to get volts
|
||
------------------------------------------------------------
|
||
- Sub Throttle Sensor --------------------------------------
|
||
8 bit value
|
||
P0x100 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Main Throttle Sensor -------------------------------------
|
||
8 bit value
|
||
P0x101 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Sub Accelerator Sensor -----------------------------------
|
||
8 bit value
|
||
P0x102 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Main Accelerator Sensor ----------------------------------
|
||
8 bit value
|
||
P0x103 = low byte
|
||
|
||
Multiply value by 0.02 to get volts
|
||
------------------------------------------------------------
|
||
- Brake Booster Pressure -----------------------------------
|
||
8 bit value
|
||
P0x104 = low byte
|
||
|
||
Multiply value by 37.0 and divide by 255 to get psig
|
||
------------------------------------------------------------
|
||
- Fuel Pressure (High) -------------------------------------
|
||
8 bit value
|
||
P0x105 = low byte
|
||
|
||
Multiply value by 0.04 to get MPa
|
||
------------------------------------------------------------
|
||
- Exhaust Gas Temperature ----------------------------------
|
||
8 bit value
|
||
P0x106 = low byte
|
||
|
||
Add 40 to value and multiply by 5 to get Degrees C
|
||
------------------------------------------------------------
|
||
- Cold Start Injector --------------------------------------
|
||
8 bit value
|
||
P0x108 = low byte
|
||
|
||
Multiply value by .256 to get ms
|
||
------------------------------------------------------------
|
||
- SCV Step -------------------------------------------------
|
||
8 bit value
|
||
P0x109 = low byte
|
||
|
||
Value is in Steps
|
||
------------------------------------------------------------
|
||
- Memorised Cruise Speed -----------------------------------
|
||
8 bit value
|
||
P0x10a = low byte
|
||
|
||
Value is in km/h
|
||
------------------------------------------------------------
|
||
- Exhaust VVT Advance Angle Right --------------------------
|
||
8 bit value
|
||
P0x118 = low byte
|
||
|
||
Subtract 50 from value to get degrees
|
||
------------------------------------------------------------
|
||
- Exhaust VVT Advance Angle Left ---------------------------
|
||
8 bit value
|
||
P0x119 = low byte
|
||
|
||
Subtract 50 from value to get degrees
|
||
------------------------------------------------------------
|
||
- Exhaust OCV Duty Right -----------------------------------
|
||
8 bit value
|
||
P0x11A = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Exhaust OCV Duty Left ------------------------------------
|
||
8 bit value
|
||
P0x11B = low byte
|
||
|
||
Divide value by 2.55 to get percent
|
||
------------------------------------------------------------
|
||
- Exhaust OCV Current Right --------------------------------
|
||
8 bit value
|
||
P0x11C = low byte
|
||
|
||
Multiply value by 32 to get mA
|
||
------------------------------------------------------------
|
||
- Exhaust OCV Current Left ---------------------------------
|
||
8 bit value
|
||
P0x11D = low byte
|
||
|
||
Multiply value by 32 to get mA
|
||
------------------------------------------------------------
|
||
|
||
|
||
|
||
Switches are read in the same way a parameter is read except that it will
|
||
return up to
|
||
8 individual ON/OFF flags in the individual bits of the return byte
|
||
|
||
Switches **************************************************************
|
||
|
||
Switch P0x061
|
||
7 -----------------------
|
||
6 AT Vehicle ID
|
||
5 Test Mode Connector
|
||
4 Read Memory Connector
|
||
3 -----------------------
|
||
2 -----------------------
|
||
1 -----------------------
|
||
0 -----------------------
|
||
|
||
Switch P0x062
|
||
7 Neutral Position Switch
|
||
6 Idle Switch
|
||
5 -----------------------
|
||
4 Intercooler AutoWash Switch
|
||
3 Ignition Switch
|
||
2 Power Steering Switch
|
||
1 Air Conditioning Switch
|
||
0 -----------------------
|
||
|
||
Switch P0x063
|
||
7 Handle Switch
|
||
6 Starter Switch
|
||
5 Front O2 Rich Signal
|
||
4 Rear O2 Rich Signal
|
||
3 Front O2 #2 Rich Signal
|
||
2 Knock Signal 1
|
||
1 Knock Signal 2
|
||
0 Electrical Load Signal
|
||
|
||
Switch P0x064
|
||
7 Crank Position Sensor
|
||
6 Cam Position Sensor
|
||
5 Defogger Switch
|
||
4 Blower Switch
|
||
3 Interior Light Switch
|
||
2 Wiper Switch
|
||
1 Air-Con Lock Signal
|
||
0 Air-Con Mid Pressure Switch
|
||
|
||
Switch P0x065
|
||
7 Air-Con Compressor Signal
|
||
6 Radiator Fan Relay #3
|
||
5 Radiator Fan Relay #1
|
||
4 Radiator Fan Relay #2
|
||
3 Fuel Pump Relay
|
||
2 Intercooler Auto-Wash Relay
|
||
1 CPC Solenoid Valve
|
||
0 Blow-By Leak Connector
|
||
|
||
Switch P0x066
|
||
7 PCV Solenoid Valve
|
||
6 TGV Output
|
||
5 TGV Drive
|
||
4 Variable Intake Air Solenoid
|
||
3 Pressure Sources Change
|
||
2 Vent Solenoid Valve
|
||
1 P/S Solenoid Valve
|
||
0 Assist Air Solenoid Valve
|
||
|
||
Switch P0x067
|
||
7 Tank Sensor Control Valve
|
||
6 Relief Valve Solenoid 1
|
||
5 Relief Valve Solenoid 2
|
||
4 TCS Relief Valve Solenoid
|
||
3 Ex. Gas Positive Pressure
|
||
2 Ex. Gas Negative Pressure
|
||
1 Intake Air Solenoid
|
||
0 Muffler Control
|
||
|
||
Switch P0x068
|
||
7 -----------------------
|
||
6 -----------------------
|
||
5 -----------------------
|
||
4 -----------------------
|
||
3 Retard Signal from AT
|
||
2 Fuel Cut Signal from AT
|
||
1 Ban of Torque Down
|
||
0 Request Torque Down VDC
|
||
|
||
Switch P0x069
|
||
7 Torque Control Signal #1
|
||
6 Torque Control Signal #2
|
||
5 Torque Permission Signal
|
||
4 EAM Signal
|
||
3 AT coop. lock up signal
|
||
2 AT coop. lean burn signal
|
||
1 AT coop. rich spike signal
|
||
0 AET Signal
|
||
|
||
Switch P0x120
|
||
7 -----------------------
|
||
6 ETC Motor Relay
|
||
5 -----------------------
|
||
4 -----------------------
|
||
3 -----------------------
|
||
2 -----------------------
|
||
1 -----------------------
|
||
0 -----------------------
|
||
|
||
Switch P0x121
|
||
7 Clutch Switch
|
||
6 Stop Light Switch
|
||
5 Set/Coast Switch
|
||
4 Rsume/Accelerate Switch
|
||
3 Brake Switch
|
||
2 -----------------------
|
||
1 Accelerator Switch
|
||
0 -----------------------
|