Skip to content

Commit 7d039a3

Browse files
author
Brendan Whitfield
committed
added fuel and air status links
1 parent 69fc042 commit 7d039a3

3 files changed

Lines changed: 40 additions & 11 deletions

File tree

docs/Commands.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ obd.commands.has_pid(1, 12) # True
7474

7575
|PID | Name | Description | Response Value |
7676
|----|---------------------------|-----------------------------------------|-----------------------|
77-
| 00 | PIDS_A | Supported PIDs [01-20] | bitstring |
77+
| 00 | PIDS_A | Supported PIDs [01-20] | bitarray |
7878
| 01 | STATUS | Status since DTCs cleared | [special](Responses.md#status) |
7979
| 02 | FREEZE_DTC | DTC that triggered the freeze frame | [special](Responses.md#diagnostic-trouble-codes-dtcs) |
80-
| 03 | FUEL_STATUS | Fuel System Status | string |
80+
| 03 | FUEL_STATUS | Fuel System Status | [(string, string)](Responses.md#fuel-status) |
8181
| 04 | ENGINE_LOAD | Calculated Engine Load | Unit.percent |
8282
| 05 | COOLANT_TEMP | Engine Coolant Temperature | Unit.celsius |
8383
| 06 | SHORT_FUEL_TRIM_1 | Short Term Fuel Trim - Bank 1 | Unit.percent |
@@ -92,7 +92,7 @@ obd.commands.has_pid(1, 12) # True
9292
| 0F | INTAKE_TEMP | Intake Air Temp | Unit.celsius |
9393
| 10 | MAF | Air Flow Rate (MAF) | Unit.grams_per_second |
9494
| 11 | THROTTLE_POS | Throttle Position | Unit.percent |
95-
| 12 | AIR_STATUS | Secondary Air Status | string |
95+
| 12 | AIR_STATUS | Secondary Air Status | [string](Responses.md#air-status) |
9696
| 13 | O2_SENSORS | O2 Sensors Present | [special](Responses.md#oxygen-sensors-present) |
9797
| 14 | O2_B1S1 | O2: Bank 1 - Sensor 1 Voltage | Unit.volt |
9898
| 15 | O2_B1S2 | O2: Bank 1 - Sensor 2 Voltage | Unit.volt |
@@ -106,7 +106,7 @@ obd.commands.has_pid(1, 12) # True
106106
| 1D | O2_SENSORS_ALT | O2 Sensors Present (alternate) | [special](Responses.md#oxygen-sensors-present) |
107107
| 1E | AUX_INPUT_STATUS | Auxiliary input status (power take off) | boolean |
108108
| 1F | RUN_TIME | Engine Run Time | Unit.second |
109-
| 20 | PIDS_B | Supported PIDs [21-40] | bitstring |
109+
| 20 | PIDS_B | Supported PIDs [21-40] | bitarray |
110110
| 21 | DISTANCE_W_MIL | Distance Traveled with MIL on | Unit.kilometer |
111111
| 22 | FUEL_RAIL_PRESSURE_VAC | Fuel Rail Pressure (relative to vacuum) | Unit.kilopascal |
112112
| 23 | FUEL_RAIL_PRESSURE_DIRECT | Fuel Rail Pressure (direct inject) | Unit.kilopascal |
@@ -138,7 +138,7 @@ obd.commands.has_pid(1, 12) # True
138138
| 3D | CATALYST_TEMP_B2S1 | Catalyst Temperature: Bank 2 - Sensor 1 | Unit.celsius |
139139
| 3E | CATALYST_TEMP_B1S2 | Catalyst Temperature: Bank 1 - Sensor 2 | Unit.celsius |
140140
| 3F | CATALYST_TEMP_B2S2 | Catalyst Temperature: Bank 2 - Sensor 2 | Unit.celsius |
141-
| 40 | PIDS_C | Supported PIDs [41-60] | bitstring |
141+
| 40 | PIDS_C | Supported PIDs [41-60] | bitarray |
142142
| 41 | *unsupported* | *unsupported* | |
143143
| 42 | *unsupported* | *unsupported* | |
144144
| 43 | *unsupported* | *unsupported* | |
@@ -212,7 +212,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
212212

213213
|PID | Name | Description | Response Value |
214214
|-------|-----------------------------|--------------------------------------------|-----------------------|
215-
| 00 | MIDS_A | Supported MIDs [01-20] | bitstring |
215+
| 00 | MIDS_A | Supported MIDs [01-20] | bitarray |
216216
| 01 | MONITOR_O2_B1S1 | O2 Sensor Monitor Bank 1 - Sensor 1 | [monitor](Responses.md#monitors-mode-06-responses) |
217217
| 02 | MONITOR_O2_B1S2 | O2 Sensor Monitor Bank 1 - Sensor 2 | [monitor](Responses.md#monitors-mode-06-responses) |
218218
| 03 | MONITOR_O2_B1S3 | O2 Sensor Monitor Bank 1 - Sensor 3 | [monitor](Responses.md#monitors-mode-06-responses) |
@@ -230,7 +230,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
230230
| 0F | MONITOR_O2_B4S3 | O2 Sensor Monitor Bank 4 - Sensor 3 | [monitor](Responses.md#monitors-mode-06-responses) |
231231
| 10 | MONITOR_O2_B4S4 | O2 Sensor Monitor Bank 4 - Sensor 4 | [monitor](Responses.md#monitors-mode-06-responses) |
232232
| *gap* | | |
233-
| 20 | MIDS_B | Supported MIDs [21-40] | bitstring |
233+
| 20 | MIDS_B | Supported MIDs [21-40] | bitarray |
234234
| 21 | MONITOR_CATALYST_B1 | Catalyst Monitor Bank 1 | [monitor](Responses.md#monitors-mode-06-responses) |
235235
| 22 | MONITOR_CATALYST_B2 | Catalyst Monitor Bank 2 | [monitor](Responses.md#monitors-mode-06-responses) |
236236
| 23 | MONITOR_CATALYST_B3 | Catalyst Monitor Bank 3 | [monitor](Responses.md#monitors-mode-06-responses) |
@@ -250,7 +250,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
250250
| 3C | MONITOR_EVAP_020 | EVAP Monitor (0.020\") | [monitor](Responses.md#monitors-mode-06-responses) |
251251
| 3D | MONITOR_PURGE_FLOW | Purge Flow Monitor | [monitor](Responses.md#monitors-mode-06-responses) |
252252
| *gap* | | |
253-
| 40 | MIDS_C | Supported MIDs [41-60] | bitstring |
253+
| 40 | MIDS_C | Supported MIDs [41-60] | bitarray |
254254
| 41 | MONITOR_O2_HEATER_B1S1 | O2 Sensor Heater Monitor Bank 1 - Sensor 1 | [monitor](Responses.md#monitors-mode-06-responses) |
255255
| 42 | MONITOR_O2_HEATER_B1S2 | O2 Sensor Heater Monitor Bank 1 - Sensor 2 | [monitor](Responses.md#monitors-mode-06-responses) |
256256
| 43 | MONITOR_O2_HEATER_B1S3 | O2 Sensor Heater Monitor Bank 1 - Sensor 3 | [monitor](Responses.md#monitors-mode-06-responses) |
@@ -268,7 +268,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
268268
| 4F | MONITOR_O2_HEATER_B4S3 | O2 Sensor Heater Monitor Bank 4 - Sensor 3 | [monitor](Responses.md#monitors-mode-06-responses) |
269269
| 50 | MONITOR_O2_HEATER_B4S4 | O2 Sensor Heater Monitor Bank 4 - Sensor 4 | [monitor](Responses.md#monitors-mode-06-responses) |
270270
| *gap* | | |
271-
| 60 | MIDS_D | Supported MIDs [61-80] | bitstring |
271+
| 60 | MIDS_D | Supported MIDs [61-80] | bitarray |
272272
| 61 | MONITOR_HEATED_CATALYST_B1 | Heated Catalyst Monitor Bank 1 | [monitor](Responses.md#monitors-mode-06-responses) |
273273
| 62 | MONITOR_HEATED_CATALYST_B2 | Heated Catalyst Monitor Bank 2 | [monitor](Responses.md#monitors-mode-06-responses) |
274274
| 63 | MONITOR_HEATED_CATALYST_B3 | Heated Catalyst Monitor Bank 3 | [monitor](Responses.md#monitors-mode-06-responses) |
@@ -279,7 +279,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
279279
| 73 | MONITOR_SECONDARY_AIR_3 | Secondary Air Monitor 3 | [monitor](Responses.md#monitors-mode-06-responses) |
280280
| 74 | MONITOR_SECONDARY_AIR_4 | Secondary Air Monitor 4 | [monitor](Responses.md#monitors-mode-06-responses) |
281281
| *gap* | | |
282-
| 80 | MIDS_E | Supported MIDs [81-A0] | bitstring |
282+
| 80 | MIDS_E | Supported MIDs [81-A0] | bitarray |
283283
| 81 | MONITOR_FUEL_SYSTEM_B1 | Fuel System Monitor Bank 1 | [monitor](Responses.md#monitors-mode-06-responses) |
284284
| 82 | MONITOR_FUEL_SYSTEM_B2 | Fuel System Monitor Bank 2 | [monitor](Responses.md#monitors-mode-06-responses) |
285285
| 83 | MONITOR_FUEL_SYSTEM_B3 | Fuel System Monitor Bank 3 | [monitor](Responses.md#monitors-mode-06-responses) |
@@ -293,7 +293,7 @@ Mode 06 commands are used to monitor various test results from the vehicle. All
293293
| 98 | MONITOR_NOX_CATALYST_B1 | NOx Catalyst Monitor Bank 1 | [monitor](Responses.md#monitors-mode-06-responses) |
294294
| 99 | MONITOR_NOX_CATALYST_B2 | NOx Catalyst Monitor Bank 2 | [monitor](Responses.md#monitors-mode-06-responses) |
295295
| *gap* | | |
296-
| A0 | MIDS_F | Supported MIDs [A1-C0] | bitstring |
296+
| A0 | MIDS_F | Supported MIDs [A1-C0] | bitarray |
297297
| A1 | MONITOR_MISFIRE_GENERAL | Misfire Monitor General Data | [monitor](Responses.md#monitors-mode-06-responses) |
298298
| A2 | MONITOR_MISFIRE_CYLINDER_1 | Misfire Cylinder 1 Data | [monitor](Responses.md#monitors-mode-06-responses) |
299299
| A3 | MONITOR_MISFIRE_CYLINDER_2 | Misfire Cylinder 2 Data | [monitor](Responses.md#monitors-mode-06-responses) |

docs/Responses.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,34 @@ responce.value = ("P0104", "Mass or Volume Air Flow Circuit Intermittent")
127127

128128
---
129129

130+
# Fuel Status
131+
132+
The fuel status is a tuple of two strings, telling the status of the first and second fuel systems. Most cars only have one system, so the second element will likely be an empty string. The possible fuel statuses are:
133+
134+
| Fuel Status |
135+
| ----------------------------------------------------------------------------------------------|
136+
| `""` |
137+
| `"Open loop due to insufficient engine temperature"` |
138+
| `"Closed loop, using oxygen sensor feedback to determine fuel mix"` |
139+
| `"Open loop due to engine load OR fuel cut due to deceleration"` |
140+
| `"Open loop due to system failure"` |
141+
| `"Closed loop, using at least one oxygen sensor but there is a fault in the feedback system"` |
142+
143+
---
144+
145+
# Air Status
146+
147+
The air status will be one of these strings:
148+
149+
| Air Status |
150+
| ---------------------------------------|
151+
| `"Upstream"` |
152+
| `"Downstream of catalytic converter"` |
153+
| `"From the outside atmosphere or off"` |
154+
| `"Pump commanded on for diagnostics"` |
155+
156+
---
157+
130158
# Oxygen Sensors Present
131159

132160
Returns a 2D structure of tuples (representing bank and sensor number), that holds boolean values for sensor presence.

tests/test_decoders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ def test_fuel_status():
119119
assert d.fuel_status(m("0800")) == ("Open loop due to system failure", "")
120120
assert d.fuel_status(m("0808")) == ("Open loop due to system failure",
121121
"Open loop due to system failure")
122+
assert d.fuel_status(m("0008")) == ("", "Open loop due to system failure")
122123
assert d.fuel_status(m("0000")) == None
123124
assert d.fuel_status(m("0300")) == None
124125
assert d.fuel_status(m("0303")) == None

0 commit comments

Comments
 (0)