sensor_checker: translate pin_diag to OBD codes
This commit is contained in:
parent
8697d55ba1
commit
5987212d8d
|
@ -307,7 +307,9 @@ enum class ObdCode : uint16_t {
|
|||
//P0259 Injection Pump Fuel Metering Control "B" High (Cam/R
|
||||
//P0260 Injection Pump Fuel Metering Control "B" Intermittent Injector)
|
||||
//P0261 Cylinder I Injector Circuit Low
|
||||
OBD_Injector_Circuit_1_Low = 261,
|
||||
//P0262 Cylinder I Injector Circuit High
|
||||
OBD_Injector_Circuit_1_High = 262,
|
||||
//P0263 Cylinder I Contribution/Balance Fault
|
||||
//P0264 Cylinder 2 Injector Circuit Low
|
||||
//P0265 Cylinder 2 Injector Circuit High
|
||||
|
|
|
@ -128,9 +128,13 @@ static ObdCode getCodeForInjector(int idx, brain_pin_diag_e diag) {
|
|||
return ObdCode::None;
|
||||
}
|
||||
|
||||
// TODO: do something more intelligent with `diag`?
|
||||
UNUSED(diag);
|
||||
if ((diag & PIN_OPEN) || (diag & PIN_SHORT_TO_GND)) {
|
||||
return (ObdCode)((int)ObdCode::OBD_Injector_Circuit_1_Low + (idx * 3));
|
||||
} else if ((diag & PIN_SHORT_TO_BAT) || (diag & PIN_OVERLOAD)) {
|
||||
return (ObdCode)((int)ObdCode::OBD_Injector_Circuit_1_High + (idx * 3));
|
||||
}
|
||||
|
||||
/* else common error code */
|
||||
return (ObdCode)((int)ObdCode::OBD_Injector_Circuit_1 + idx);
|
||||
}
|
||||
#endif // EFI_ENGINE_CONTROL
|
||||
|
|
Loading…
Reference in New Issue