From 43b7fc6021a319ef49c40c03e3fad745dd15a0ab Mon Sep 17 00:00:00 2001 From: Michael Keller Date: Sat, 25 Apr 2020 12:56:23 +1200 Subject: [PATCH] Merge pull request #9728 from etracer65/dynamic_idle_rpmfilter_check --- src/main/fc/config.c | 8 ++++++++ src/main/flight/mixer.c | 6 +----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/fc/config.c b/src/main/fc/config.c index d64fc3c116..4328d159dc 100644 --- a/src/main/fc/config.c +++ b/src/main/fc/config.c @@ -514,6 +514,14 @@ static void validateAndFixConfig(void) && motorConfig()->dev.useDshotTelemetry) { motorConfigMutable()->dev.useDshotTelemetry = false; } + +#if defined(USE_DYN_IDLE) + if (!isRpmFilterEnabled()) { + for (unsigned i = 0; i < PID_PROFILE_COUNT; i++) { + pidProfilesMutable(i)->idle_min_rpm = 0; + } + } +#endif // USE_DYN_IDLE #endif // USE_DSHOT_TELEMETRY #endif // USE_DSHOT diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c index 68f6d5b1bb..b527c7890c 100644 --- a/src/main/flight/mixer.c +++ b/src/main/flight/mixer.c @@ -350,11 +350,7 @@ void initEscEndpoints(void) void mixerInitProfile(void) { #ifdef USE_DYN_IDLE - if (motorConfig()->dev.useDshotTelemetry) { - idleMinMotorRps = currentPidProfile->idle_min_rpm * 100.0f / 60.0f; - } else { - idleMinMotorRps = 0; - } + idleMinMotorRps = currentPidProfile->idle_min_rpm * 100.0f / 60.0f; idleMaxIncrease = currentPidProfile->idle_max_increase * 0.001f; idleP = currentPidProfile->idle_p * 0.0001f; #endif