rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions | Variables
init_sensors.cpp File Reference

Functions

static void initSensorCli ()
 
void initIfValid (const char *msg, adc_channel_e channel)
 
void deInitIfValid (const char *msg, adc_channel_e channel)
 
static void initOldAnalogInputs ()
 
static void deInitOldAnalogInputs ()
 
static void initAuxDigital ()
 
void pokeAuxDigital ()
 
static void deInitAuxDigital ()
 
void initOverrideSensors ()
 
static void sensorStartUpOrReconfiguration (bool isFirstTime)
 
void initNewSensors ()
 
void stopSensors ()
 
void reconfigureSensors ()
 

Variables

static LuaOverrideSensor overrideRpm (SensorType::DashOverrideRpm, SensorType::Rpm)
 
static LuaOverrideSensor overrideVehicleSpeed (SensorType::DashOverrideVehicleSpeed, SensorType::VehicleSpeed)
 
static LuaOverrideSensor overrideClt (SensorType::DashOverrideClt, SensorType::Clt)
 
static LuaOverrideSensor overrideBatteryVoltage (SensorType::DashOverrideBatteryVoltage, SensorType::BatteryVoltage)
 

Function Documentation

◆ deInitAuxDigital()

static void deInitAuxDigital ( )
static

Definition at line 73 of file init_sensors.cpp.

73 {
74 for (size_t i = 0;i<efi::size(activeConfiguration.luaDigitalInputPins);i++) {
76 }
77}
engine_configuration_s & activeConfiguration
void brain_pin_markUnused(brain_pin_e brainPin)
switch_input_pin_e luaDigitalInputPins[LUA_DIGITAL_INPUT_COUNT]

Referenced by stopSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deInitIfValid()

void deInitIfValid ( const char msg,
adc_channel_e  channel 
)

Definition at line 33 of file init_sensors.cpp.

33 {
35 return;
36 }
37
38#if EFI_PROD_CODE && HAL_USE_ADC
41#endif // EFI_PROD_CODE && HAL_USE_ADC
42}
bool isAdcChannelValid(adc_channel_e hwChannel)
Definition adc_inputs.h:23
uint16_t channel
Definition adc_inputs.h:104
brain_pin_e getAdcChannelBrainPin(const char *msg, adc_channel_e hwChannel)
void efiSetPadUnused(brain_pin_e brainPin)
Definition io_pins.cpp:20
brain_pin_e pin
Definition stm32_adc.cpp:15

Referenced by deInitOldAnalogInputs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deInitOldAnalogInputs()

static void deInitOldAnalogInputs ( )
static

Definition at line 52 of file init_sensors.cpp.

Referenced by stopSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initAuxDigital()

static void initAuxDigital ( )
static

Definition at line 57 of file init_sensors.cpp.

57 {
58#if EFI_PROD_CODE
59 for (size_t i = 0;i<efi::size(engineConfiguration->luaDigitalInputPins);i++) {
61 }
62#endif // EFI_PROD_CODE
63}
void efiSetPadMode(const char *msg, brain_pin_e brainPin, iomode_t mode)
static constexpr engine_configuration_s * engineConfiguration
pin_input_mode_e luaDigitalInputPinModes[LUA_DIGITAL_INPUT_COUNT]

Referenced by initNewSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initIfValid()

void initIfValid ( const char msg,
adc_channel_e  channel 
)

TODO: this code is similar to AdcSubscription::SubscribeSensor, what is the plan? shall we extract helper method or else?

Definition at line 14 of file init_sensors.cpp.

14 {
16 return;
17 }
18
19#if EFI_PROD_CODE && HAL_USE_ADC
20/**
21TODO: this code is similar to AdcSubscription::SubscribeSensor, what is the plan? shall we extract helper method or else?
22 */
23
25 if (pin == Gpio::Invalid) {
26 // todo: external muxes for internal ADC #3350
27 return;
28 }
29 efiSetPadMode(msg, pin, PAL_MODE_INPUT_ANALOG);
30#endif // EFI_PROD_CODE && HAL_USE_ADC
31}
@ Invalid

Referenced by initOldAnalogInputs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initNewSensors()

void initNewSensors ( )

Definition at line 112 of file init_sensors.cpp.

112 {
113#if EFI_PROD_CODE && EFI_CAN_SUPPORT
115#endif
116
118
120 // todo:
121 initLambda();
122 // todo: 'isFirstTime' approach for initEgt vs startEgt
123 initEgt();
124 initBaro();
125
127 initMaf();
128
131
132 // Init CLI functionality for sensors (mocking)
134
135#if defined(HARDWARE_CI) && !defined(HW_PROTEUS)
136 chThdSleepMilliseconds(100);
137
139 // Fake that we have battery voltage, some tests rely on it
141 }
142#endif
143
144#if EFI_SIMULATOR
145 // Simulator gets battery voltage so it detects ignition-on
147#endif // EFI_SIMULATOR
148}
static void setMockValue(SensorType type, float value, bool mockRedundant=false)
Definition sensor.cpp:203
static float getOrZero(SensorType type)
Definition sensor.h:83
void initBaro()
Definition init_baro.cpp:7
void initEgt()
Definition init_egt.cpp:16
void initLambda()
void initCanSensors()
void initFuelLevel()
void initMaf()
Definition init_maf.cpp:92
static void sensorStartUpOrReconfiguration(bool isFirstTime)
void initOverrideSensors()
static void initOldAnalogInputs()
static void initSensorCli()
static void initAuxDigital()

Referenced by commonInitEngineController().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initOldAnalogInputs()

static void initOldAnalogInputs ( )
static

Definition at line 44 of file init_sensors.cpp.

44 {
46 criticalError("Please pick either analog AFR or CAN AFR input not both.");
47 }
50}
void initIfValid(const char *msg, adc_channel_e channel)

Referenced by initNewSensors(), and reconfigureSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initOverrideSensors()

void initOverrideSensors ( )

Definition at line 84 of file init_sensors.cpp.

84 {
89}
bool Register()
Definition sensor.cpp:131
static LuaOverrideSensor overrideBatteryVoltage(SensorType::DashOverrideBatteryVoltage, SensorType::BatteryVoltage)
static LuaOverrideSensor overrideVehicleSpeed(SensorType::DashOverrideVehicleSpeed, SensorType::VehicleSpeed)
static LuaOverrideSensor overrideClt(SensorType::DashOverrideClt, SensorType::Clt)
static LuaOverrideSensor overrideRpm(SensorType::DashOverrideRpm, SensorType::Rpm)

Referenced by initNewSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initSensorCli()

static void initSensorCli ( )
static

Definition at line 176 of file init_sensors.cpp.

176 {
177 using namespace rusefi::stringutil;
178
179 addConsoleActionSS("set_sensor_mock", [](const char* typeName, const char* valueStr) {
180 SensorType type = findSensorTypeByName(typeName);
181
182 if (type == SensorType::Invalid) {
183 efiPrintf("Invalid sensor type specified: %s", typeName);
184 return;
185 }
186
187 float value = atoff(valueStr);
188
189 Sensor::setMockValue(type, value);
190 });
191
192 addConsoleAction("reset_sensor_mocks", Sensor::resetAllMocks);
194 addConsoleActionI("show_sensor",
195 [](int idx) {
196 Sensor::showInfo(static_cast<SensorType>(idx));
197 });
198}
static void showAllSensorInfo()
Definition sensor.cpp:237
virtual void showInfo(const char *sensorName) const =0
static void resetAllMocks()
Definition sensor.cpp:219
void addConsoleAction(const char *token, Void callback)
Register console action without parameters.
void addConsoleActionSS(const char *token, VoidCharPtrCharPtr callback)
void addConsoleActionI(const char *token, VoidInt callback)
Register a console command with one Integer parameter.
SensorType findSensorTypeByName(const char *name)
Definition sensor.cpp:259
SensorType
Definition sensor_type.h:18

Referenced by initNewSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pokeAuxDigital()

void pokeAuxDigital ( )

Definition at line 65 of file init_sensors.cpp.

65 {
66#if EFI_PROD_CODE
67 for (size_t i = 0;i<efi::size(engineConfiguration->luaDigitalInputPins);i++) {
69 }
70#endif // EFI_PROD_CODE
71}
SimpleSwitchedState luaDigitalInputState[LUA_DIGITAL_INPUT_COUNT]
Definition engine.h:217
bool update(bool newState)
Definition efi_output.cpp:9
static EngineAccessor engine
Definition engine.h:413
bool getAuxDigital(int index)
SwitchedState state
Definition efi_output.h:36

Referenced by Engine::updateSwitchInputs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reconfigureSensors()

void reconfigureSensors ( )

Definition at line 168 of file init_sensors.cpp.

168 {
170 startEgt();
171
173}
void startEgt()
Definition init_egt.cpp:47

Referenced by applyNewHardwareSettings().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sensorStartUpOrReconfiguration()

static void sensorStartUpOrReconfiguration ( bool  isFirstTime)
static

Definition at line 92 of file init_sensors.cpp.

92 {
93 initVbatt();
94 initMap();
95 initTps();
103#if EFI_TCU
105#endif
106 initFlexSensor(isFirstTime);
107}
void initTps()
Definition init_tps.cpp:206
void initTurbochargerSpeedSensor()
void initThermistors()
void initFluidPressure()
void initRangeSensors()
void initFlexSensor(bool isFirstTime)
Definition init_flex.cpp:64
void initMap()
Definition init_map.cpp:105
void initAuxSensors()
Definition init_aux.cpp:36
void initVbatt()
void initInputShaftSpeedSensor()
void initVehicleSpeedSensor()
void initAuxSpeedSensors()

Referenced by initNewSensors(), and reconfigureSensors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stopSensors()

void stopSensors ( )

Definition at line 150 of file init_sensors.cpp.

150 {
153
154 deinitVbatt();
155 deinitTps();
163 deinitMap();
165 stopEgt();
166}
void deInitVehicleSpeedSensor()
void deinitTurbochargerSpeedSensor()
void stopEgt()
Definition init_egt.cpp:40
void deInitFlexSensor()
Definition init_flex.cpp:98
void deinitAuxSensors()
Definition init_aux.cpp:58
void deinitTps()
Definition init_tps.cpp:278
void deinitInputShaftSpeedSensor()
void deinitFluidPressure()
void deinitAuxSpeedSensors()
void deinitThermistors()
void deinitVbatt()
void deinitMap()
Definition init_map.cpp:144
static void deInitAuxDigital()
static void deInitOldAnalogInputs()

Referenced by applyNewHardwareSettings().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ overrideBatteryVoltage

Referenced by initOverrideSensors().

◆ overrideClt

Referenced by initOverrideSensors().

◆ overrideRpm

Referenced by initOverrideSensors().

◆ overrideVehicleSpeed

Referenced by initOverrideSensors().

Go to the source code of this file.