| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | #include "pch.h" | |||
| 4 | #include "trigger_central.h" | |||
| 5 | #include "spark_logic.h" | |||
| 6 | ||||
| 7 | 4 | TEST(trigger, map_cam_by_magic_point) { | ||
| 8 | ||||
| 9 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_CRANK_ENGINE); | |
| 10 | 1 | engineConfiguration->isFasterEngineSpinUpEnabled = false; | ||
| 11 | ||||
| 12 | 1 | engineConfiguration->isPhaseSyncRequiredForIgnition = true; | ||
| 13 | ||||
| 14 | 1 | engineConfiguration->camInputs[0] = Gpio::A0; | ||
| 15 | 1 | engineConfiguration->vvtMode[0] = VVT_MAP_V_TWIN; | ||
| 16 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.engine.periodicFastCallback(); // trigger limp mode | |
| 17 |
4/10✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 time.
✗ Branch 18 not taken.
✗ Branch 23 not taken.
✗ Branch 27 not taken.
✗ Branch 30 not taken.
✓ Branch 39 taken 1 time.
✗ Branch 40 not taken.
|
1 | ASSERT_FALSE(getLimpManager()->allowIgnition()); | |
| 18 |
4/10✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 time.
✗ Branch 18 not taken.
✗ Branch 23 not taken.
✗ Branch 27 not taken.
✗ Branch 30 not taken.
✓ Branch 39 taken 1 time.
✗ Branch 40 not taken.
|
1 | ASSERT_FALSE(getLimpManager()->allowInjection()); | |
| 19 |
5/10✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✓ Branch 10 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ(ClearReason::EnginePhase, getLimpManager()->allowIgnition().reason); | |
| 20 |
5/10✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✓ Branch 10 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ(ClearReason::EnginePhase, getLimpManager()->allowInjection().reason); | |
| 21 | ||||
| 22 | 1 | engine->outputChannels.instantMAPValue = 100; | ||
| 23 | ||||
| 24 | 1 | engineConfiguration->mapCamDetectionAnglePosition = 90; | ||
| 25 | ||||
| 26 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.smartFireTriggerEvents2(/*count*/10, /*delayMs*/200); | |
| 27 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ(150, Sensor::getOrZero(SensorType::Rpm)) << "RPM"; | |
| 28 | ||||
| 29 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
|
1 | ASSERT_EQ(1, engine->triggerCentral.mapVvt_sync_counter); | |
| 30 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
|
1 | ASSERT_EQ(0, engine->triggerCentral.triggerState.camResyncCounter); | |
| 31 | ||||
| 32 | // Nothing should have been scheduled yet | |||
| 33 |
4/9✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_EQ(1, engine->scheduler.size()); | |
| 34 |
1/1✓ Branch 1 taken 1 time.
|
1 | scheduling_s* next = engine->scheduler.getForUnitTest(0); | |
| 35 | 1 | auto const fireSparkAndPrepareNextScheduleAction{ action_s::make<fireSparkAndPrepareNextSchedule>((IgnitionEvent*){})}; | ||
| 36 | ||||
| 37 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("spark down#0", 0, fireSparkAndPrepareNextScheduleAction, 188333); | |
| 38 | ||||
| 39 | 1 | engine->outputChannels.instantMAPValue = 120; | ||
| 40 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.smartFireTriggerEvents2(/*count*/4, /*delayMs*/200); | |
| 41 | ||||
| 42 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
|
1 | ASSERT_EQ(2, engine->triggerCentral.mapVvt_sync_counter); | |
| 43 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
|
1 | ASSERT_EQ(1, engine->triggerCentral.triggerState.camResyncCounter); | |
| 44 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
|
1 | ASSERT_EQ(10, engine->triggerCentral.mapVvt_MAP_AT_CYCLE_COUNT); | |
| 45 | ||||
| 46 |
5/10✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✓ Branch 10 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ(ClearReason::None, getLimpManager()->allowIgnition().reason); | |
| 47 |
5/10✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✓ Branch 10 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ(ClearReason::None, getLimpManager()->allowInjection().reason); | |
| 48 | ||||
| 49 | // We have "VVT" sync, things should be scheduled! | |||
| 50 |
4/9✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_EQ(2, engine->scheduler.size()); | |
| 51 | 1 | auto const turnSparkPinHighStartChargingAction{ action_s::make<turnSparkPinHighStartCharging>((IgnitionEvent*){})}; | ||
| 52 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("spark down#0", 0, turnSparkPinHighStartChargingAction, 185333); | |
| 53 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("spark down#1", 1, fireSparkAndPrepareNextScheduleAction, 188333); | |
| 54 | 1 | } | ||
| 55 |