GCC Code Coverage Report


Directory: ./
File: firmware/init/sensor/init_aux.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 50.0% 9 0 18
Functions: 50.0% 1 0 2
Branches: 62.5% 5 0 8
Decisions: 62.5% 5 - 8

Line Branch Decision Exec Source
1 #include "pch.h"
2
3 #include "init.h"
4 #include "adc_subscription.h"
5 #include "functional_sensor.h"
6 #include "identity_func.h"
7
8 // These aux sensors just read voltage - so the converter function has nothing to do
9
10 static FunctionalSensor auxSensors[] = {
11 { SensorType::AuxAnalog1, MS2NT(50) },
12 { SensorType::AuxAnalog2, MS2NT(50) },
13 { SensorType::AuxAnalog3, MS2NT(50) },
14 { SensorType::AuxAnalog4, MS2NT(50) },
15 { SensorType::AuxAnalog5, MS2NT(50) },
16 { SensorType::AuxAnalog6, MS2NT(50) },
17 { SensorType::AuxAnalog7, MS2NT(50) },
18 { SensorType::AuxAnalog8, MS2NT(50) },
19 };
20
21 StoredValueSensor luaGauges[] = {
22 { SensorType::LuaGauge1, MS2NT(5000) },
23 { SensorType::LuaGauge2, MS2NT(5000) },
24 { SensorType::LuaGauge3, MS2NT(5000) },
25 { SensorType::LuaGauge4, MS2NT(5000) },
26 { SensorType::LuaGauge5, MS2NT(5000) },
27 { SensorType::LuaGauge6, MS2NT(5000) },
28 { SensorType::LuaGauge7, MS2NT(5000) },
29 { SensorType::LuaGauge8, MS2NT(5000) },
30 };
31
32
33 static_assert(efi::size(auxSensors) == LUA_ANALOG_INPUT_COUNT);
34 static_assert(efi::size(luaGauges) == LUA_GAUGE_COUNT);
35
36 2 void initAuxSensors() {
37
2/2
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 2 times.
2/2
✓ Decision 'true' taken 16 times.
✓ Decision 'false' taken 2 times.
18 for (size_t i = 0; i < efi::size(engineConfiguration->auxAnalogInputs); i++) {
38 16 auto channel = engineConfiguration->auxAnalogInputs[i];
39
40 // Skip unconfigured channels
41
1/2
✓ Branch 1 taken 16 times.
✗ Branch 2 not taken.
1/2
✓ Decision 'true' taken 16 times.
✗ Decision 'false' not taken.
16 if (!isAdcChannelValid(channel)) {
42 16 continue;
43 }
44
45 auto& sensor = auxSensors[i];
46 sensor.setFunction(identityFunction);
47 sensor.Register();
48
49 AdcSubscription::SubscribeSensor(sensor, channel, 10);
50 }
51
52
2/2
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 2 times.
2/2
✓ Decision 'true' taken 16 times.
✓ Decision 'false' taken 2 times.
18 for (size_t i = 0; i < efi::size(luaGauges); i++) {
53 16 auto& sensor = luaGauges[i];
54 16 sensor.Register();
55 }
56 2 }
57
58 void deinitAuxSensors() {
59 for (size_t i = 0; i < efi::size(engineConfiguration->auxAnalogInputs); i++) {
60 AdcSubscription::UnsubscribeSensor(auxSensors[i]);
61 auxSensors[i].unregister();
62 }
63 }
64