From a718f3a30a5bd0c915cacabd6eb2ed10e0ca3ce9 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Tue, 1 Feb 2022 12:42:04 -0800 Subject: [PATCH] Remove fsio part 1 (#3871) * dead includes * move last logic out of fsio * dead functions --- .../alphax-2chan/board_configuration.cpp | 1 - .../hellen/hellen-nb1/board_configuration.cpp | 1 - .../hellen121nissan/board_configuration.cpp | 1 - .../hellen121vag/board_configuration.cpp | 1 - .../hellen/hellen128/board_configuration.cpp | 1 - .../hellen154hyundai/board_configuration.cpp | 1 - .../board_configuration.cpp | 1 - .../hellen/hellen72/board_configuration.cpp | 1 - .../hellen/hellen81/board_configuration.cpp | 1 - .../hellen88bmw/board_configuration.cpp | 1 - .../hellenNA8_96/board_configuration.cpp | 1 - .../microrusefi/board_configuration.cpp | 1 - .../nucleo_f767/board_configuration.cpp | 1 - .../boards/prometheus/board_configuration.cpp | 1 - .../boards/proteus/board_configuration.cpp | 1 - .../boards/skeleton/board_configuration.cpp | 1 - .../subaru_eg33/board_configuration.cpp | 1 - firmware/config/engines/bmw_m73_mre.cpp | 1 - firmware/config/engines/custom_engine.cpp | 1 - firmware/config/engines/ford_festiva.cpp | 1 - firmware/config/engines/mazda_626.cpp | 1 - firmware/config/engines/mazda_miata.cpp | 1 - firmware/config/engines/mazda_miata_1_6.cpp | 1 - .../engines/mazda_miata_custom_hunchback.cpp | 1 - firmware/config/engines/mazda_miata_vvt.cpp | 1 - firmware/config/engines/me7pnp.cpp | 1 - firmware/config/engines/mitsubishi.cpp | 1 - firmware/console/status_loop.cpp | 4 -- firmware/controllers/actuators/vvt.cpp | 2 - firmware/controllers/algo/engine.cpp | 8 +--- .../controllers/algo/engine_configuration.cpp | 5 -- firmware/controllers/core/fsio_impl.cpp | 47 ------------------- firmware/controllers/core/fsio_impl.h | 4 -- unit_tests/tests/test_idle_controller.cpp | 1 - 34 files changed, 2 insertions(+), 96 deletions(-) diff --git a/firmware/config/boards/hellen/alphax-2chan/board_configuration.cpp b/firmware/config/boards/hellen/alphax-2chan/board_configuration.cpp index a95a847b91..927f4a21ef 100644 --- a/firmware/config/boards/hellen/alphax-2chan/board_configuration.cpp +++ b/firmware/config/boards/hellen/alphax-2chan/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen-nb1/board_configuration.cpp b/firmware/config/boards/hellen/hellen-nb1/board_configuration.cpp index 32b144235c..284454eb6a 100644 --- a/firmware/config/boards/hellen/hellen-nb1/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen-nb1/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen121nissan/board_configuration.cpp b/firmware/config/boards/hellen/hellen121nissan/board_configuration.cpp index 8ace5a6373..99d257bcd7 100644 --- a/firmware/config/boards/hellen/hellen121nissan/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen121nissan/board_configuration.cpp @@ -12,7 +12,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen121vag/board_configuration.cpp b/firmware/config/boards/hellen/hellen121vag/board_configuration.cpp index cd694a71bc..9dd03154ca 100644 --- a/firmware/config/boards/hellen/hellen121vag/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen121vag/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "electronic_throttle_impl.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen128/board_configuration.cpp b/firmware/config/boards/hellen/hellen128/board_configuration.cpp index 2140202d9a..5132732701 100644 --- a/firmware/config/boards/hellen/hellen128/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen128/board_configuration.cpp @@ -12,7 +12,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp b/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp index 790ae255fc..d463c4fe87 100644 --- a/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen154hyundai/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen64_miataNA6_94/board_configuration.cpp b/firmware/config/boards/hellen/hellen64_miataNA6_94/board_configuration.cpp index 56f24d5373..e3f83a1fd3 100644 --- a/firmware/config/boards/hellen/hellen64_miataNA6_94/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen64_miataNA6_94/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen72/board_configuration.cpp b/firmware/config/boards/hellen/hellen72/board_configuration.cpp index 388c8ee2ef..b8df94f220 100644 --- a/firmware/config/boards/hellen/hellen72/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen72/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellen81/board_configuration.cpp b/firmware/config/boards/hellen/hellen81/board_configuration.cpp index 2f5df494e7..59f102d7a3 100644 --- a/firmware/config/boards/hellen/hellen81/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen81/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "hellen_meta.h" static void setInjectorPins() { diff --git a/firmware/config/boards/hellen/hellen88bmw/board_configuration.cpp b/firmware/config/boards/hellen/hellen88bmw/board_configuration.cpp index 11a4d50ff5..a1464b01c0 100644 --- a/firmware/config/boards/hellen/hellen88bmw/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellen88bmw/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/hellen/hellenNA8_96/board_configuration.cpp b/firmware/config/boards/hellen/hellenNA8_96/board_configuration.cpp index 893fe6009f..e4ad8864a8 100644 --- a/firmware/config/boards/hellen/hellenNA8_96/board_configuration.cpp +++ b/firmware/config/boards/hellen/hellenNA8_96/board_configuration.cpp @@ -11,7 +11,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "custom_engine.h" #include "hellen_meta.h" diff --git a/firmware/config/boards/microrusefi/board_configuration.cpp b/firmware/config/boards/microrusefi/board_configuration.cpp index 0bfaaa3a40..e5ff08ee0f 100644 --- a/firmware/config/boards/microrusefi/board_configuration.cpp +++ b/firmware/config/boards/microrusefi/board_configuration.cpp @@ -19,7 +19,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "mre_meta.h" static void setInjectorPins() { diff --git a/firmware/config/boards/nucleo_f767/board_configuration.cpp b/firmware/config/boards/nucleo_f767/board_configuration.cpp index 7458b2f906..6b755e7032 100644 --- a/firmware/config/boards/nucleo_f767/board_configuration.cpp +++ b/firmware/config/boards/nucleo_f767/board_configuration.cpp @@ -7,7 +7,6 @@ */ #include "pch.h" -#include "fsio_impl.h" // Warning! This is a test config! diff --git a/firmware/config/boards/prometheus/board_configuration.cpp b/firmware/config/boards/prometheus/board_configuration.cpp index 58e2ec55f8..c0a8f6a1c2 100644 --- a/firmware/config/boards/prometheus/board_configuration.cpp +++ b/firmware/config/boards/prometheus/board_configuration.cpp @@ -8,7 +8,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #ifdef STM32F469xx static bool is469 = true; diff --git a/firmware/config/boards/proteus/board_configuration.cpp b/firmware/config/boards/proteus/board_configuration.cpp index 50329798f3..cc6cadbc25 100644 --- a/firmware/config/boards/proteus/board_configuration.cpp +++ b/firmware/config/boards/proteus/board_configuration.cpp @@ -7,7 +7,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "proteus_meta.h" static const brain_pin_e injPins[] = { diff --git a/firmware/config/boards/skeleton/board_configuration.cpp b/firmware/config/boards/skeleton/board_configuration.cpp index 1322770ede..02679a3545 100644 --- a/firmware/config/boards/skeleton/board_configuration.cpp +++ b/firmware/config/boards/skeleton/board_configuration.cpp @@ -28,7 +28,6 @@ */ #include "pch.h" -#include "fsio_impl.h" // An example of how to configure complex features on the board. // Generally these should be local (static) functions, one function per chip. diff --git a/firmware/config/boards/subaru_eg33/board_configuration.cpp b/firmware/config/boards/subaru_eg33/board_configuration.cpp index a95952259f..e93da7365b 100644 --- a/firmware/config/boards/subaru_eg33/board_configuration.cpp +++ b/firmware/config/boards/subaru_eg33/board_configuration.cpp @@ -8,7 +8,6 @@ */ #include "pch.h" -#include "fsio_impl.h" #include "smart_gpio.h" #include "drivers/gpio/mc33810.h" diff --git a/firmware/config/engines/bmw_m73_mre.cpp b/firmware/config/engines/bmw_m73_mre.cpp index d4db9e09a3..2c0af09f03 100644 --- a/firmware/config/engines/bmw_m73_mre.cpp +++ b/firmware/config/engines/bmw_m73_mre.cpp @@ -63,7 +63,6 @@ #include "pch.h" #include "bmw_m73.h" -#include "fsio_impl.h" void setEngineBMW_M73_microRusEfi() { m73engine(); diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index 2d91e5be8a..236681bb47 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -14,7 +14,6 @@ #include "pch.h" #include "custom_engine.h" -#include "fsio_impl.h" #include "mre_meta.h" #include "proteus_meta.h" #include "hellen_meta.h" diff --git a/firmware/config/engines/ford_festiva.cpp b/firmware/config/engines/ford_festiva.cpp index d301474ddb..34d1ab289f 100644 --- a/firmware/config/engines/ford_festiva.cpp +++ b/firmware/config/engines/ford_festiva.cpp @@ -14,7 +14,6 @@ #include "pch.h" #include "ford_festiva.h" -#include "fsio_impl.h" #include "mazda_miata.h" #include "custom_engine.h" diff --git a/firmware/config/engines/mazda_626.cpp b/firmware/config/engines/mazda_626.cpp index f3d9357ee6..423b915225 100644 --- a/firmware/config/engines/mazda_626.cpp +++ b/firmware/config/engines/mazda_626.cpp @@ -11,5 +11,4 @@ #include "mazda_626.h" #include "custom_engine.h" -#include "fsio_impl.h" diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 2d0435788f..9293552e27 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -15,7 +15,6 @@ #include "pch.h" -#include "fsio_impl.h" #include "mazda_miata.h" #include "advance_map.h" #include "custom_engine.h" diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index e026a73a66..6f9ef4202c 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -15,7 +15,6 @@ #include "pch.h" #include "custom_engine.h" -#include "fsio_impl.h" #include "mazda_miata_1_6.h" #include "mazda_miata_base_maps.h" #include "mre_meta.h" diff --git a/firmware/config/engines/mazda_miata_custom_hunchback.cpp b/firmware/config/engines/mazda_miata_custom_hunchback.cpp index 2b13d8bcbd..ebf8de56b6 100644 --- a/firmware/config/engines/mazda_miata_custom_hunchback.cpp +++ b/firmware/config/engines/mazda_miata_custom_hunchback.cpp @@ -18,7 +18,6 @@ #include "mazda_miata_vvt.h" #include "custom_engine.h" -#include "fsio_impl.h" // todo: why would this not work? //extern const float mazda_miata_nb2_RpmBins[FUEL_RPM_COUNT]; diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index 396d17b8f9..f6dcf45f50 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -50,7 +50,6 @@ #include "mazda_miata_vvt.h" #include "custom_engine.h" -#include "fsio_impl.h" #include "mazda_miata_base_maps.h" #include "hip9011_logic.h" diff --git a/firmware/config/engines/me7pnp.cpp b/firmware/config/engines/me7pnp.cpp index e1e65b1778..2e18de766d 100644 --- a/firmware/config/engines/me7pnp.cpp +++ b/firmware/config/engines/me7pnp.cpp @@ -8,7 +8,6 @@ #include "pch.h" #include "me7pnp.h" -#include "fsio_impl.h" #include "cj125.h" /** diff --git a/firmware/config/engines/mitsubishi.cpp b/firmware/config/engines/mitsubishi.cpp index 14f7e160b5..95cec4ac04 100644 --- a/firmware/config/engines/mitsubishi.cpp +++ b/firmware/config/engines/mitsubishi.cpp @@ -11,7 +11,6 @@ #include "pch.h" -#include "fsio_impl.h" #include "mitsubishi.h" void setMitsubishiConfiguration() { diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index b53d258b24..6fd4a94d21 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -79,10 +79,6 @@ extern int icuFallingCallbackCounter; #include "map_averaging.h" #endif -#if EFI_FSIO -#include "fsio_impl.h" -#endif /* EFI_FSIO */ - #if (BOARD_TLE8888_COUNT > 0) #include "tle8888.h" #endif /* BOARD_TLE8888_COUNT */ diff --git a/firmware/controllers/actuators/vvt.cpp b/firmware/controllers/actuators/vvt.cpp index 43006b483d..f22cdfaf6f 100644 --- a/firmware/controllers/actuators/vvt.cpp +++ b/firmware/controllers/actuators/vvt.cpp @@ -10,8 +10,6 @@ #include "local_version_holder.h" #include "vvt.h" -#include "fsio_impl.h" - #define NO_PIN_PERIOD 500 #if defined(HAS_OS_ACCESS) diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index db4b003f88..b3853d3ccd 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -20,7 +20,6 @@ #include "os_access.h" #include "aux_valves.h" #include "map_averaging.h" -#include "fsio_impl.h" #include "perf_trace.h" #include "backup_ram.h" #include "idle_thread.h" @@ -225,11 +224,8 @@ void Engine::periodicSlowCallback() { updateVrPwm(); -#if EFI_FSIO - runFsio(); -#else - runHardcodedFsio(); -#endif /* EFI_FSIO */ + enginePins.o2heater.setValue(engine->rpmCalculator.isRunning()); + enginePins.starterRelayDisable.setValue(Sensor::getOrZero(SensorType::Rpm) < engineConfiguration->cranking.rpm); updateGppwm(); diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 51809f37f6..11fd59b89a 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -23,7 +23,6 @@ #include "pch.h" #include "os_access.h" -#include "fsio_impl.h" #include "speed_density.h" #include "advance_map.h" #include "flash_main.h" @@ -203,10 +202,6 @@ void incrementGlobalConfigurationVersion() { onConfigurationChangeRpmEmulatorCallback(&activeConfiguration); #endif /* EFI_EMULATE_POSITION_SENSORS */ -#if EFI_FSIO - onConfigurationChangeFsioCallback(&activeConfiguration); -#endif /* EFI_FSIO */ - engine->engineModules.apply_all([](auto & m) { m.onConfigurationChange(&activeConfiguration); }); diff --git a/firmware/controllers/core/fsio_impl.cpp b/firmware/controllers/core/fsio_impl.cpp index 67e94695c5..f11e3975e6 100644 --- a/firmware/controllers/core/fsio_impl.cpp +++ b/firmware/controllers/core/fsio_impl.cpp @@ -70,8 +70,6 @@ static LENameOrdinalPair leFuelRate(LE_METHOD_FUEL_FLOW_RATE, "fuel_flow"); static LEElement sysElements[SYS_ELEMENT_POOL_SIZE]; CCM_OPTIONAL LEElementPool sysPool(sysElements, SYS_ELEMENT_POOL_SIZE); -static LEElement * starterRelayDisableLogic; - #if EFI_PROD_CODE || EFI_SIMULATOR FsioResult getEngineValue(le_action_e action) { @@ -121,10 +119,6 @@ FsioResult getEngineValue(le_action_e action) { #endif -void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration) { - (void)previousConfiguration; -} - static LECalculator calc CCM_OPTIONAL; static const char * action2String(le_action_e action) { @@ -172,21 +166,6 @@ static void setPinState(const char * msg, OutputPin *pin, LEElement *element) { } } -/** - * this method should be invoked periodically to calculate FSIO and toggle corresponding FSIO outputs - */ -void runFsio() { - if (isBrainPinValid(engineConfiguration->starterRelayDisablePin)) - setPinState("starter_relay", &enginePins.starterRelayDisable, starterRelayDisableLogic); - - /** - * o2 heater is off during cranking - * todo: convert to FSIO? - * open question if heater should be ON during cranking - */ - enginePins.o2heater.setValue(engine->rpmCalculator.isRunning()); -} - ValueProvider3D *getscriptTable(int index) { switch (index) { default: @@ -250,14 +229,6 @@ float getCurveValue(int index, float key) { } void initFsioImpl() { -#if EFI_UNIT_TEST - // only unit test needs this - sysPool.reset(); -#endif - - if (isBrainPinValid(engineConfiguration->starterRelayDisablePin)) - starterRelayDisableLogic = sysPool.parseExpression(STARTER_RELAY_LOGIC); - scriptTable1.init(config->scriptTable1, config->scriptTable1LoadBins, config->scriptTable1RpmBins); scriptTable2.init(config->scriptTable2, config->scriptTable2LoadBins, @@ -269,22 +240,4 @@ void initFsioImpl() { } -#else /* !EFI_FSIO */ - -// "Limp-mode" implementation for some RAM-limited configs without FSIO -void runHardcodedFsio() { -#if EFI_PROD_CODE - if (isRunningBenchTest()) { - return; // let's not mess with bench testing - } -#endif /* EFI_PROD_CODE */ - - // see STARTER_RELAY_LOGIC - if (isBrainPinValid(engineConfiguration->starterRelayDisablePin)) { - enginePins.starterRelayDisable.setValue(Sensor::getOrZero(SensorType::Rpm) < engineConfiguration->cranking.rpm); - } - - enginePins.o2heater.setValue(engine->rpmCalculator.isRunning()); -} - #endif /* EFI_FSIO */ diff --git a/firmware/controllers/core/fsio_impl.h b/firmware/controllers/core/fsio_impl.h index 692776020c..ee757450f3 100644 --- a/firmware/controllers/core/fsio_impl.h +++ b/firmware/controllers/core/fsio_impl.h @@ -23,10 +23,6 @@ typedef Map3D fsio8 expected getEngineValue(le_action_e action); void initFsioImpl(); -void runFsio(); - -void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration); -void runHardcodedFsio(); float getCurveValue(int index, float key); int getCurveIndexByName(const char *name); diff --git a/unit_tests/tests/test_idle_controller.cpp b/unit_tests/tests/test_idle_controller.cpp index e65937badf..c0f27810fe 100644 --- a/unit_tests/tests/test_idle_controller.cpp +++ b/unit_tests/tests/test_idle_controller.cpp @@ -9,7 +9,6 @@ #include "advance_map.h" #include "efi_pid.h" -#include "fsio_impl.h" #include "idle_thread.h" #include "electronic_throttle.h"