check voltage instead of temperature (#4062)

This commit is contained in:
Matthew Kennedy 2022-04-10 14:41:41 -07:00 committed by GitHub
parent d5d122c239
commit d52c3f93d8
1 changed files with 8 additions and 9 deletions

View File

@ -192,8 +192,8 @@ void Engine::updateTriggerWaveform() {
} }
#if ANALOG_HW_CHECK_MODE #if ANALOG_HW_CHECK_MODE
static void assertCloseTo(const char * msg, float actual, float expected, float lowRatio, float highRatio) { static void assertCloseTo(const char* msg, float actual, float expected) {
if (actual < lowRatio * expected || actual > highRatio * expected) { if (actual < 0.95f * expected || actual > 1.05f * expected) {
firmwareError(OBD_PCM_Processor_Fault, "%s validation failed actual=%f vs expected=%f", msg, actual, expected); firmwareError(OBD_PCM_Processor_Fault, "%s validation failed actual=%f vs expected=%f", msg, actual, expected);
} }
} }
@ -255,7 +255,7 @@ void Engine::periodicSlowCallback() {
#endif #endif
if (secondsNow > 2 && secondsNow < 180) { if (secondsNow > 2 && secondsNow < 180) {
assertCloseTo("RPM", Sensor::get(SensorType::Rpm).Value, HW_CHECK_RPM, 0.9, 1.1); assertCloseTo("RPM", Sensor::get(SensorType::Rpm).Value, HW_CHECK_RPM);
} else if (!hasFirmwareError() && secondsNow > 180) { } else if (!hasFirmwareError() && secondsNow > 180) {
static bool isHappyTest = false; static bool isHappyTest = false;
if (!isHappyTest) { if (!isHappyTest) {
@ -264,12 +264,11 @@ void Engine::periodicSlowCallback() {
isHappyTest = true; isHappyTest = true;
} }
} }
float l = 1 - 0.2;
float h = 1 + 0.2; assertCloseTo("clt", Sensor::getRaw(SensorType::Clt), 1.351f);
assertCloseTo("clt", Sensor::get(SensorType::Clt).Value, 49.3, l, h); assertCloseTo("iat", Sensor::getRaw(SensorType::Iat), 2.245f);
assertCloseTo("iat", Sensor::get(SensorType::Iat).Value, 73.2, l, h); assertCloseTo("aut1", Sensor::getRaw(SensorType::AuxTemp1), 2.750f);
assertCloseTo("aut1", Sensor::get(SensorType::AuxTemp1).Value, 13.8, l, h); assertCloseTo("aut2", Sensor::getRaw(SensorType::AuxTemp2), 3.176f);
assertCloseTo("aut2", Sensor::get(SensorType::AuxTemp2).Value, 9.274291, l, h);
#endif // ANALOG_HW_CHECK_MODE #endif // ANALOG_HW_CHECK_MODE
} }