rusefi-1/firmware/init/sensor/init_sensors.cpp

50 lines
1.4 KiB
C++
Raw Normal View History

2019-09-21 12:33:13 -07:00
/**
* @file init_sensorss.cpp
*/
#include "init.h"
#include "cli_registry.h"
#include "sensor.h"
static void initSensorCli(Logging* logger);
void initNewSensors(Logging* logger DECLARE_ENGINE_PARAMETER_SUFFIX) {
#if EFI_CAN_SUPPORT
initCanSensors();
#endif
initVbatt(PASS_CONFIG_PARAMETER_SIGNATURE);
initMap(PASS_ENGINE_PARAMETER_SIGNATURE);
2020-08-31 05:12:33 -07:00
initTps(PASS_CONFIG_PARAMETER_SIGNATURE);
initOilPressure(PASS_CONFIG_PARAMETER_SIGNATURE);
initThermistors(PASS_CONFIG_PARAMETER_SIGNATURE);
initLambda(PASS_ENGINE_PARAMETER_SIGNATURE);
initFlexSensor(PASS_CONFIG_PARAMETER_SIGNATURE);
initBaro();
// Init CLI functionality for sensors (mocking)
initSensorCli(logger);
}
void reconfigureSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
reconfigureVbatt(PASS_CONFIG_PARAMETER_SIGNATURE);
2020-08-31 05:12:33 -07:00
reconfigureTps(PASS_CONFIG_PARAMETER_SIGNATURE);
reconfigureOilPressure(PASS_CONFIG_PARAMETER_SIGNATURE);
reconfigureThermistors(PASS_CONFIG_PARAMETER_SIGNATURE);
}
static Logging* s_logger;
// Mocking/testing helpers
static void initSensorCli(Logging* logger) {
s_logger = logger;
addConsoleActionIF("set_sensor_mock", Sensor::setMockValue);
addConsoleAction("reset_sensor_mocks", Sensor::resetAllMocks);
addConsoleAction("show_sensors", []() { Sensor::showAllSensorInfo(s_logger); });
addConsoleActionI("show_sensor",
[](int idx) {
Sensor::showInfo(s_logger, static_cast<SensorType>(idx));
});
}