diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 4daf1a9c98..d25750a1c5 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -406,10 +406,7 @@ todo: move to shutdown_controller.cpp } bool Engine::isInMainRelayBench() { - if (mainRelayBenchStartNt == 0) { - return false; - } - return (getTimeNowNt() - mainRelayBenchStartNt) < NT_PER_SECOND; + return mainRelayBenchTimer.hasElapsedSec(1); } bool Engine::isInShutdownMode() const { diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 763962106e..8492543003 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -303,7 +303,7 @@ public: SensorsState sensors; - efitick_t mainRelayBenchStartNt; + Timer mainRelayBenchTimer; void preCalculate(); diff --git a/firmware/controllers/bench_test.cpp b/firmware/controllers/bench_test.cpp index f38efd063b..4018df3507 100644 --- a/firmware/controllers/bench_test.cpp +++ b/firmware/controllers/bench_test.cpp @@ -245,9 +245,9 @@ void acRelayBench(void) { pinbench(1000.0, 100.0, 1, enginePins.acRelay); } -static void mainRelayBench(void) { +static void mainRelayBench() { // main relay is usually "ON" via FSIO thus bench testing that one is pretty unusual - engine->mainRelayBenchStartNt = getTimeNowNt(); + engine->mainRelayBenchTimer.reset(); } static void hpfpValveBench(void) {