diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index fc321434f0..1dbc933cf1 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -75,7 +75,7 @@ #if ! EFI_UNIT_TEST #include "init.h" -#endif +#endif /* EFI_UNIT_TEST */ #if EFI_PROD_CODE #include "pwm_generator.h" @@ -96,7 +96,7 @@ void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) { #if !EFI_UNIT_TEST initSensors(); -#endif +#endif /* EFI_UNIT_TEST */ initSensors(sharedLogger PASS_ENGINE_PARAMETER_SUFFIX); @@ -593,39 +593,40 @@ static void setFloat(const char *offsetStr, const char *valueStr) { getFloat(offset); onConfigurationChanged(); } +#endif /* EFI_UNIT_TEST */ #if EFI_ENABLE_MOCK_ADC void setMockCltVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { - setMockVoltage(engineConfiguration->clt.adcChannel, voltage); + setMockVoltage(engineConfiguration->clt.adcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } void setMockIatVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { - setMockVoltage(engineConfiguration->iat.adcChannel, voltage); + setMockVoltage(engineConfiguration->iat.adcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } void setMockMafVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { - setMockVoltage(engineConfiguration->mafAdcChannel, voltage); + setMockVoltage(engineConfiguration->mafAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } -void setMockAfrVoltage(float voltage) { - setMockVoltage(engineConfiguration->afr.hwChannel, voltage); +void setMockAfrVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { + setMockVoltage(engineConfiguration->afr.hwChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } -void setMockThrottlePedalSensorVoltage(float voltage) { - setMockVoltage(engineConfiguration->throttlePedalPositionAdcChannel, voltage); +void setMockThrottlePedalSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { + setMockVoltage(engineConfiguration->throttlePedalPositionAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } -void setMockThrottlePositionSensorVoltage(float voltage) { - setMockVoltage(engineConfiguration->tps1_1AdcChannel, voltage); +void setMockThrottlePositionSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { + setMockVoltage(engineConfiguration->tps1_1AdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } -void setMockMapVoltage(float voltage) { - setMockVoltage(engineConfiguration->map.sensor.hwChannel, voltage); +void setMockMapVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { + setMockVoltage(engineConfiguration->map.sensor.hwChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } -void setMockVBattVoltage(float voltage) { - setMockVoltage(engineConfiguration->vbattAdcChannel, voltage); +void setMockVBattVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { + setMockVoltage(engineConfiguration->vbattAdcChannel, voltage PASS_ENGINE_PARAMETER_SUFFIX); } static void initMockVoltage(void) { @@ -641,6 +642,9 @@ static void initMockVoltage(void) { #endif /* EFI_ENABLE_MOCK_ADC */ + +#if !EFI_UNIT_TEST + static void initConfigActions(void) { addConsoleActionSS("set_float", (VoidCharPtrCharPtr) setFloat); addConsoleActionII("set_int", (VoidIntInt) setInt); diff --git a/firmware/controllers/engine_controller.h b/firmware/controllers/engine_controller.h index 14c0e6895b..8f21f1ca31 100644 --- a/firmware/controllers/engine_controller.h +++ b/firmware/controllers/engine_controller.h @@ -23,15 +23,15 @@ void mostCommonInitEngineController(Logging *sharedLogger DECLARE_ENGINE_PARAMET void setMockVoltage(int hwChannel, float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); #endif -void setMockVBattVoltage(float voltage); -void setMockMapVoltage(float voltage); +void setMockVBattVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockMapVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); // throttle body sensor -void setMockThrottlePositionSensorVoltage(float voltage); -void setMockThrottlePedalSensorVoltage(float voltage); -void setMockAfrVoltage(float voltage); -void setMockMafVoltage(float voltage); -void setMockIatVoltage(float voltage); -void setMockCltVoltage(float voltage); +void setMockThrottlePositionSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockThrottlePedalSensorVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockAfrVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockMafVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockIatVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); +void setMockCltVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX); void printCurrentState(Logging *logging, int seconds, const char *engineTypeName, const char *firmwareBuildId); diff --git a/unit_tests/boards.cpp b/unit_tests/boards.cpp index fc3cdeee3f..cf665621b7 100644 --- a/unit_tests/boards.cpp +++ b/unit_tests/boards.cpp @@ -6,28 +6,34 @@ */ #include "boards.h" +#include "engine.h" +// todo: migrate to engine->engineState.mockAdcState float testMafValue = 0; float testCltValue = 0; float testIatValue = 0; -float getVoltageDivided(const char *msg, adc_channel_e channel DECLARE_ENGINE_PARAMETER_SUFFIX) { - switch(channel) { +float getVoltageDivided(const char *msg, adc_channel_e hwChannel DECLARE_ENGINE_PARAMETER_SUFFIX) { + switch(hwChannel) { case TEST_MAF_CHANNEL: return testMafValue; case TEST_CLT_CHANNEL: return testCltValue; + //return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel)); case TEST_IAT_CHANNEL: return testIatValue; + //return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel)); } return 0; } -float getVoltage(const char *msg, adc_channel_e channel DECLARE_ENGINE_PARAMETER_SUFFIX) { +float getVoltage(const char *msg, adc_channel_e hwChannel DECLARE_ENGINE_PARAMETER_SUFFIX) { + if (engine->engineState.mockAdcState.hasMockAdc[hwChannel]) + return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel) * engineConfiguration->analogInputDividerCoefficient); return 0; } -int getAdcValue(const char *msg, adc_channel_e channel) { +int getAdcValue(const char *msg, adc_channel_e hwChannel) { return 0; }