Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | /** | |||
2 | * @file test_one_cylinder_logic.cpp | |||
3 | * @author Andrey Belomutskiy, (c) 2012-2020 | |||
4 | */ | |||
5 | ||||
6 | #include "pch.h" | |||
7 | #include "spark_logic.h" | |||
8 | #include "GY6_139QMB.h" | |||
9 | #include "defaults.h" | |||
10 | ||||
11 | 4 | TEST(issues, issueOneCylinderSpecialCase968) { | ||
12 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::GY6_139QMB); | |
13 | 1 | angle_t timing = 4; | ||
14 | 1 | engineConfiguration->crankingTimingAngle = timing; | ||
15 | 1 | setTable(config->injectionPhase, -180.0f); | ||
16 | 1 | engineConfiguration->isFasterEngineSpinUpEnabled = false; | ||
17 | 1 | engine->tdcMarkEnabled = false; | ||
18 | // set injection_mode 1 | |||
19 | 1 | engineConfiguration->injectionMode = IM_SEQUENTIAL; | ||
20 | ||||
21 |
1/1✓ Branch 1 taken 1 time.
|
1 | setCrankOperationMode(); | |
22 | ||||
23 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_HALF_MOON); | |
24 | ||||
25 |
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( 0, engine->scheduler.size()) << "start"; | |
26 | ||||
27 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireTriggerEvents2(/* count */ 2, 50 /* ms */); | |
28 |
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(0, Sensor::getOrZero(SensorType::Rpm)); | |
29 |
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( 0, engine->scheduler.size()) << "first revolution(s)"; | |
30 | ||||
31 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */); | |
32 |
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(600, Sensor::getOrZero(SensorType::Rpm)); | |
33 |
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(engine->triggerCentral.currentEngineDecodedPhase, 90 + Gy6139_globalTriggerAngleOffset); | |
34 |
3/8✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 25 not taken.
|
1 | ASSERT_EQ(engine->engineState.timingAdvance[0], timing); | |
35 | ||||
36 | 1 | angle_t expectedAngle = 180 - Gy6139_globalTriggerAngleOffset + timing; | ||
37 | 1 | int expectedDeltaTimeUs = eth.angleToTimeUs(expectedAngle); | ||
38 | ||||
39 |
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( 2, engine->scheduler.size()) << "first revolution(s)"; | |
40 | ||||
41 | 1 | auto const turnSparkPinHighStartChargingAction{ action_s::make<turnSparkPinHighStartCharging>((IgnitionEvent*){}) }; | ||
42 | 1 | auto const fireSparkAndPrepareNextScheduleAction{ action_s::make<fireSparkAndPrepareNextSchedule>((IgnitionEvent*){}) }; | ||
43 | ||||
44 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("spark up#0", 0, turnSparkPinHighStartChargingAction, -expectedDeltaTimeUs - MS2US(DEFAULT_CRANKING_DWELL_MS)); | |
45 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("spark down#0", 1, fireSparkAndPrepareNextScheduleAction, -expectedDeltaTimeUs); | |
46 | ||||
47 | ||||
48 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireTriggerEvents2(/* count */ 1, 50 /* ms */); | |
49 |
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( 4, engine->scheduler.size()) << "first revolution(s)"; | |
50 | 1 | } | ||
51 |