diff --git a/firmware/controllers/algo/engine2.cpp b/firmware/controllers/algo/engine2.cpp index 1f1f6bb10e..25a48383ab 100644 --- a/firmware/controllers/algo/engine2.cpp +++ b/firmware/controllers/algo/engine2.cpp @@ -169,6 +169,10 @@ void EngineState::periodicFastCallback() { injectionOffset = getInjectionOffset(rpm, fuelLoad); engine->lambdaMonitor.update(rpm, fuelLoad); +#if EFI_LAUNCH_CONTROL + engine->launchController.update(); +#endif //EFI_LAUNCH_CONTROL + float l_ignitionLoad = getIgnitionLoad(); float baseAdvance = getAdvance(rpm, l_ignitionLoad) * engine->ignitionState.luaTimingMult + engine->ignitionState.luaTimingAdd; float correctedIgnitionAdvance = baseAdvance @@ -207,10 +211,6 @@ void EngineState::periodicFastCallback() { multispark.count = getMultiSparkCount(rpm); -#if EFI_LAUNCH_CONTROL - engine->launchController.update(); -#endif //EFI_LAUNCH_CONTROL - #if EFI_ANTILAG_SYSTEM engine->antilagController.update(); #endif //EFI_ANTILAG_SYSTEM diff --git a/unit_tests/tests/launch/test_spark_skip_ratio.cpp b/unit_tests/tests/launch/test_spark_skip_ratio.cpp index e0f707d90d..eecc8099b0 100644 --- a/unit_tests/tests/launch/test_spark_skip_ratio.cpp +++ b/unit_tests/tests/launch/test_spark_skip_ratio.cpp @@ -45,15 +45,9 @@ static void setUpTestParameters( static void updateRpm(const int rpm, EngineTestHelper& eth) { Sensor::setMockValue(SensorType::Rpm, rpm); - for (int i = 0; i < 2; i++) {\ - /* - * We need to repeat the following code twice because method EngineState::periodicFastCallback updates launch - * controller after updating spark skip - can we fix it safely? - */ - eth.moveTimeForwardSec(1); - // run the ignition math - engine->periodicFastCallback(); - } + eth.moveTimeForwardSec(1); + // run the ignition math + engine->periodicFastCallback(); } TEST(skipSparkRatio, raisingRpm) {