diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index fcfbed71c9..dc2542f48d 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -90,6 +90,10 @@ #include "HIP9011.h" #endif /* EFI_PROD_CODE */ +#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__) +#include "trigger_emulator.h" +#endif /* EFI_EMULATE_POSITION_SENSORS */ + #if EFI_TUNER_STUDIO || defined(__DOXYGEN__) #include "tunerstudio.h" #endif @@ -172,7 +176,9 @@ void incrementGlobalConfigurationVersion(DECLARE_ENGINE_PARAMETER_SIGNATURE) { #if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__) onConfigurationChangeTriggerCallback(&activeConfiguration); #endif /* EFI_SHAFT_POSITION_INPUT */ - +#if EFI_EMULATE_POSITION_SENSORS || defined(__DOXYGEN__) + onConfigurationChangeRpmEmulatorCallback(&activeConfiguration); +#endif /* EFI_EMULATE_POSITION_SENSORS */ rememberCurrentConfiguration(); } diff --git a/firmware/development/trigger_emulator.cpp b/firmware/development/trigger_emulator.cpp index 49a19bb34b..9ce4c70e89 100644 --- a/firmware/development/trigger_emulator.cpp +++ b/firmware/development/trigger_emulator.cpp @@ -30,6 +30,14 @@ static OutputPin emulatorOutputs[3]; EXTERN_ENGINE; +void onConfigurationChangeRpmEmulatorCallback(engine_configuration_s *previousConfiguration) { + if (engineConfiguration->bc.triggerSimulatorFrequency == + previousConfiguration->bc.triggerSimulatorFrequency) { + return; + } + setTriggerEmulatorRPM(engineConfiguration->bc.triggerSimulatorFrequency); +} + void initTriggerEmulator(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) { diff --git a/firmware/development/trigger_emulator.h b/firmware/development/trigger_emulator.h index 86f309e368..7d5d65b18b 100644 --- a/firmware/development/trigger_emulator.h +++ b/firmware/development/trigger_emulator.h @@ -16,5 +16,6 @@ void initTriggerEmulator(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX); void setTriggerEmulatorRPM(int value DECLARE_ENGINE_PARAMETER_SUFFIX); +void onConfigurationChangeRpmEmulatorCallback(engine_configuration_s *previousConfiguration); #endif /* DIST_EMULATOR_H_ */