rusEFI
The most advanced open source ECU
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]
composite packet size

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  {
34  if (!isAdcChannelValid(channel)) {
35  return;
36  }
37 
38 #if EFI_PROD_CODE && HAL_USE_ADC
39  brain_pin_e pin = getAdcChannelBrainPin(msg, channel);
40  efiSetPadUnused(pin);
41 #endif // EFI_PROD_CODE && HAL_USE_ADC
42 }
bool isAdcChannelValid(adc_channel_e hwChannel)
Definition: adc_inputs.h:20
Gpio
brain_pin_e getAdcChannelBrainPin(const char *msg, adc_channel_e hwChannel)
void efiSetPadUnused(brain_pin_e brainPin)
Definition: io_pins.cpp:20

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)
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  {
15  if (!isAdcChannelValid(channel)) {
16  return;
17  }
18 
19 #if EFI_PROD_CODE && HAL_USE_ADC
20 /**
21 TODO: this code is similar to AdcSubscription::SubscribeSensor, what is the plan? shall we extract helper method or else?
22  */
23 
24  brain_pin_e pin = getAdcChannelBrainPin(msg, channel);
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
114  initCanSensors();
115 #endif
116 
118 
120  // todo:
121  initLambda();
122  // todo: 'isFirstTime' approach for initEgt vs startEgt
123  initEgt();
124  initBaro();
125 
126  #if !EFI_UNIT_TEST
127  initFuelLevel();
128  initMaf();
129  #endif
130 
132  initAuxDigital();
133 
134  // Init CLI functionality for sensors (mocking)
135  initSensorCli();
136 
137 #if defined(HARDWARE_CI) && !defined(HW_PROTEUS)
138  chThdSleepMilliseconds(100);
139 
141  // Fake that we have battery voltage, some tests rely on it
143  }
144 #endif
145 
146 #if EFI_SIMULATOR
147  // Simulator gets battery voltage so it detects ignition-on
149 #endif // EFI_SIMULATOR
150 }
static void setMockValue(SensorType type, float value, bool mockRedundant=false)
Definition: sensor.cpp:203
static float getOrZero(SensorType type)
Definition: sensor.h:92
void initBaro()
Definition: init_baro.cpp:7
void initEgt()
Definition: init_egt.cpp:12
void initLambda()
Definition: init_lambda.cpp:48
void initCanSensors()
void initFuelLevel()
void initMaf()
Definition: init_maf.cpp:30
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 178 of file init_sensors.cpp.

178  {
179  addConsoleActionIF(CMD_SET_SENSOR_MOCK, Sensor::setMockValue);
180  addConsoleAction(CMD_RESET_SENSOR_MOCKS, Sensor::resetAllMocks);
182  addConsoleActionI("show_sensor",
183  [](int idx) {
184  Sensor::showInfo(static_cast<SensorType>(idx));
185  });
186 }
static void showAllSensorInfo()
Definition: sensor.cpp:246
virtual void showInfo(const char *sensorName) const =0
static void resetAllMocks()
Definition: sensor.cpp:228
void addConsoleAction(const char *token, Void callback)
Register console action without parameters.
void addConsoleActionI(const char *token, VoidInt callback)
Register a console command with one Integer parameter.
void addConsoleActionIF(const char *token, VoidIntFloat callback)
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:186
SwitchedState state
Definition: efi_output.h:37
bool update(bool newState)
Definition: efi_output.cpp:10
Engine * engine
bool getAuxDigital(int index)
Definition: lua_hooks.cpp:362

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 170 of file init_sensors.cpp.

170  {
172  startEgt();
173 
175 }
void startEgt(void)
Definition: init_egt.cpp:40

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();
100  initAuxSensors();
103 #if EFI_TCU
105 #endif
106  initFlexSensor(isFirstTime);
107 }
void initTps()
Definition: init_tps.cpp:202
void initTurbochargerSpeedSensor()
void initThermistors()
void initFluidPressure()
void initRangeSensors()
Definition: init_range.cpp:25
void initFlexSensor(bool isFirstTime)
Definition: init_flex.cpp:63
void initMap()
Definition: init_map.cpp:102
void initAuxSensors()
Definition: init_aux.cpp:36
void initVbatt()
Definition: init_vbatt.cpp:11
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 152 of file init_sensors.cpp.

152  {
155 
156  deinitVbatt();
157  deinitTps();
165  deinitMap();
167  stopEgt();
168 }
void deInitVehicleSpeedSensor()
void deinitTurbochargerSpeedSensor()
void deInitFlexSensor()
Definition: init_flex.cpp:97
void deinitAuxSensors()
Definition: init_aux.cpp:58
void deinitTps()
Definition: init_tps.cpp:260
void deinitInputShaftSpeedSensor()
void deinitFluidPressure()
void deinitAuxSpeedSensors()
void deinitThermistors()
void deinitVbatt()
Definition: init_vbatt.cpp:41
void stopEgt(void)
Definition: init_egt.cpp:32
void deinitMap()
Definition: init_map.cpp:140
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.