diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index f7cac61a51..08dcdc230a 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -490,7 +490,9 @@ void onTriggerEventSparkLogic(int rpm, efitick_t edgeTimestamp, float currentPha continue; } #if EFI_LAUNCH_CONTROL - if (engine->softSparkLimiter.shouldSkip()) { + bool sparkLimited = engine->softSparkLimiter.shouldSkip() || engine->hardSparkLimiter.shouldSkip(); + engine->ignitionState.luaIgnitionSkip = sparkLimited; + if (sparkLimited) { continue; } #endif // EFI_LAUNCH_CONTROL diff --git a/firmware/controllers/lua/lua_hooks.cpp b/firmware/controllers/lua/lua_hooks.cpp index 78e302a539..6cb2119026 100644 --- a/firmware/controllers/lua/lua_hooks.cpp +++ b/firmware/controllers/lua/lua_hooks.cpp @@ -678,6 +678,11 @@ void configureRusefiLuaHooks(lua_State* l) { engine->softSparkLimiter.setTargetSkipRatio(targetSkipRatio); return 1; }); + lua_register(l, "setSparkHardSkipRatio", [](lua_State* l) { + auto targetSkipRatio = luaL_checknumber(l, 1); + engine->hardSparkLimiter.setTargetSkipRatio(targetSkipRatio); + return 1; + }); #endif // EFI_LAUNCH_CONTROL #if EFI_SHAFT_POSITION_INPUT && !EFI_UNIT_TEST