From 31c0afc79fa4651decf5e0330bbb09a070345a21 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 3 Feb 2022 17:43:34 -0800 Subject: [PATCH] remove mock adc (#3888) * remove mock adc * do these do /anything/? --- firmware/config/stm32f4ems/efifeatures.h | 5 ---- firmware/controllers/algo/engine2.cpp | 22 ------------------ firmware/controllers/algo/engine_parts.h | 18 ++------------- firmware/controllers/algo/engine_state.h | 4 ---- firmware/controllers/engine_controller.h | 8 ------- .../controllers/engine_controller_misc.cpp | 23 ------------------- firmware/hw_layer/adc/adc_inputs.cpp | 5 ---- simulator/simulator/boards.cpp | 2 +- simulator/simulator/efifeatures.h | 1 - unit_tests/boards.cpp | 7 +----- unit_tests/efifeatures.h | 2 -- unit_tests/engine_test_helper.cpp | 3 --- .../ignition_injection/test_fuel_map.cpp | 3 --- 13 files changed, 4 insertions(+), 99 deletions(-) diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index 1ff8624c29..951e8db3b6 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -54,11 +54,6 @@ #define EFI_ENABLE_ASSERTS TRUE #endif /* EFI_ENABLE_ASSERTS */ -#if !defined(EFI_ENABLE_MOCK_ADC) - #define EFI_ENABLE_MOCK_ADC TRUE -#endif /* EFI_ENABLE_MOCK_ADC */ - - //#define EFI_UART_ECHO_TEST_MODE TRUE /** diff --git a/firmware/controllers/algo/engine2.cpp b/firmware/controllers/algo/engine2.cpp index b4234bd856..5a49408ea1 100644 --- a/firmware/controllers/algo/engine2.cpp +++ b/firmware/controllers/algo/engine2.cpp @@ -56,20 +56,6 @@ bool WarningCodeState::isWarningNow(efitimesec_t now, bool forIndicator) const { return absI(now - timeOfPreviousWarning) < period; } -MockAdcState::MockAdcState() { - memset(hasMockAdc, 0, sizeof(hasMockAdc)); -} - -#if EFI_ENABLE_MOCK_ADC -void MockAdcState::setMockVoltage(int hwChannel, float voltage) { - efiAssertVoid(OBD_PCM_Processor_Fault, hwChannel >= 0 && hwChannel < MOCK_ADC_SIZE, "hwChannel out of bounds"); - efiPrintf("fake voltage: channel %d value %.2f", hwChannel, voltage); - - fakeAdcValues[hwChannel] = voltsToAdc(voltage); - hasMockAdc[hwChannel] = true; -} -#endif /* EFI_ENABLE_MOCK_ADC */ - void FuelConsumptionState::consumeFuel(float grams, efitick_t nowNt) { m_consumedGrams += grams; @@ -206,14 +192,6 @@ void EngineState::updateTChargeK(int rpm, float tps) { #endif } -SensorsState::SensorsState() { -} - -int MockAdcState::getMockAdcValue(int hwChannel) const { - efiAssert(OBD_PCM_Processor_Fault, hwChannel >= 0 && hwChannel < MOCK_ADC_SIZE, "hwChannel out of bounds", -1); - return fakeAdcValues[hwChannel]; -} - #if EFI_SIMULATOR #define VCS_VERSION "123" #endif diff --git a/firmware/controllers/algo/engine_parts.h b/firmware/controllers/algo/engine_parts.h index d967f27877..134d4ef586 100644 --- a/firmware/controllers/algo/engine_parts.h +++ b/firmware/controllers/algo/engine_parts.h @@ -12,18 +12,7 @@ #define MOCK_ADC_SIZE 26 -class MockAdcState { -public: - MockAdcState(); - bool hasMockAdc[MOCK_ADC_SIZE]; - int fakeAdcValues[MOCK_ADC_SIZE]; - - void setMockVoltage(int hwChannel, float voltage); - int getMockAdcValue(int hwChannel) const; -}; - -class Accelerometer { -public: +struct Accelerometer { float x = 0; // G value float y = 0; float z = 0; @@ -31,10 +20,7 @@ public: float roll = 0; }; -class SensorsState { -public: - SensorsState(); - +struct SensorsState { Accelerometer accelerometer; }; diff --git a/firmware/controllers/algo/engine_state.h b/firmware/controllers/algo/engine_state.h index 4680622d01..451c035608 100644 --- a/firmware/controllers/algo/engine_state.h +++ b/firmware/controllers/algo/engine_state.h @@ -80,10 +80,6 @@ public: angle_t injectionOffset = 0; -#if EFI_ENABLE_MOCK_ADC - MockAdcState mockAdcState; -#endif /* EFI_ENABLE_MOCK_ADC */ - multispark_state multispark; float targetLambda = 0.0f; diff --git a/firmware/controllers/engine_controller.h b/firmware/controllers/engine_controller.h index 437d74e62b..b3522695ff 100644 --- a/firmware/controllers/engine_controller.h +++ b/firmware/controllers/engine_controller.h @@ -19,12 +19,4 @@ void initDataStructures(); void slowStartStopButtonCallback(); -#if EFI_ENABLE_MOCK_ADC -void setMockVoltage(int hwChannel, float voltage); -#endif - -void setMockMapVoltage(float voltage); -void setMockAfrVoltage(float voltage); -void setMockMafVoltage(float voltage); - void printCurrentState(Logging *logging, int seconds, const char *engineTypeName, const char *firmwareBuildId); diff --git a/firmware/controllers/engine_controller_misc.cpp b/firmware/controllers/engine_controller_misc.cpp index 5dbd5d110c..086999ad25 100644 --- a/firmware/controllers/engine_controller_misc.cpp +++ b/firmware/controllers/engine_controller_misc.cpp @@ -36,29 +36,6 @@ void irqExitHook() {} void contextSwitchHook() {} #endif /* ENABLE_PERF_TRACE */ -#if EFI_ENABLE_MOCK_ADC -/** - * in 2021 the api is Sensor::setMockValue - * todo: remove this mockAdcState https://github.com/rusefi/rusefi/issues/3672 - */ -void setMockVoltage(int hwChannel, float voltage) { - engine->engineState.mockAdcState.setMockVoltage(hwChannel, voltage); -} - -// used by HW CI testing -void setMockMafVoltage(float voltage) { - setMockVoltage(engineConfiguration->mafAdcChannel, voltage); -} - -void setMockAfrVoltage(float voltage) { - setMockVoltage(engineConfiguration->afr.hwChannel, voltage); -} - -void setMockMapVoltage(float voltage) { - setMockVoltage(engineConfiguration->map.sensor.hwChannel, voltage); -} -#endif /* EFI_ENABLE_MOCK_ADC */ - #if !EFI_UNIT_TEST /** * 64-bit result would not overflow, but that's complex stuff for our 32-bit MCU diff --git a/firmware/hw_layer/adc/adc_inputs.cpp b/firmware/hw_layer/adc/adc_inputs.cpp index 9bd53b87d3..83b990f184 100644 --- a/firmware/hw_layer/adc/adc_inputs.cpp +++ b/firmware/hw_layer/adc/adc_inputs.cpp @@ -185,11 +185,6 @@ int getInternalAdcValue(const char *msg, adc_channel_e hwChannel) { warning(CUSTOM_OBD_ANALOG_INPUT_NOT_CONFIGURED, "ADC: %s input is not configured", msg); return -1; } -#if EFI_ENABLE_MOCK_ADC - if (engine->engineState.mockAdcState.hasMockAdc[hwChannel]) - return engine->engineState.mockAdcState.getMockAdcValue(hwChannel); - -#endif /* EFI_ENABLE_MOCK_ADC */ #if EFI_USE_FAST_ADC if (adcHwChannelEnabled[hwChannel] == ADC_FAST) { diff --git a/simulator/simulator/boards.cpp b/simulator/simulator/boards.cpp index e59f4297be..ccd0ddf765 100644 --- a/simulator/simulator/boards.cpp +++ b/simulator/simulator/boards.cpp @@ -12,7 +12,7 @@ #include "adc_math.h" int getAdcValue(const char *msg, int hwChannel) { - return engine->engineState.mockAdcState.getMockAdcValue(hwChannel); + return 0; } // voltage in MCU universe, from zero to VDD diff --git a/simulator/simulator/efifeatures.h b/simulator/simulator/efifeatures.h index 1bfa1de020..c2817c24d2 100644 --- a/simulator/simulator/efifeatures.h +++ b/simulator/simulator/efifeatures.h @@ -13,7 +13,6 @@ #define EFI_ENABLE_ASSERTS TRUE #define EFI_LAUNCH_CONTROL TRUE -#define EFI_ENABLE_MOCK_ADC TRUE #define ENABLE_PERF_TRACE FALSE diff --git a/unit_tests/boards.cpp b/unit_tests/boards.cpp index 3000573181..d58ea9f82a 100644 --- a/unit_tests/boards.cpp +++ b/unit_tests/boards.cpp @@ -9,19 +9,14 @@ #include "boards.h" -// see setMockVoltage float getVoltageDivided(const char *msg, adc_channel_e hwChannel) { - return adcToVolts(engine->engineState.mockAdcState.getMockAdcValue(hwChannel));; + return 0; } float getVoltage(const char *msg, adc_channel_e hwChannel) { - 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 hwChannel) { return 0; } - - diff --git a/unit_tests/efifeatures.h b/unit_tests/efifeatures.h index 19a4ed6ff4..214c6487aa 100644 --- a/unit_tests/efifeatures.h +++ b/unit_tests/efifeatures.h @@ -35,8 +35,6 @@ #define SPARK_EXTREME_LOGGING TRUE -#define EFI_ENABLE_MOCK_ADC TRUE - #define EFI_ENABLE_CRITICAL_ENGINE_STOP TRUE #define EFI_ENABLE_ENGINE_WARNING TRUE diff --git a/unit_tests/engine_test_helper.cpp b/unit_tests/engine_test_helper.cpp index ff6f90f48d..2391485cf6 100644 --- a/unit_tests/engine_test_helper.cpp +++ b/unit_tests/engine_test_helper.cpp @@ -114,9 +114,6 @@ EngineTestHelper::EngineTestHelper(engine_type_e engineType, configuration_callb commonInitEngineController(); - engineConfiguration->mafAdcChannel = EFI_ADC_10; - engine.engineState.mockAdcState.setMockVoltage(EFI_ADC_10, 0); - // this is needed to have valid CLT and IAT. //todo: reuse initPeriodicEvents() method engine.periodicSlowCallback(); diff --git a/unit_tests/tests/ignition_injection/test_fuel_map.cpp b/unit_tests/tests/ignition_injection/test_fuel_map.cpp index b77d78e2f2..abd554b981 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_map.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_map.cpp @@ -58,7 +58,6 @@ TEST(misc, testFuelMap) { engineConfiguration->mafAdcChannel = EFI_ADC_10; - engine->engineState.mockAdcState.setMockVoltage(EFI_ADC_10, 5); // 1005 * 2 for IAT correction printf("*************************************************** getRunningFuel 2\r\n"); @@ -68,8 +67,6 @@ TEST(misc, testFuelMap) { EXPECT_EQ( 42, getRunningFuel(1)) << "v1"; EXPECT_EQ( 84, getRunningFuel(2)) << "v1"; - engine->engineState.mockAdcState.setMockVoltage(EFI_ADC_10, 0); - engineConfiguration->cranking.baseFuel = 4000; // Should use 20 degree correction in case of failed sensor