diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index 6cb305e06f..00978c8032 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -533,6 +533,13 @@ void onTriggerEventSparkLogic(bool limitedSpark, uint32_t trgEventIndex, int rpm IgnitionEvent *event = &ENGINE(ignitionEvents.elements[i]); if (event->dwellPosition.triggerEventIndex != trgEventIndex) continue; + + if (i == 0 && CONFIG(artificialTestMisfire) && (engine->globalSparkIdCounter % ((int)engineConfiguration->fsio_setting[5]) == 0)) { + // artificial misfire on cylinder #1 for testing purposes + warning(CUSTOM_ERR_6729, "artificial misfire on cylinder #1 for testing purposes %d", engine->globalSparkIdCounter); + continue; + } + handleSparkEvent(limitedSpark, trgEventIndex, event, rpm, edgeTimestamp PASS_ENGINE_PARAMETER_SUFFIX); } }