diff --git a/.gitignore b/.gitignore index 36809841df..812329a46a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,8 +23,9 @@ err.txt log.txt *.rusefi_binary *.msq -gitversion.h -gitversion.h.gen +gitversion.h* +engine_modules_generated.h* +modules_list_generated.h* # Eclipse .metadata/ diff --git a/firmware/Makefile b/firmware/Makefile index a280c6c9ec..78ccb948f6 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -200,6 +200,7 @@ endif include $(PROJECT_DIR)/hw_layer/mass_storage/mass_storage.mk include $(PROJECT_DIR)/common.mk +include $(PROJECT_DIR)/controllers/modules/modules.mk ifeq ($(USE_OPENBLT),yes) # Reserve start of flash for OpenBLT @@ -239,6 +240,7 @@ CPPSRC = \ $(HW_LAYER_DRIVERS_CORE_CPP) \ $(HW_LAYER_DRIVERS_CPP) \ $(CONSOLE_SRC_CPP) \ + $(MODULES_CPPSRC) \ $(RUSEFI_LIB_CPP) \ rusefi.cpp \ main.cpp @@ -275,6 +277,7 @@ INCDIR = \ $(PCH_DIR) \ $(BOARDINC) \ $(ALLINC) \ + $(MODULES_INC) \ $(TESTINC) \ $(CHIBIOS)/os/various \ $(RUSEFI_LIB_INC) \ @@ -360,6 +363,7 @@ include $(RULESFILE) include $(PROJECT_DIR)/rusefi_pch.mk include $(PROJECT_DIR)/fome_generated.mk include $(PROJECT_DIR)/gitversion.mk +include $(PROJECT_DIR)/controllers/modules/modules_header_gen.mk .PHONY: CLEAN_RULE_HOOK CLEAN_PCH_HOOK CLEAN_BUNDLE_HOOK diff --git a/firmware/bootloader/Makefile b/firmware/bootloader/Makefile index 804b3dd561..02f2363b4b 100644 --- a/firmware/bootloader/Makefile +++ b/firmware/bootloader/Makefile @@ -341,6 +341,7 @@ include $(RULESFILE) include $(PROJECT_DIR)/rusefi_pch.mk include $(PROJECT_DIR)/fome_generated.mk include $(PROJECT_DIR)/gitversion.mk +include $(PROJECT_DIR)/controllers/modules/modules_header_gen.mk .PHONY: CLEAN_RULE_HOOK CLEAN_PCH_HOOK CLEAN_BUNDLE_HOOK diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 7ceec078a7..2343709751 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -344,9 +344,12 @@ static void updateVvtSensors() { static void updateVehicleSpeed() { #if EFI_VEHICLE_SPEED engine->outputChannels.vehicleSpeedKph = Sensor::getOrZero(SensorType::VehicleSpeed); +#endif // EFI_VEHICLE_SPEED + +#ifdef MODULE_GEAR_DETECT engine->outputChannels.speedToRpmRatio = engine->module()->getGearboxRatio(); engine->outputChannels.detectedGear = Sensor::getOrZero(SensorType::DetectedGear); -#endif /* EFI_VEHICLE_SPEED */ +#endif // MODULE_GEAR_DETECT } static void updateRawSensors() { @@ -424,6 +427,7 @@ static void updateFuelCorrections() { } static void updateFuelResults() { +#ifdef MODULE_TRIP_ODO engine->outputChannels.fuelFlowRate = engine->module()->getConsumptionGramPerSecond(); engine->outputChannels.totalFuelConsumption = engine->module()->getConsumedGrams(); engine->outputChannels.ignitionOnTime = engine->module()->getIgnitionOnTime(); @@ -431,6 +435,7 @@ static void updateFuelResults() { // output channel in km engine->outputChannels.distanceTraveled = 0.001f * engine->module()->getDistanceMeters(); +#endif // MODULE_TRIP_ODO } static void updateFuelInfo() { diff --git a/firmware/controllers/algo/algo.mk b/firmware/controllers/algo/algo.mk index 0503d5e4e6..0834fa5e69 100644 --- a/firmware/controllers/algo/algo.mk +++ b/firmware/controllers/algo/algo.mk @@ -14,7 +14,6 @@ CONTROLLERS_ALGO_SRC_CPP = $(PROJECT_DIR)/controllers/algo/advance_map.cpp \ $(PROJECT_DIR)/controllers/algo/engine_configuration.cpp \ $(PROJECT_DIR)/controllers/algo/engine.cpp \ $(PROJECT_DIR)/controllers/algo/engine2.cpp \ - $(PROJECT_DIR)/controllers/algo/gear_detector.cpp \ $(PROJECT_DIR)/controllers/algo/event_registry.cpp \ $(PROJECT_DIR)/controllers/algo/airmass/airmass.cpp \ $(PROJECT_DIR)/controllers/algo/airmass/alphan_airmass.cpp \ @@ -24,7 +23,6 @@ CONTROLLERS_ALGO_SRC_CPP = $(PROJECT_DIR)/controllers/algo/advance_map.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/fuel_computer.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/injector_model.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/dfco.cpp \ - $(PROJECT_DIR)/controllers/algo/trip_odometer.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_base_engine.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_cranking.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_fuel.cpp \ diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index c0d7e88c85..0583d732b0 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -27,7 +27,6 @@ #include "speedometer.h" #include "dynoview.h" #include "boost_control.h" -#include "fan_control.h" #include "ac_control.h" #include "vr_pwm.h" #if EFI_MC33816 diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index da2f83e74d..6735d3df4b 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -32,7 +32,6 @@ #include "launch_control.h" #include "antilag_system.h" #include "trigger_scheduler.h" -#include "fuel_pump.h" #include "main_relay.h" #include "ac_control.h" #include "type_list.h" @@ -42,16 +41,15 @@ #include "harley_acr.h" #include "dfco.h" #include "fuel_computer.h" -#include "gear_detector.h" #include "advance_map.h" -#include "fan_control.h" #include "sensor_checker.h" #include "fuel_schedule.h" #include "prime_injection.h" #include "throttle_model.h" #include "lambda_monitor.h" #include "vvt.h" -#include "trip_odometer.h" + +#include "engine_modules_generated.h" #include @@ -156,20 +154,13 @@ public: #if EFI_ALTERNATOR_CONTROL AlternatorController, #endif /* EFI_ALTERNATOR_CONTROL */ - FuelPumpController, MainRelayController, IgnitionController, Mockable, - FanControl1, - FanControl2, PrimeController, DfcoController, HarleyAcr, Mockable, -#if EFI_VEHICLE_SPEED - GearDetector, - TripOdometer, -#endif // EFI_VEHICLE_SPEED KnockController, SensorChecker, LimpManager, @@ -183,6 +174,9 @@ public: BoostController, #endif // EFI_BOOST_CONTROL LedBlinkingTask, + + #include "modules_list_generated.h" + EngineModule // dummy placeholder so the previous entries can all have commas > engineModules; diff --git a/firmware/controllers/can/can_verbose.cpp b/firmware/controllers/can/can_verbose.cpp index 442ff17281..800dc741cb 100644 --- a/firmware/controllers/can/can_verbose.cpp +++ b/firmware/controllers/can/can_verbose.cpp @@ -52,8 +52,10 @@ static void populateFrame(Status& msg) { msg.gear = Sensor::getOrZero(SensorType::DetectedGear); + #ifdef MODULE_TRIP_ODO // scale to units of 0.1km msg.distanceTraveled = engine->module()->getDistanceMeters() / 100; + #endif } struct Speeds { @@ -158,8 +160,10 @@ struct Fueling2 { }; static void populateFrame(Fueling2& msg) { - msg.fuelConsumedGram = engine->module()->getConsumedGrams(); - msg.fuelFlowRate = engine->module()->getConsumptionGramPerSecond(); + #ifdef MODULE_TRIP_ODO + msg.fuelConsumedGram = engine->module()->getConsumedGrams(); + msg.fuelFlowRate = engine->module()->getConsumptionGramPerSecond(); + #endif // MODULE_TRIP_ODO for (size_t i = 0; i < 2; i++) { msg.fuelTrim[i] = 100.0f * (engine->stftCorrection[i] - 1.0f); diff --git a/firmware/controllers/can/obd2.cpp b/firmware/controllers/can/obd2.cpp index 7c62711da8..54b1023ce7 100644 --- a/firmware/controllers/can/obd2.cpp +++ b/firmware/controllers/can/obd2.cpp @@ -160,12 +160,15 @@ static void handleGetDataRequest(const CANRxFrame& rx, CanBusIndex busIndex) { obdSendPacket(1, pid, 4, scaled << 16, busIndex); break; + + #ifdef MODULE_TRIP_ODO } case PID_FUEL_RATE: { float gPerSecond = engine->module()->getConsumptionGramPerSecond(); float gPerHour = gPerSecond * 3600; float literPerHour = gPerHour * 0.00139f; obdSendValue(_1_MODE, pid, 2, literPerHour * 20.0f, busIndex); // L/h. (A*256+B)/20 break; + #endif // MODULE_TRIP_ODO } default: // ignore unhandled PIDs break; diff --git a/firmware/controllers/controllers.mk b/firmware/controllers/controllers.mk index 5f342178f7..37116cdac5 100644 --- a/firmware/controllers/controllers.mk +++ b/firmware/controllers/controllers.mk @@ -13,8 +13,6 @@ CONTROLLERS_SRC_CPP = \ $(CONTROLLERS_DIR)/actuators/alternator_controller.cpp \ $(CONTROLLERS_DIR)/actuators/boost_control.cpp \ $(CONTROLLERS_DIR)/actuators/dc_motors.cpp \ - $(CONTROLLERS_DIR)/actuators/fan_control.cpp \ - $(CONTROLLERS_DIR)/actuators/fuel_pump.cpp \ $(CONTROLLERS_DIR)/actuators/harley_acr.cpp \ $(CONTROLLERS_DIR)/actuators/idle_thread_io.cpp \ $(CONTROLLERS_DIR)/actuators/idle_hardware.cpp \ diff --git a/firmware/controllers/engine_cycle/fuel_schedule.cpp b/firmware/controllers/engine_cycle/fuel_schedule.cpp index 466e93923f..257116f044 100644 --- a/firmware/controllers/engine_cycle/fuel_schedule.cpp +++ b/firmware/controllers/engine_cycle/fuel_schedule.cpp @@ -115,12 +115,14 @@ void InjectionEvent::onTriggerTooth(efitick_t nowNt, float currentPhase, float n { // Log this fuel as consumed + #ifdef MODULE_TRIP_ODO bool isCranking = getEngineRotationState()->isCranking(); int numberOfInjections = isCranking ? getNumberOfInjections(engineConfiguration->crankingInjectionMode) : getNumberOfInjections(engineConfiguration->injectionMode); float actualInjectedMass = numberOfInjections * (injectionMassStage1 + injectionMassStage2); engine->module()->consumeFuel(actualInjectedMass, nowNt); + #endif // MODULE_TRIP_ODO } if (doSplitInjection) { diff --git a/firmware/controllers/lua/lua_hooks.cpp b/firmware/controllers/lua/lua_hooks.cpp index d498a3a7fc..d6a791552e 100644 --- a/firmware/controllers/lua/lua_hooks.cpp +++ b/firmware/controllers/lua/lua_hooks.cpp @@ -893,7 +893,7 @@ void configureRusefiLuaHooks(lua_State* l) { return 1; }); -#if EFI_VEHICLE_SPEED +#ifdef MODULE_GEAR_DETECT lua_register(l, "getCurrentGear", [](lua_State* l2) { lua_pushinteger(l2, Sensor::getOrZero(SensorType::DetectedGear)); return 1; @@ -904,7 +904,7 @@ void configureRusefiLuaHooks(lua_State* l) { lua_pushinteger(l2, engine->module()->getRpmInGear(idx)); return 1; }); -#endif // EFI_VEHICLE_SPEED +#endif // MODULE_GEAR_DETECT #if !EFI_UNIT_TEST lua_register(l, "startPwm", lua_startPwm); @@ -940,8 +940,10 @@ void configureRusefiLuaHooks(lua_State* l) { lua_register(l, "txCan", lua_txCan); #endif +#ifdef MODULE_TRIP_ODO lua_register(l, "resetOdometer", [](lua_State*) { engine->module()->reset(); return 0; }); +#endif // MODULE_TRIP_ODO } diff --git a/firmware/controllers/modules/fan/fan.mk b/firmware/controllers/modules/fan/fan.mk new file mode 100644 index 0000000000..59bb064d13 --- /dev/null +++ b/firmware/controllers/modules/fan/fan.mk @@ -0,0 +1,4 @@ +MODULES_INC += $(PROJECT_DIR)/controllers/modules/fan +MODULES_CPPSRC += $(PROJECT_DIR)/controllers/modules/fan/fan_control.cpp +MODULES_INCLUDE += \#include "fan_control.h"\n +MODULES_LIST += FanControl1,FanControl2, diff --git a/firmware/controllers/actuators/fan_control.cpp b/firmware/controllers/modules/fan/fan_control.cpp similarity index 100% rename from firmware/controllers/actuators/fan_control.cpp rename to firmware/controllers/modules/fan/fan_control.cpp diff --git a/firmware/controllers/actuators/fan_control.h b/firmware/controllers/modules/fan/fan_control.h similarity index 100% rename from firmware/controllers/actuators/fan_control.h rename to firmware/controllers/modules/fan/fan_control.h diff --git a/firmware/controllers/actuators/fan_control.txt b/firmware/controllers/modules/fan/fan_control.txt similarity index 100% rename from firmware/controllers/actuators/fan_control.txt rename to firmware/controllers/modules/fan/fan_control.txt diff --git a/firmware/controllers/actuators/fan_control_generated.h b/firmware/controllers/modules/fan/fan_control_generated.h similarity index 100% rename from firmware/controllers/actuators/fan_control_generated.h rename to firmware/controllers/modules/fan/fan_control_generated.h diff --git a/firmware/controllers/actuators/fuel_pump.cpp b/firmware/controllers/modules/fuel_pump/fuel_pump.cpp similarity index 100% rename from firmware/controllers/actuators/fuel_pump.cpp rename to firmware/controllers/modules/fuel_pump/fuel_pump.cpp diff --git a/firmware/controllers/actuators/fuel_pump.h b/firmware/controllers/modules/fuel_pump/fuel_pump.h similarity index 100% rename from firmware/controllers/actuators/fuel_pump.h rename to firmware/controllers/modules/fuel_pump/fuel_pump.h diff --git a/firmware/controllers/modules/fuel_pump/fuel_pump.mk b/firmware/controllers/modules/fuel_pump/fuel_pump.mk new file mode 100644 index 0000000000..b0891f73b3 --- /dev/null +++ b/firmware/controllers/modules/fuel_pump/fuel_pump.mk @@ -0,0 +1,4 @@ +MODULES_INC += $(PROJECT_DIR)/controllers/modules/fuel_pump +MODULES_CPPSRC += $(PROJECT_DIR)/controllers/modules/fuel_pump/fuel_pump.cpp +MODULES_INCLUDE += \#include "fuel_pump.h"\n +MODULES_LIST += FuelPumpController, diff --git a/firmware/controllers/actuators/fuel_pump_control.txt b/firmware/controllers/modules/fuel_pump/fuel_pump_control.txt similarity index 100% rename from firmware/controllers/actuators/fuel_pump_control.txt rename to firmware/controllers/modules/fuel_pump/fuel_pump_control.txt diff --git a/firmware/controllers/actuators/fuel_pump_control_generated.h b/firmware/controllers/modules/fuel_pump/fuel_pump_control_generated.h similarity index 100% rename from firmware/controllers/actuators/fuel_pump_control_generated.h rename to firmware/controllers/modules/fuel_pump/fuel_pump_control_generated.h diff --git a/firmware/controllers/algo/gear_detector.cpp b/firmware/controllers/modules/gear_detector/gear_detector.cpp similarity index 100% rename from firmware/controllers/algo/gear_detector.cpp rename to firmware/controllers/modules/gear_detector/gear_detector.cpp diff --git a/firmware/controllers/algo/gear_detector.h b/firmware/controllers/modules/gear_detector/gear_detector.h similarity index 100% rename from firmware/controllers/algo/gear_detector.h rename to firmware/controllers/modules/gear_detector/gear_detector.h diff --git a/firmware/controllers/modules/gear_detector/gear_detector.mk b/firmware/controllers/modules/gear_detector/gear_detector.mk new file mode 100644 index 0000000000..29b7f7a4f4 --- /dev/null +++ b/firmware/controllers/modules/gear_detector/gear_detector.mk @@ -0,0 +1,6 @@ +MODULES_INC += $(PROJECT_DIR)/controllers/modules/gear_detector +MODULES_CPPSRC += $(PROJECT_DIR)/controllers/modules/gear_detector/gear_detector.cpp +MODULES_INCLUDE += \#include "gear_detector.h"\n +MODULES_LIST += GearDetector, + +DDEFS += -DMODULE_GEAR_DETECT diff --git a/firmware/controllers/modules/modules.mk b/firmware/controllers/modules/modules.mk new file mode 100644 index 0000000000..d643605015 --- /dev/null +++ b/firmware/controllers/modules/modules.mk @@ -0,0 +1,4 @@ +include $(PROJECT_DIR)/controllers/modules/fan/fan.mk +include $(PROJECT_DIR)/controllers/modules/fuel_pump/fuel_pump.mk +include $(PROJECT_DIR)/controllers/modules/gear_detector/gear_detector.mk +include $(PROJECT_DIR)/controllers/modules/trip_odometer/trip_odometer.mk diff --git a/firmware/controllers/modules/modules_header_gen.mk b/firmware/controllers/modules/modules_header_gen.mk new file mode 100644 index 0000000000..d24bc246ff --- /dev/null +++ b/firmware/controllers/modules/modules_header_gen.mk @@ -0,0 +1,16 @@ +# Generate header to include all built modules +engine_modules_generated.h.gen : .FORCE + printf '$(MODULES_INCLUDE)' > $@ + +engine_modules_generated.h : engine_modules_generated.h.gen + rsync --checksum $< $@ + +modules_list_generated.h.gen : .FORCE + printf '$(MODULES_LIST)' > $@ + +modules_list_generated.h : modules_list_generated.h.gen + rsync --checksum $< $@ + +# All objects could depend on module list +$(OBJS) : engine_modules_generated.h +$(OBJS) : modules_list_generated.h diff --git a/firmware/controllers/algo/trip_odometer.cpp b/firmware/controllers/modules/trip_odometer/trip_odometer.cpp similarity index 100% rename from firmware/controllers/algo/trip_odometer.cpp rename to firmware/controllers/modules/trip_odometer/trip_odometer.cpp diff --git a/firmware/controllers/algo/trip_odometer.h b/firmware/controllers/modules/trip_odometer/trip_odometer.h similarity index 100% rename from firmware/controllers/algo/trip_odometer.h rename to firmware/controllers/modules/trip_odometer/trip_odometer.h diff --git a/firmware/controllers/modules/trip_odometer/trip_odometer.mk b/firmware/controllers/modules/trip_odometer/trip_odometer.mk new file mode 100644 index 0000000000..0ce0c01523 --- /dev/null +++ b/firmware/controllers/modules/trip_odometer/trip_odometer.mk @@ -0,0 +1,6 @@ +MODULES_INC += $(PROJECT_DIR)/controllers/modules/trip_odometer +MODULES_CPPSRC += $(PROJECT_DIR)/controllers/modules/trip_odometer/trip_odometer.cpp +MODULES_INCLUDE += \#include "trip_odometer.h"\n +MODULES_LIST += TripOdometer, + +DDEFS += -DMODULE_TRIP_ODO \ No newline at end of file diff --git a/firmware/integration/LiveData.yaml b/firmware/integration/LiveData.yaml index 419a23591f..8480ae13f4 100644 --- a/firmware/integration/LiveData.yaml +++ b/firmware/integration/LiveData.yaml @@ -69,13 +69,13 @@ Usages: output_name: ac - name: fan_control - folder: controllers/actuators + folder: controllers/modules/fan output_name: [ "fan1", "fan2" ] constexpr: "___engine.module()" isPtr: true - name: fuel_pump_control - folder: controllers/actuators + folder: controllers/modules/fuel_pump output_name: fuelPump - name: main_relay diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 6cbaef006a..89b5b92988 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -282,7 +282,9 @@ void runRusEfiWithConfig() { */ initEngineController(); + #ifdef MODULE_GEAR_DETECT engine->module()->onConfigurationChange(nullptr); + #endif #if EFI_ENGINE_EMULATOR initEngineEmulator(); diff --git a/simulator/Makefile b/simulator/Makefile index 355e3ea3f3..796a797bc2 100644 --- a/simulator/Makefile +++ b/simulator/Makefile @@ -158,6 +158,7 @@ endif include $(PROJECT_DIR)/console/binary/tunerstudio.mk include $(PROJECT_DIR)/console/console.mk include $(PROJECT_DIR)/common.mk +include $(PROJECT_DIR)/controllers/modules/modules.mk # C sources that can be compiled in ARM or THUMB mode depending on the global @@ -181,6 +182,7 @@ CPPSRC = $(ALLCPPSRC) \ simulator/system/signal_executor_sleep.cpp \ simulator/boards.cpp \ $(TEST_SRC_CPP) \ + $(MODULES_CPPSRC) \ $(RUSEFI_LIB_CPP) \ main.cpp @@ -191,6 +193,7 @@ ASMSRC = $(PORTASM) INCDIR = . \ $(PCH_DIR) \ $(ALLINC) \ + $(MODULES_INC) \ $(CHIBIOS)/os/various/cpp_wrappers \ $(PROJECT_DIR)/hw_layer/drivers/can \ ${CHIBIOS}/os/various \ @@ -290,6 +293,7 @@ include $(RULESPATH)/rules.mk include $(PROJECT_DIR)/rusefi_pch.mk include $(PROJECT_DIR)/fome_generated.mk include $(PROJECT_DIR)/gitversion.mk +include $(PROJECT_DIR)/controllers/modules/modules_header_gen.mk .PHONY: CLEAN_RULE_HOOK CLEAN_PCH_HOOK CLEAN_BUNDLE_HOOK diff --git a/unit_tests/Makefile b/unit_tests/Makefile index c3a0437de6..467503b424 100644 --- a/unit_tests/Makefile +++ b/unit_tests/Makefile @@ -14,6 +14,7 @@ include $(UNIT_TESTS_DIR)/test.mk include $(UNIT_TESTS_DIR)/tests/tests.mk include $(PROJECT_DIR)/../unit_tests/tests/util/test_util.mk include $(PROJECT_DIR)/common.mk +include $(PROJECT_DIR)/controllers/modules/modules.mk RUSEFI_LIB = $(PROJECT_DIR)/libfirmware include $(RUSEFI_LIB)/util/util.mk @@ -47,11 +48,13 @@ CPPSRC += $(ALLCPPSRC) \ $(PROJECT_DIR)/../unit_tests/mocks.cpp \ $(RUSEFI_LIB_CPP) \ $(RUSEFI_LIB_CPP_TEST) \ + $(MODULES_CPPSRC) \ INCDIR += \ $(PCH_DIR) \ $(UNIT_TESTS_DIR) \ $(ALLINC) \ + $(MODULES_INC) \ $(GENERATED_DIR) \ $(PROJECT_DIR)/config/boards/hellen \ $(UNIT_TESTS_DIR)/test_data_structures \ diff --git a/unit_tests/tests/actuators/test_fan_control.cpp b/unit_tests/tests/actuators/test_fan_control.cpp index fa924d1a87..dca1d83202 100644 --- a/unit_tests/tests/actuators/test_fan_control.cpp +++ b/unit_tests/tests/actuators/test_fan_control.cpp @@ -1,7 +1,5 @@ #include "pch.h" -#include "fan_control.h" - static void updateFans() { engine->module()->onSlowCallback(); } diff --git a/unit_tests/unit_test_rules.mk b/unit_tests/unit_test_rules.mk index decc86a110..90a4fe9e9a 100644 --- a/unit_tests/unit_test_rules.mk +++ b/unit_tests/unit_test_rules.mk @@ -197,6 +197,7 @@ include $(UNIT_TESTS_DIR)/rules.mk include $(PROJECT_DIR)/rusefi_pch.mk include $(PROJECT_DIR)/fome_generated.mk include $(PROJECT_DIR)/gitversion.mk +include $(PROJECT_DIR)/controllers/modules/modules_header_gen.mk .PHONY: CLEAN_RULE_HOOK CLEAN_PCH_HOOK CLEAN_BUNDLE_HOOK