diff --git a/firmware/console/binary/tunerstudio.cpp b/firmware/console/binary/tunerstudio.cpp index 9314c6a593..c9d6f2e76d 100644 --- a/firmware/console/binary/tunerstudio.cpp +++ b/firmware/console/binary/tunerstudio.cpp @@ -172,18 +172,41 @@ static void handlePageSelectCommand(TsChannelBase *tsChannel, ts_response_format static const void * getStructAddr(live_data_e structId) { switch (structId) { +#if EFI_HPFP + case LDS_high_pressure_fuel_pump: + return static_cast(&engine->module().unmock()); +#endif // EFI_HPFP + case LDS_launch_control_state: + return static_cast(&engine->launchController); + case LDS_injector_model: + return static_cast(&engine->module().unmock()); +#if EFI_BOOST_CONTROL + case LDS_boost_control: + return static_cast(&engine->boostController); +#endif // EFI_BOOST_CONTROL + case LDS_ac_control: + return static_cast(&engine->module().unmock()); + case LDS_fan_control: + return static_cast(&engine->fan1); + case LDS_fuel_pump: + return static_cast(&engine->module().unmock()); + case LDS_main_relay: + return static_cast(&engine->module().unmock()); case LDS_engine_state: return static_cast(&engine->engineState); - case LDS_wall_fuel_state: - return static_cast(&engine->injectionEvents.elements[0].wallFuel); + case LDS_tps_accel_state: + return static_cast(&engine->tpsAccelEnrichment); case LDS_trigger_central: return static_cast(&engine->triggerCentral); case LDS_trigger_state: return static_cast(&engine->triggerCentral.triggerState); - case LDS_ac_control: - return static_cast(&engine->module().unmock()); - case LDS_fuel_pump: - return static_cast(&engine->module().unmock()); + case LDS_wall_fuel_state: + return static_cast(&engine->injectionEvents.elements[0].wallFuel); + case LDS_idle_state: + return static_cast(&engine->module().unmock()); + case LDS_ignition_state: + return static_cast(&engine->ignitionState); + //#if EFI_ELECTRONIC_THROTTLE_BODY // case LDS_ETB_PID: // return engine->etbControllers[0]->getPidState(); @@ -193,21 +216,8 @@ static const void * getStructAddr(live_data_e structId) { // case LDS_IDLE_PID: // return static_cast(getIdlePid()); //#endif /* EFI_IDLE_CONTROL */ - case LDS_idle_state: - return static_cast(&engine->module().unmock()); - case LDS_tps_accel_state: - return static_cast(&engine->tpsAccelEnrichment); -#if EFI_HPFP - case LDS_high_pressure_fuel_pump: - return static_cast(&engine->module().unmock()); -#endif // EFI_HPFP - case LDS_main_relay: - return static_cast(&engine->module().unmock()); -#if EFI_BOOST_CONTROL - case LDS_boost_control: - return static_cast(&engine->boostController); -#endif // EFI_BOOST_CONTROL default: + firmwareError(OBD_PCM_Processor_Fault, "getStructAddr not implemented for %d", (int)structId); return nullptr; } } diff --git a/firmware/controllers/actuators/fan_control.cpp b/firmware/controllers/actuators/fan_control.cpp index a45e3d8d54..be85ee2942 100644 --- a/firmware/controllers/actuators/fan_control.cpp +++ b/firmware/controllers/actuators/fan_control.cpp @@ -47,53 +47,6 @@ void FanController::update(bool acActive) { pin.setValue(result); } -struct FanControl1 : public FanController { - OutputPin& getPin() { - return enginePins.fanRelay; - } - - float getFanOnTemp() { - return engineConfiguration->fanOnTemperature; - } - - float getFanOffTemp() { - return engineConfiguration->fanOffTemperature; - } - - bool enableWithAc() { - return engineConfiguration->enableFan1WithAc; - } - - bool disableWhenStopped() { - return engineConfiguration->disableFan1WhenStopped; - } -}; - -struct FanControl2 : public FanController { - OutputPin& getPin() { - return enginePins.fanRelay2; - } - - float getFanOnTemp() { - return engineConfiguration->fan2OnTemperature; - } - - float getFanOffTemp() { - return engineConfiguration->fan2OffTemperature; - } - - bool enableWithAc() { - return engineConfiguration->enableFan2WithAc; - } - - bool disableWhenStopped() { - return engineConfiguration->disableFan2WhenStopped; - } -}; - -static FanControl1 fan1; -static FanControl2 fan2; - void updateFans(bool acActive) { #if EFI_PROD_CODE if (isRunningBenchTest()) { @@ -101,6 +54,6 @@ void updateFans(bool acActive) { } #endif - fan1.update(acActive); - fan2.update(acActive); + engine->fan1.update(acActive); + engine->fan2.update(acActive); } diff --git a/firmware/controllers/actuators/fan_control.h b/firmware/controllers/actuators/fan_control.h index 728c73e0c1..dc9df0c90e 100644 --- a/firmware/controllers/actuators/fan_control.h +++ b/firmware/controllers/actuators/fan_control.h @@ -17,3 +17,47 @@ protected: }; void updateFans(bool acActive); + +struct FanControl1 : public FanController { + OutputPin& getPin() { + return enginePins.fanRelay; + } + + float getFanOnTemp() { + return engineConfiguration->fanOnTemperature; + } + + float getFanOffTemp() { + return engineConfiguration->fanOffTemperature; + } + + bool enableWithAc() { + return engineConfiguration->enableFan1WithAc; + } + + bool disableWhenStopped() { + return engineConfiguration->disableFan1WhenStopped; + } +}; + +struct FanControl2 : public FanController { + OutputPin& getPin() { + return enginePins.fanRelay2; + } + + float getFanOnTemp() { + return engineConfiguration->fan2OnTemperature; + } + + float getFanOffTemp() { + return engineConfiguration->fan2OffTemperature; + } + + bool enableWithAc() { + return engineConfiguration->enableFan2WithAc; + } + + bool disableWhenStopped() { + return engineConfiguration->disableFan2WhenStopped; + } +}; diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index f0037c88e9..5721d4992d 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -39,6 +39,7 @@ #include "dfco.h" #include "gear_detector.h" #include "advance_map.h" +#include "fan_control.h" #ifndef EFI_UNIT_TEST #error EFI_UNIT_TEST must be defined! @@ -215,6 +216,10 @@ public: IgnitionState ignitionState; + FanControl1 fan1; + FanControl2 fan2; + + efitick_t mostRecentSparkEvent; efitick_t mostRecentTimeBetweenSparkEvents; efitick_t mostRecentIgnitionEvent; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java index 133904ab02..b38944fc29 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigDefinition.java @@ -94,7 +94,7 @@ public class ConfigDefinition { ToolUtil.TOOL = args[i + 1]; break; case KEY_DEFINITION: - // lame: order of command line arguments is important, this arguments should be AFTER '-tool' argument + // lame: order of command line arguments is important, these arguments should be AFTER '-tool' argument definitionInputFile = args[i + 1]; state.headerMessage = ToolUtil.getGeneratedAutomaticallyTag() + definitionInputFile + " " + new Date(); state.inputFiles.add(definitionInputFile);