rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
gppwm_channel_reader.cpp
Go to the documentation of this file.
1//
2// Created by kifir on 5/15/24.
3//
4
5#include "pch.h"
6#include "throttle_model.h"
8
10 switch (channel) {
11 case GPPWM_Zero:
12 return 0;
13 case GPPWM_Rpm:
15 case GPPWM_Tps:
17 case GPPWM_Map:
19 case GPPWM_Clt:
21 case GPPWM_Iat:
23 case GPPWM_LuaGauge1:
25 case GPPWM_LuaGauge2:
27 case GPPWM_FuelLoad:
28 return getFuelingLoad();
29 case GPPWM_IgnLoad:
30 return getIgnitionLoad();
31 case GPPWM_AuxTemp1:
33 case GPPWM_AuxTemp2:
35 case GPPWM_AccelPedal:
37 case GPPWM_Vbatt:
39#if EFI_SHAFT_POSITION_INPUT
40 case GPPWM_VVT_1I:
41 return engine->triggerCentral.getVVTPosition(/*bankIndex*/0, /*camIndex*/0);
42 case GPPWM_VVT_1E:
43 return engine->triggerCentral.getVVTPosition(/*bankIndex*/0, /*camIndex*/1);
44 case GPPWM_VVT_2I:
45 return engine->triggerCentral.getVVTPosition(/*bankIndex*/1, /*camIndex*/0);
46 case GPPWM_VVT_2E:
47 return engine->triggerCentral.getVVTPosition(/*bankIndex*/1, /*camIndex*/1);
48#else
49 case GPPWM_VVT_1I:
50 case GPPWM_VVT_1E:
51 case GPPWM_VVT_2I:
52 case GPPWM_VVT_2E:
53 return 0;
54#endif // EFI_SHAFT_POSITION_INPUT
55 case GPPWM_EthanolPercent:
57 case GPPWM_AuxLinear1:
59 case GPPWM_AuxLinear2:
61 case GPPWM_AuxLinear3:
63 case GPPWM_AuxLinear4:
65 case GPPWM_GppwmOutput1:
66 return (float)engine->outputChannels.gppwmOutput[0];
67 case GPPWM_GppwmOutput2:
68 return (float)engine->outputChannels.gppwmOutput[1];
69 case GPPWM_GppwmOutput3:
70 return (float)engine->outputChannels.gppwmOutput[2];
71 case GPPWM_GppwmOutput4:
72 return (float)engine->outputChannels.gppwmOutput[3];
73 case GPPWM_DetectedGear:
74#if EFI_VEHICLE_SPEED
76#else
77 return 0;
78#endif // EFI_VEHICLE_SPEED
79 case GPPWM_BaroPressure:
81 case GPPWM_Egt1:
83 case GPPWM_Egt2:
85 case GPPWM_VehicleSpeed:
87 case GPPWM_OilPressure:
89 case GPPWM_OilTemp:
91 case GPPWM_FuelPressure:
93 case GPPWM_ThrottleRatio:
95 }
96 return unexpected;
97}
uint16_t channel
Definition adc_inputs.h:104
TriggerCentral triggerCentral
Definition engine.h:318
TunerStudioOutputChannels outputChannels
Definition engine.h:109
virtual SensorResult get() const =0
static float getOrZero(SensorType type)
Definition sensor.h:83
angle_t getVVTPosition(uint8_t bankIndex, uint8_t camIndex)
static EngineAccessor engine
Definition engine.h:413
float getFuelingLoad()
float getIgnitionLoad()
expected< float > readGppwmChannel(gppwm_channel_e channel)
gppwm_channel_e
@ FuelEthanolPercent
@ FuelPressureInjector
@ BarometricPressure
scaled_channel< uint8_t, 2, 1 > gppwmOutput[4]
float getThrottlePressureRatio(float map)