| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | /** | |||
| 2 | * @file test_fuel_map.cpp | |||
| 3 | * | |||
| 4 | * @date Nov 6, 2013 | |||
| 5 | * @author Andrey Belomutskiy, (c) 2012-2020 | |||
| 6 | */ | |||
| 7 | ||||
| 8 | #include "pch.h" | |||
| 9 | ||||
| 10 | #include "fuel_math.h" | |||
| 11 | #include "trigger_structure.h" | |||
| 12 | #include "trigger_decoder.h" | |||
| 13 | #include "util/injection_crank_helper.h" | |||
| 14 | ||||
| 15 | using ::testing::FloatNear; | |||
| 16 | ||||
| 17 | 4 | TEST(misc, testFuelMap) { | ||
| 18 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("Setting up TEST_ENGINE\r\n"); | |
| 19 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 20 | ||||
| 21 |
1/1✓ Branch 1 taken 1 time.
|
1 | setFlatInjectorLag(0.2); | |
| 22 | ||||
| 23 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.engine.updateSlowSensors(); | |
| 24 | ||||
| 25 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 36.605f); | |
| 26 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Iat, 30.0f); | |
| 27 | ||||
| 28 | // because all the correction tables are zero | |||
| 29 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("*************************************************** getRunningFuel 1\r\n"); | |
| 30 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.engine.periodicFastCallback(); | |
| 31 |
4/10✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_NEAR(5.3679, getRunningFuel(5), EPS4D) << "base fuel"; | |
| 32 | ||||
| 33 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("*************************************************** setting IAT table\r\n"); | |
| 34 |
2/2✓ Branch 0 taken 16 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 16 times.
✓ Decision 'false' taken 1 time.
|
17 | for (int i = 0; i < IAT_CURVE_SIZE; i++) { |
| 35 | 16 | config->iatFuelCorrBins[i] = i * 10; | ||
| 36 | 16 | config->iatFuelCorr[i] = 2 * i; | ||
| 37 | } | |||
| 38 | 1 | config->iatFuelCorr[0] = 2; | ||
| 39 | ||||
| 40 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("*************************************************** setting CLT table\r\n"); | |
| 41 |
2/2✓ Branch 0 taken 16 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 16 times.
✓ Decision 'false' taken 1 time.
|
17 | for (int i = 0; i < CLT_CURVE_SIZE; i++) { |
| 42 | 16 | config->cltFuelCorrBins[i] = i * 10; | ||
| 43 | 16 | config->cltFuelCorr[i] = i; | ||
| 44 | } | |||
| 45 | ||||
| 46 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 70.0f); | |
| 47 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Iat, 30.0f); | |
| 48 | ||||
| 49 |
1/1✓ Branch 1 taken 1 time.
|
1 | setFlatInjectorLag(0); | |
| 50 | ||||
| 51 |
1/1✓ Branch 2 taken 1 time.
|
1 | float iatCorrection = getIatFuelCorrection(); | |
| 52 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ( 6, iatCorrection) << "IAT"; | |
| 53 |
1/1✓ Branch 2 taken 1 time.
|
1 | float cltCorrection = getCltFuelCorrection(); | |
| 54 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 1 time.
✗ Branch 30 not taken.
|
1 | ASSERT_EQ( 7, cltCorrection) << "CLT"; | |
| 55 | ||||
| 56 | ||||
| 57 | 1 | engineConfiguration->mafAdcChannel = EFI_ADC_10; | ||
| 58 | ||||
| 59 | // 1005 * 2 for IAT correction | |||
| 60 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("*************************************************** getRunningFuel 2\r\n"); | |
| 61 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.engine.periodicFastCallback(); | |
| 62 | ||||
| 63 | // Check that runningFuel corrects appropriately | |||
| 64 |
3/8✓ 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.
|
1 | EXPECT_EQ( 42, getRunningFuel(1)) << "v1"; | |
| 65 |
3/8✓ 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.
|
1 | EXPECT_EQ( 84, getRunningFuel(2)) << "v1"; | |
| 66 | ||||
| 67 |
1/1✓ Branch 1 taken 1 time.
|
1 | setTestFuelCrankingTable(4000); | |
| 68 | ||||
| 69 | // Should use 20 degree correction in case of failed sensor | |||
| 70 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::resetMockValue(SensorType::Clt); | |
| 71 |
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(12.4, getCrankingFuel3(2, 0), EPS4D); | |
| 72 | ||||
| 73 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 0); | |
| 74 |
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(7.7333, getCrankingFuel3(2, 4), EPS4D); | |
| 75 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 8); | |
| 76 |
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_M4(7, getCrankingFuel3(2, 15)); | |
| 77 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 70); | |
| 78 |
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_M4(8, getCrankingFuel3(2, 0)); | |
| 79 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Clt, 70); | |
| 80 |
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_M4(4, getCrankingFuel3(2, 50)); | |
| 81 | 1 | } | ||
| 82 | ||||
| 83 | ||||
| 84 | 1 | static void configureFordAspireTriggerWaveform(TriggerWaveform * s) { | ||
| 85 | 1 | s->initialize(FOUR_STROKE_CAM_SENSOR, SyncEdge::Rise); | ||
| 86 | ||||
| 87 | 1 | s->addEvent720(53.747, TriggerValue::RISE, TriggerWheel::T_SECONDARY); | ||
| 88 | 1 | s->addEvent720(121.90, TriggerValue::FALL, TriggerWheel::T_SECONDARY); | ||
| 89 | 1 | s->addEvent720(232.76, TriggerValue::RISE, TriggerWheel::T_SECONDARY); | ||
| 90 | 1 | s->addEvent720(300.54, TriggerValue::FALL, TriggerWheel::T_SECONDARY); | ||
| 91 | 1 | s->addEvent720(360, TriggerValue::RISE, TriggerWheel::T_PRIMARY); | ||
| 92 | ||||
| 93 | 1 | s->addEvent720(409.8412, TriggerValue::RISE, TriggerWheel::T_SECONDARY); | ||
| 94 | 1 | s->addEvent720(478.6505, TriggerValue::FALL, TriggerWheel::T_SECONDARY); | ||
| 95 | 1 | s->addEvent720(588.045, TriggerValue::RISE, TriggerWheel::T_SECONDARY); | ||
| 96 | 1 | s->addEvent720(657.03, TriggerValue::FALL, TriggerWheel::T_SECONDARY); | ||
| 97 | 1 | s->addEvent720(720, TriggerValue::FALL, TriggerWheel::T_PRIMARY); | ||
| 98 | ||||
| 99 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 26 not taken.
|
1 | ASSERT_FLOAT_EQ(53.747 / 720, s->wave.getSwitchTime(0)); | |
| 100 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::RISE, s->wave.getChannelState(1, 0)) << "@0"; | |
| 101 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::RISE, s->wave.getChannelState(1, 0)) << "@0"; | |
| 102 | ||||
| 103 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(0, 1)) << "@1"; | |
| 104 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(1, 1)) << "@1"; | |
| 105 | ||||
| 106 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(0, 2)) << "@2"; | |
| 107 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::RISE, s->wave.getChannelState(1, 2)) << "@2"; | |
| 108 | ||||
| 109 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(0, 3)) << "@3"; | |
| 110 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(1, 3)) << "@3"; | |
| 111 | ||||
| 112 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::RISE, s->wave.getChannelState(0, 4)) << "@4"; | |
| 113 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::RISE, s->wave.getChannelState(1, 5)) << "@5"; | |
| 114 |
3/9✓ Branch 5 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
|
1 | ASSERT_EQ( TriggerValue::FALL, s->wave.getChannelState(1, 8)) << "@8"; | |
| 115 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 26 not taken.
|
1 | ASSERT_FLOAT_EQ(121.90 / 720, s->wave.getSwitchTime(1)); | |
| 116 |
3/8✓ Branch 3 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 25 taken 1 time.
✗ Branch 26 not taken.
|
1 | ASSERT_FLOAT_EQ(657.03 / 720, s->wave.getSwitchTime(8)); | |
| 117 | ||||
| 118 |
4/10✓ Branch 4 taken 1 time.
✓ Branch 9 taken 1 time.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 time.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✗ Branch 27 not taken.
✗ Branch 30 not taken.
✓ Branch 37 taken 1 time.
✗ Branch 38 not taken.
|
1 | ASSERT_EQ(0, s->wave.findAngleMatch(53.747 / 720.0).value_or(-1)) << "expecting 0"; | |
| 119 |
3/10✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 36 taken 1 time.
✗ Branch 37 not taken.
|
1 | ASSERT_FALSE(s->wave.findAngleMatch(53 / 720.0).Valid) << "expecting not found"; | |
| 120 |
4/9✓ Branch 4 taken 1 time.
✓ Branch 9 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(7, s->wave.findAngleMatch(588.045 / 720.0).value_or(-1)); | |
| 121 | ||||
| 122 |
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, s->wave.findInsertionAngle(23.747 / 720.0)) << "expecting 0"; | |
| 123 |
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( 1, s->wave.findInsertionAngle(63.747 / 720.0)) << "expecting 1"; | |
| 124 | } | |||
| 125 | ||||
| 126 | 4 | TEST(misc, testAngleResolver) { | ||
| 127 |
1/1✓ Branch 1 taken 1 time.
|
1 | printf("*************************************************** testAngleResolver\r\n"); | |
| 128 | ||||
| 129 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 130 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_FORD_ASPIRE); | |
| 131 | 1 | engineConfiguration->globalTriggerAngleOffset = 175; | ||
| 132 | ||||
| 133 | 1 | TriggerWaveform * ts = &engine->triggerCentral.triggerShape; | ||
| 134 | 1 | TriggerFormDetails *triggerFormDetails = &engine->triggerCentral.triggerFormDetails; | ||
| 135 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->updateTriggerConfiguration(); | |
| 136 | ||||
| 137 |
3/9✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✓ Branch 27 taken 1 time.
✗ Branch 28 not taken.
|
1 | ASSERT_NEAR(52.76, triggerFormDetails->eventAngles[3], EPS4D) << "index 2"; // this angle is relation to synch point | |
| 138 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
|
1 | ASSERT_NEAR(0.3233, ts->wave.getSwitchTime(2), EPS4D) << "time 2"; | |
| 139 |
3/9✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✓ Branch 27 taken 1 time.
✗ Branch 28 not taken.
|
1 | ASSERT_NEAR(412.76, triggerFormDetails->eventAngles[6], EPS4D) << "index 5"; | |
| 140 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
|
1 | ASSERT_NEAR(0.5733, ts->wave.getSwitchTime(5), EPS4D) << "time 5"; | |
| 141 | ||||
| 142 |
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(4, ts->getTriggerWaveformSynchPointIndex()); | |
| 143 | ||||
| 144 |
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( 10u, ts->getSize()) << "shape size"; | |
| 145 | ||||
| 146 |
1/1✓ Branch 2 taken 1 time.
|
1 | TriggerWaveform t; | |
| 147 |
1/1✓ Branch 1 taken 1 time.
|
1 | configureFordAspireTriggerWaveform(&t); | |
| 148 | 1 | } | ||
| 149 | ||||
| 150 | TEST(misc, testPinHelper) { | |||
| 151 | printf("*************************************************** testPinHelper\r\n"); | |||
| 152 | ASSERT_EQ(0, getElectricalValue(0, OM_DEFAULT)); | |||
| 153 | ASSERT_EQ(1, getElectricalValue(1, OM_DEFAULT)); | |||
| 154 | ||||
| 155 | ASSERT_EQ(0, getElectricalValue(1, OM_INVERTED)); | |||
| 156 | ASSERT_EQ(1, getElectricalValue(0, OM_INVERTED)); | |||
| 157 | } | |||
| 158 |