From 4140b824fbee4440e66507f0f5e434e7c89f81c2 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Fri, 21 Jul 2023 13:00:28 -0700 Subject: [PATCH] wrap atdc timing correctly --- firmware/controllers/engine_cycle/spark_logic.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index cf6fd63db8..2d506e8299 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -80,6 +80,11 @@ static void prepareCylinderIgnitionSchedule(angle_t dwellAngleDuration, floatms_ // Pull any extra timing for knock retard - engine->module()->getKnockRetard(); + // 10 ATDC ends up as 710, convert it to -10 so we can log and clamp correctly + if (finalIgnitionTiming > 360) { + finalIgnitionTiming -= 720; + } + // Clamp the final ignition timing to the configured limits // finalIgnitionTiming is deg BTDC // minimumIgnitionTiming limits maximium retard