diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index 9cef6af7c9..3fe77238bd 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -87,5 +87,5 @@ void setFordInline6() { engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->triggerInputPins[0] = Gpio::A8; - engineConfiguration->triggerInputPins[1] = Gpio::A5; + engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; } diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index faac9ee440..38ff20af6b 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -771,6 +771,14 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio warning(ObdCode::CUSTOM_ERR_NO_SHAPE, "initializeTriggerWaveform() not implemented: %d", triggerType.type); } + if (!needSecondTriggerInput && +#if EFI_UNIT_TEST + engineConfiguration != nullptr && +#endif + engineConfiguration->triggerInputPins[1] != Gpio::Unassigned) { + criticalError("Single-channel trigger %s selected while two inputs were configured", getTrigger_type_e(triggerType.type)); + } + /** * Feb 2019 suggestion: it would be an improvement to remove 'expectedEventCount' logic from 'addEvent' * and move it here, after all events were added. diff --git a/unit_tests/main.cpp b/unit_tests/main.cpp index 836519e108..dcd33e8afb 100644 --- a/unit_tests/main.cpp +++ b/unit_tests/main.cpp @@ -20,6 +20,7 @@ GTEST_API_ int main(int argc, char **argv) { * See TEST_FROM_TRIGGER_ID to limit test just for last trigger */ // setVerboseTrigger(true); +// --gtest_filter=*TEST_NAME* //::testing::GTEST_FLAG(filter) = "*AllTriggersFixture*"; int result = RUN_ALL_TESTS(); // windows ERRORLEVEL in Jenkins batch file seems to want negative value to detect failure diff --git a/unit_tests/tests/trigger/test_cam_vvt_input.cpp b/unit_tests/tests/trigger/test_cam_vvt_input.cpp index 8cf11f0be0..bcdcb8846f 100644 --- a/unit_tests/tests/trigger/test_cam_vvt_input.cpp +++ b/unit_tests/tests/trigger/test_cam_vvt_input.cpp @@ -79,6 +79,7 @@ TEST(trigger, testNoisyInput) { TEST(trigger, testCamInput) { // setting some weird engine EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); + engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; // changing to 'ONE TOOTH' trigger on CRANK with CAM/VVT setCrankOperationMode(); diff --git a/unit_tests/tests/trigger/test_quad_cam.cpp b/unit_tests/tests/trigger/test_quad_cam.cpp index 83a5910ebd..e88a47ed41 100644 --- a/unit_tests/tests/trigger/test_quad_cam.cpp +++ b/unit_tests/tests/trigger/test_quad_cam.cpp @@ -8,6 +8,7 @@ TEST(trigger, testQuadCamInput) { // setting some weird engine EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); + engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; engineConfiguration->isFasterEngineSpinUpEnabled = false; engineConfiguration->alwaysInstantRpm = true; diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index b7e61513af..ac20917ada 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -174,6 +174,7 @@ extern bool debugSignalExecutor; TEST(misc, testRpmCalculator) { EngineTestHelper eth(engine_type_e::FORD_INLINE_6_1995); + efiAssertVoid(ObdCode::CUSTOM_ERR_6670, engineConfiguration!=NULL, "null config in engine"); setTable(config->injectionPhase, -180.0f); @@ -190,8 +191,6 @@ TEST(misc, testRpmCalculator) { ASSERT_EQ( 720, engine->engineState.engineCycle) << "engineCycle"; - efiAssertVoid(ObdCode::CUSTOM_ERR_6670, engineConfiguration!=NULL, "null config in engine"); - engineConfiguration->minimumIgnitionTiming = -15; float timingAdvance = -13; setWholeTimingTable(timingAdvance); diff --git a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp index 8e29a33eee..b8578435ab 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp @@ -44,6 +44,7 @@ static auto makeTriggerShape(operation_mode_e mode, const TriggerConfiguration& TEST(TriggerDecoder, FindsFirstSyncPoint) { MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); + engineConfiguration = nullptr; auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg);