diff --git a/firmware/controllers/algo/antilag_system.cpp b/firmware/controllers/algo/antilag_system.cpp index 551d74d9a5..de9ad91550 100644 --- a/firmware/controllers/algo/antilag_system.cpp +++ b/firmware/controllers/algo/antilag_system.cpp @@ -15,12 +15,14 @@ #include "advance_map.h" bool AntilagSystemBase::isInsideALSSwitchCondition() { - isALSSwitchActivated = engineConfiguration->antiLagActivationMode != SWITCH_INPUT_ANTILAG; + isALSSwitchActivated = engineConfiguration->antiLagActivationMode == SWITCH_INPUT_ANTILAG; if (isALSSwitchActivated) { - if (isBrainPinValid(engineConfiguration->ALSActivatePin)) { + if (isBrainPinValid(engineConfiguration->ALSActivatePin)) { #if EFI_PROD_CODE - ALSActivatePinState = engineConfiguration->ALSActivateInverted ^ efiReadPin(engineConfiguration->ALSActivatePin); + ALSActivatePinState = engineConfiguration->ALSActivateInverted ^ efiReadPin(engineConfiguration->ALSActivatePin); +#else + ALSActivatePinState = false; #endif } return ALSActivatePinState; diff --git a/unit_tests/tests/actuators/test_antilag.cpp b/unit_tests/tests/actuators/test_antilag.cpp index 886024e0e9..0497587020 100644 --- a/unit_tests/tests/actuators/test_antilag.cpp +++ b/unit_tests/tests/actuators/test_antilag.cpp @@ -9,11 +9,12 @@ TEST(Actuators, AntiLag) { engineConfiguration->antiLagActivationMode = SWITCH_INPUT_ANTILAG; engine->periodicFastCallback(); - ASSERT_EQ(1, engine->antilagController.ALSSwitchCondition); + // in unit tests we pretend that physical swiych is always OFF + ASSERT_EQ(0, engine->antilagController.ALSSwitchCondition); engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG; engine->periodicFastCallback(); - ASSERT_EQ(0, engine->antilagController.ALSSwitchCondition); + ASSERT_EQ(1, engine->antilagController.ALSSwitchCondition); ASSERT_EQ(1, engine->antilagController.ALSMinCLTCondition); ASSERT_EQ(1, engine->antilagController.ALSMaxCLTCondition);