diff --git a/firmware/config/engines/harley.cpp b/firmware/config/engines/harley.cpp index 6c781e3349..3f950fc5da 100644 --- a/firmware/config/engines/harley.cpp +++ b/firmware/config/engines/harley.cpp @@ -39,6 +39,15 @@ void setHarley() { engineConfiguration->minimumIgnitionTiming = -90; engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_32_2; + engineConfiguration->overrideTriggerGaps = true; + engineConfiguration->gapTrackingLengthOverride = 3; + engineConfiguration->triggerGapOverrideFrom[0] = 0.75; + engineConfiguration->triggerGapOverrideTo[0] = 1.25; + engineConfiguration->triggerGapOverrideFrom[1] = 0.05; // this one is custom + engineConfiguration->triggerGapOverrideTo[1] = 0.5; + engineConfiguration->triggerGapOverrideFrom[2] = 1.850; // this one is custom + engineConfiguration->triggerGapOverrideTo[2] = 6; + engineConfiguration->vvtMode[0] = VVT_MAP_V_TWIN; engineConfiguration->oddFireEngine = true; diff --git a/unit_tests/tests/ignition_injection/test_hd_cranking.cpp b/unit_tests/tests/ignition_injection/test_hd_cranking.cpp index 43c31df8cd..221ed31219 100644 --- a/unit_tests/tests/ignition_injection/test_hd_cranking.cpp +++ b/unit_tests/tests/ignition_injection/test_hd_cranking.cpp @@ -8,6 +8,8 @@ TEST(harley, crankingSomethingCam) { reader.open("tests/ignition_injection/resources/hd-req-sync_3.csv"); EngineTestHelper eth(engine_type_e::HARLEY); + engineConfiguration->vvtMode[0] = VVT_BOSCH_QUICK_START; + eth.applyTriggerWaveform(); bool gotRpm = false; bool gotSync = false; @@ -22,12 +24,12 @@ TEST(harley, crankingSomethingCam) { gotRpm = true; // We should get first RPM on exactly the first sync point - this means the instant RPM pre-sync event copy all worked OK - EXPECT_EQ(reader.lineIndex(), 56); - EXPECT_NEAR(rpm, 177, 1); + EXPECT_EQ(reader.lineIndex(), 60); + EXPECT_NEAR(rpm, 184, 1); } if (!gotSync && engine->triggerCentral.triggerState.hasSynchronizedPhase()) { - EXPECT_EQ(reader.lineIndex(), 83); + EXPECT_EQ(reader.lineIndex(), 269); gotSync = true; } @@ -37,5 +39,5 @@ TEST(harley, crankingSomethingCam) { } } - ASSERT_EQ(12, engine->triggerCentral.triggerState.camResyncCounter); // interesting! + ASSERT_EQ(2, engine->triggerCentral.triggerState.camResyncCounter); // interesting! } diff --git a/unit_tests/tests/ignition_injection/test_odd_firing_engine.cpp b/unit_tests/tests/ignition_injection/test_odd_firing_engine.cpp index cc8ce31748..f24a316ede 100644 --- a/unit_tests/tests/ignition_injection/test_odd_firing_engine.cpp +++ b/unit_tests/tests/ignition_injection/test_odd_firing_engine.cpp @@ -33,6 +33,8 @@ TEST(OddFireRunningMode, hd) { .WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f})); engineConfiguration->camInputs[0] = Gpio::Unassigned; + engineConfiguration->overrideTriggerGaps = false; + eth.setTriggerType(trigger_type_e::TT_HALF_MOON); // end of configuration