From 405b23d6823fa287dbe0ebe1952cf09479cd5c3b Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 30 Nov 2022 20:08:19 -0500 Subject: [PATCH] ETB overheats due to constant isTpsError true/false/true/false jitter: this seems obvious enough to disable ETB at least on non running engine #4832 --- .../tests/actuators/test_etb_integrated.cpp | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/unit_tests/tests/actuators/test_etb_integrated.cpp b/unit_tests/tests/actuators/test_etb_integrated.cpp index 18b0b29c35..6d80f30f8a 100644 --- a/unit_tests/tests/actuators/test_etb_integrated.cpp +++ b/unit_tests/tests/actuators/test_etb_integrated.cpp @@ -17,7 +17,10 @@ static EtbController * initEtbIntegratedTest() { initTps(); doInitElectronicThrottle(); - return (EtbController*)engine->etbControllers[0]; + + EtbController *etb = (EtbController*)engine->etbControllers[0]; + etb->etbInputErrorCounter = 0; // ETB controlles are global shared instances :( + return etb; } TEST(etb, integrated) { @@ -44,7 +47,6 @@ TEST(etb, integrated) { ASSERT_NEAR(destination, 130.2554, EPS3D); } - TEST(etb, integratedTpsJitter) { EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method EtbController *etb = initEtbIntegratedTest(); @@ -66,3 +68,19 @@ TEST(etb, integratedTpsJitter) { ASSERT_EQ(2, etb->etbInputErrorCounter); } + +TEST(etb, intermittentPps) { + EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method + EtbController *etb = initEtbIntegratedTest(); + Sensor::setMockValue(SensorType::AcceleratorPedal, 25.0f, true); + + ASSERT_FALSE(isTps1Error()); + ASSERT_FALSE(isTps2Error()); + ASSERT_FALSE(isPedalError()); + etb->update(); + ASSERT_EQ(1, etb->etbInputErrorCounter); + + Sensor::setInvalidMockValue(SensorType::AcceleratorPedal); + etb->update(); + ASSERT_EQ(2, etb->etbInputErrorCounter); +}