diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index 3938fab0ef..e35b02add6 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -544,6 +544,9 @@ void TriggerWaveform::initializeTriggerWaveform(Logging *logger, operation_mode_ break; case TT_KAWA_KX450F: + configureKawaKX450F(this); + break; + case TT_SKODA_FAVORIT: setSkodaFavorit(this); break; diff --git a/firmware/controllers/trigger/decoders/trigger_universal.cpp b/firmware/controllers/trigger/decoders/trigger_universal.cpp index e57271644c..7a985712d7 100644 --- a/firmware/controllers/trigger/decoders/trigger_universal.cpp +++ b/firmware/controllers/trigger/decoders/trigger_universal.cpp @@ -101,8 +101,20 @@ void configure3_1_cam(TriggerWaveform *s) { s->isSynchronizationNeeded = false; } +/** + * https://rusefi.com/forum/viewtopic.php?f=5&t=1977 + */ void configureKawaKX450F(TriggerWaveform *s) { + float engineCycle = FOUR_STROKE_ENGINE_CYCLE; + s->initialize(FOUR_STROKE_CRANK_SENSOR); + float toothWidth = 3 / 20.0; + + addSkippedToothTriggerEvents(T_PRIMARY, s, 18, 0, toothWidth, 0, engineCycle, + NO_LEFT_FILTER, 720 - 39); + + s->addEvent(0.97, T_PRIMARY, TV_RISE); + s->addEvent(1, T_PRIMARY, TV_FALL); } void configureQuickStartSenderWheel(TriggerWaveform *s) { diff --git a/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java b/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java index 771d726d75..a7b4898064 100644 --- a/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java +++ b/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java @@ -102,6 +102,7 @@ class TriggerWheelInfo { id == Fields.TT_TT_MIATA_VVT || id == Fields.TT_TT_TRI_TACH || id == Fields.TT_TT_SKODA_FAVORIT || + id == Fields.TT_TT_KAWA_KX450F || id == Fields.TT_TT_GM_7X; }