From 32e502c569aeabac5ee5eeee5c6baefad3f410f2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 30 Nov 2022 21:23:13 -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 --- firmware/controllers/actuators/electronic_throttle_impl.h | 2 +- unit_tests/tests/actuators/test_etb_integrated.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/firmware/controllers/actuators/electronic_throttle_impl.h b/firmware/controllers/actuators/electronic_throttle_impl.h index 70c2f6a92a..be2ac73ad2 100644 --- a/firmware/controllers/actuators/electronic_throttle_impl.h +++ b/firmware/controllers/actuators/electronic_throttle_impl.h @@ -73,11 +73,11 @@ public: float getLuaAdjustment() const; float prevOutput = 0; + int prevErrorState = false; protected: // This is set if an automatic TPS calibration should be run bool m_isAutocal = false; - int prevErrorState = false; etb_function_e getFunction() const { return m_function; } DcMotor* getMotor() { return m_motor; } diff --git a/unit_tests/tests/actuators/test_etb_integrated.cpp b/unit_tests/tests/actuators/test_etb_integrated.cpp index 6d80f30f8a..296379dd2a 100644 --- a/unit_tests/tests/actuators/test_etb_integrated.cpp +++ b/unit_tests/tests/actuators/test_etb_integrated.cpp @@ -20,6 +20,7 @@ static EtbController * initEtbIntegratedTest() { EtbController *etb = (EtbController*)engine->etbControllers[0]; etb->etbInputErrorCounter = 0; // ETB controlles are global shared instances :( + etb->prevErrorState = false; return etb; } @@ -78,9 +79,9 @@ TEST(etb, intermittentPps) { ASSERT_FALSE(isTps2Error()); ASSERT_FALSE(isPedalError()); etb->update(); - ASSERT_EQ(1, etb->etbInputErrorCounter); + ASSERT_EQ(0, etb->etbInputErrorCounter); Sensor::setInvalidMockValue(SensorType::AcceleratorPedal); etb->update(); - ASSERT_EQ(2, etb->etbInputErrorCounter); + ASSERT_EQ(1, etb->etbInputErrorCounter); }