From a33d47968342643ff514c88a2e148f0bdbf72a05 Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 6 Mar 2020 01:31:04 -0500 Subject: [PATCH] CLT stops working when using 2-0 custom trigger wheel #1171 --- .../controllers/trigger/decoders/trigger_universal.cpp | 2 +- unit_tests/tests/test_trigger_decoder.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/firmware/controllers/trigger/decoders/trigger_universal.cpp b/firmware/controllers/trigger/decoders/trigger_universal.cpp index cca3ac2945..efd29d02c7 100644 --- a/firmware/controllers/trigger/decoders/trigger_universal.cpp +++ b/firmware/controllers/trigger/decoders/trigger_universal.cpp @@ -39,7 +39,7 @@ void initializeSkippedToothTriggerWaveformExt(TriggerWaveform *s, int totalTeeth s->initialize(operationMode); s->setTriggerSynchronizationGap(skippedCount + 1); - s->shapeWithoutTdc = (totalTeethCount > 2) && (skippedCount == 0); + s->shapeWithoutTdc = (totalTeethCount > 1) && (skippedCount == 0); s->isSynchronizationNeeded = (totalTeethCount > 2) && (skippedCount != 0); diff --git a/unit_tests/tests/test_trigger_decoder.cpp b/unit_tests/tests/test_trigger_decoder.cpp index cb0b4cf2f8..0771e400be 100644 --- a/unit_tests/tests/test_trigger_decoder.cpp +++ b/unit_tests/tests/test_trigger_decoder.cpp @@ -45,6 +45,15 @@ static int getTriggerZeroEventIndex(engine_type_e engineType) { PASS_CONFIG_PARAMETER_SUFFIX); } +TEST(misc, testSkipped2_0) { + WITH_ENGINE_TEST_HELPER(TEST_ENGINE); + // for this test we need a trigger with isSynchronizationNeeded=true + engineConfiguration->trigger.customTotalToothCount = 2; + engineConfiguration->trigger.customSkippedToothCount = 0; + eth.setTriggerType(TT_TOOTHED_WHEEL PASS_ENGINE_PARAMETER_SUFFIX); + ASSERT_EQ( 0, GET_RPM()) << "testNoStartUpWarnings RPM"; +} + static void testDodgeNeonDecoder(void) { printf("*************************************************** testDodgeNeonDecoder95\r\n");