Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | /* | |||
2 | * test_cam_vvt_input.cpp | |||
3 | * | |||
4 | * Created on: Jan 13, 2019 | |||
5 | * @author Andrey Belomutskiy, (c) 2012-2020 | |||
6 | */ | |||
7 | ||||
8 | #include "pch.h" | |||
9 | ||||
10 | #include "engine_sniffer.h" | |||
11 | extern WaveChart waveChart; | |||
12 | ||||
13 | 4 | TEST(trigger, testNoStartUpWarningsNoSynchronizationTrigger) { | ||
14 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
15 | // one tooth does not need synchronization it just counts tooth | |||
16 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_HALF_MOON); | |
17 |
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, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; | |
18 | ||||
19 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireTriggerEvents2(/*count*/10, /*duration*/50); | |
20 |
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(1200, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; | |
21 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
|
1 | ASSERT_EQ( 0u, getRecentWarnings()->getCount()) << "warningCounter#testNoStartUpWarningsNoSynchronizationTrigger"; | |
22 | 1 | } | ||
23 | ||||
24 | 4 | TEST(trigger, testNoStartUpWarnings) { | ||
25 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
26 | // for this test we need a trigger with isSynchronizationNeeded=true | |||
27 | 1 | engineConfiguration->trigger.customTotalToothCount = 3; | ||
28 | 1 | engineConfiguration->trigger.customSkippedToothCount = 1; | ||
29 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); | |
30 |
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, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; | |
31 | ||||
32 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 10 times.
✓ Decision 'false' taken 1 time.
|
11 | for (int i = 0;i < 10;i++) { |
33 |
1/1✓ Branch 1 taken 10 times.
|
10 | eth.fireRise(50); | |
34 |
1/1✓ Branch 1 taken 10 times.
|
10 | eth.fireFall(50); | |
35 |
1/1✓ Branch 1 taken 10 times.
|
10 | eth.fireRise(50); | |
36 |
1/1✓ Branch 1 taken 10 times.
|
10 | eth.fireFall(150); | |
37 | } | |||
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(400, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; | |
40 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
|
1 | ASSERT_EQ( 0u, getRecentWarnings()->getCount()) << "warningCounter#testNoStartUpWarnings"; | |
41 | // now let's post something unneeded | |||
42 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(50); | |
43 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireFall(50); | |
44 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(50); // this is noise | |
45 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireFall(50); // this is noise | |
46 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(50); | |
47 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireFall(150); | |
48 |
2/2✓ Branch 0 taken 1 time.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 1 time.
✓ Decision 'false' taken 1 time.
|
2 | for (int i = 0;i < 1;i++) { |
49 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(50); | |
50 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireFall(50); | |
51 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(50); | |
52 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireFall(150); | |
53 | } | |||
54 |
3/8✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
|
1 | EXPECT_EQ( 1u, getRecentWarnings()->getCount()) << "warningCounter#testNoStartUpWarnings CUSTOM_SYNC_COUNT_MISMATCH expected"; | |
55 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_PRIMARY_TOO_MANY_TEETH, getRecentWarnings()->get(0).Code); | |
56 | 1 | } | ||
57 | ||||
58 | 4 | TEST(trigger, testNoisyInput) { | ||
59 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
60 | ||||
61 |
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)); | |
62 | ||||
63 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerRise(); | |
64 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerFall(); | |
65 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerRise(); | |
66 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerFall(); | |
67 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerRise(); | |
68 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerFall(); | |
69 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerRise(); | |
70 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.firePrimaryTriggerFall(); | |
71 |
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)); | |
72 | ||||
73 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
|
1 | EXPECT_EQ(1u, getRecentWarnings()->getCount()); | |
74 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_PRIMARY_NOT_ENOUGH_TEETH, getRecentWarnings()->get(0).Code); | |
75 | 1 | } | ||
76 | ||||
77 | 4 | TEST(trigger, testCamInput) { | ||
78 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
79 | 1 | engineConfiguration->globalTriggerAngleOffset = -37; | ||
80 | 1 | engineConfiguration->crankingTimingAngle = 3; | ||
81 | 1 | engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; | ||
82 | ||||
83 | // changing to 'ONE TOOTH' trigger on CRANK with CAM/VVT | |||
84 |
1/1✓ Branch 1 taken 1 time.
|
1 | setCrankOperationMode(); | |
85 | 1 | engineConfiguration->vvtMode[0] = VVT_SINGLE_TOOTH; | ||
86 | 1 | engineConfiguration->vvtOffsets[0] = 360; | ||
87 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_HALF_MOON); | |
88 | 1 | engineConfiguration->camInputs[0] = Gpio::A10; // we just need to indicate that we have CAM | ||
89 | ||||
90 |
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, round(Sensor::getOrZero(SensorType::Rpm))) << "testCamInput RPM"; | |
91 | ||||
92 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 5 times.
✓ Decision 'false' taken 1 time.
|
6 | for (int i = 0; i < 5;i++) { |
93 |
1/1✓ Branch 1 taken 5 times.
|
5 | eth.fireRise(25); | |
94 |
1/1✓ Branch 1 taken 5 times.
|
5 | eth.fireFall(25); | |
95 | } | |||
96 | ||||
97 |
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(1200, round(Sensor::getOrZero(SensorType::Rpm))); | |
98 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
|
1 | ASSERT_EQ(0u, getRecentWarnings()->getCount()) << "warningCounter#testCamInput"; | |
99 | ||||
100 |
2/2✓ Branch 0 taken 600 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 600 times.
✓ Decision 'false' taken 1 time.
|
601 | for (int i = 0; i < 600;i++) { |
101 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.fireRise(25); | |
102 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.fireFall(25); | |
103 | } | |||
104 | ||||
105 | // asserting that lack of camshaft signal would be detecting | |||
106 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
|
1 | ASSERT_EQ(1u, getRecentWarnings()->getCount()) << "warningCounter#testCamInput #2"; | |
107 |
4/10✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✗ Branch 23 not taken.
✗ Branch 26 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 34 not taken.
|
1 | ASSERT_EQ(ObdCode::OBD_Camshaft_Position_Sensor_Circuit_Range_Performance, getRecentWarnings()->get(0).Code) << "@0"; | |
108 |
1/1✓ Branch 1 taken 1 time.
|
1 | getRecentWarnings()->clear(); | |
109 | ||||
110 |
2/2✓ Branch 0 taken 600 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 600 times.
✓ Decision 'false' taken 1 time.
|
601 | for (int i = 0; i < 600;i++) { |
111 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.moveTimeForwardUs(MS2US(10)); | |
112 | ||||
113 | // cam comes every other crank rev | |||
114 |
2/2✓ Branch 0 taken 300 times.
✓ Branch 1 taken 300 times.
|
2/2✓ Decision 'true' taken 300 times.
✓ Decision 'false' taken 300 times.
|
600 | if (i % 2 == 0) { |
115 |
2/2✓ Branch 1 taken 300 times.
✓ Branch 4 taken 300 times.
|
300 | hwHandleVvtCamSignal(TriggerValue::RISE, getTimeNowNt(), 0); | |
116 | } | |||
117 | ||||
118 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.moveTimeForwardUs(MS2US(15)); | |
119 | ||||
120 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.firePrimaryTriggerRise(); | |
121 |
3/7✓ Branch 3 taken 600 times.
✓ Branch 7 taken 600 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 600 times.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
600 | EXPECT_EQ(1200, round(Sensor::getOrZero(SensorType::Rpm))); | |
122 | ||||
123 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.moveTimeForwardUs(MS2US(25)); | |
124 |
1/1✓ Branch 1 taken 600 times.
|
600 | eth.firePrimaryTriggerFall(); | |
125 | } | |||
126 | ||||
127 | // asserting that error code has cleared | |||
128 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
|
1 | ASSERT_EQ(0u, getRecentWarnings()->getCount()) << "warningCounter#testCamInput #3"; | |
129 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_NEAR_M3(71, engine->triggerCentral.getVVTPosition(0, 0)); | |
130 | 1 | } | ||
131 | ||||
132 | 4 | TEST(trigger, testNB2CamInput) { | ||
133 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::MAZDA_MIATA_NB2); | |
134 | ||||
135 | 1 | engineConfiguration->isFasterEngineSpinUpEnabled = false; | ||
136 | ||||
137 |
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, round(Sensor::getOrZero(SensorType::Rpm))); | |
138 |
2/2✓ Branch 0 taken 6 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 6 times.
✓ Decision 'false' taken 1 time.
|
7 | for (int i = 0; i < 6;i++) { |
139 |
1/1✓ Branch 1 taken 6 times.
|
6 | eth.fireRise(25 * 70 / 180); | |
140 |
1/1✓ Branch 1 taken 6 times.
|
6 | eth.fireRise(25 * 110 / 180); | |
141 |
4/9✓ Branch 3 taken 6 times.
✓ Branch 7 taken 6 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 6 times.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 31 taken 6 times.
✗ Branch 32 not taken.
|
6 | ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))); | |
142 | } | |||
143 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(25 * 70 / 180); | |
144 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(25 * 110 / 180); | |
145 | // first time we have RPM | |||
146 |
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(1250, round(Sensor::getOrZero(SensorType::Rpm))); | |
147 | ||||
148 | 1 | int totalRevolutionCountBeforeVvtSync = 5; | ||
149 | // need to be out of VVT sync to see VVT sync in action | |||
150 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(25 * 70 / 180); | |
151 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(25 * 110 / 180); | |
152 |
4/9✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ(totalRevolutionCountBeforeVvtSync, engine->triggerCentral.triggerState.getSynchronizationCounter()); | |
153 |
2/8✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_TRUE((totalRevolutionCountBeforeVvtSync % SYMMETRICAL_CRANK_SENSOR_DIVIDER) != 0); | |
154 | ||||
155 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US(3)); // shifting VVT phase a few angles | |
156 | ||||
157 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(true, getTimeNowNt(), 0); | |
158 | ||||
159 | // first gap - long | |||
160 | ||||
161 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US(130)); | |
162 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(false, getTimeNowNt(), 0); | |
163 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US( 30)); | |
164 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(true, getTimeNowNt(), 0); | |
165 | ||||
166 | // second gap - short | |||
167 | ||||
168 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US(10)); | |
169 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(false, getTimeNowNt(), 0); | |
170 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US(10)); | |
171 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(true, getTimeNowNt(), 0); | |
172 | ||||
173 |
4/9✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✓ Branch 27 taken 1 time.
✗ Branch 28 not taken.
|
1 | ASSERT_FLOAT_EQ(0, engine->triggerCentral.getVVTPosition(0, 0)); | |
174 |
4/9✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ(totalRevolutionCountBeforeVvtSync, engine->triggerCentral.triggerState.getSynchronizationCounter()); | |
175 | ||||
176 | // Third gap - long | |||
177 | ||||
178 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US(130)); | |
179 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(false, getTimeNowNt(), 0); | |
180 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardUs(MS2US( 30)); | |
181 |
2/2✓ Branch 1 taken 1 time.
✓ Branch 4 taken 1 time.
|
1 | hwHandleVvtCamSignal(true, getTimeNowNt(), 0); | |
182 | ||||
183 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_NEAR(290.5f, engine->triggerCentral.getVVTPosition(0, 0), EPS2D); | |
184 | // actually position based on VVT! | |||
185 |
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(totalRevolutionCountBeforeVvtSync + 3, engine->triggerCentral.triggerState.getSynchronizationCounter()); | |
186 | ||||
187 |
3/7✓ 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.
|
1 | EXPECT_EQ(40, waveChart.getSize()); | |
188 | 1 | } | ||
189 |