From 00414b29b6a964505703f75b1bfe8a8680abf90e Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Fri, 8 Sep 2017 14:58:47 +0200 Subject: [PATCH] Correct setpoint behaviour --- src/main/config/config_eeprom.h | 2 +- src/main/flight/pid.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/config/config_eeprom.h b/src/main/config/config_eeprom.h index 408a8e11aa..382e7d14c2 100644 --- a/src/main/config/config_eeprom.h +++ b/src/main/config/config_eeprom.h @@ -20,7 +20,7 @@ #include #include -#define EEPROM_CONF_VERSION 162 +#define EEPROM_CONF_VERSION 163 bool isEEPROMContentValid(void); bool loadEEPROM(void); diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c index 670b8213f9..fdd7615f69 100644 --- a/src/main/flight/pid.c +++ b/src/main/flight/pid.c @@ -99,7 +99,7 @@ void resetPidProfile(pidProfile_t *pidProfile) .pidAtMinThrottle = PID_STABILISATION_ON, .levelAngleLimit = 55, .setpointRelaxRatio = 100, - .dtermSetpointWeight = 60, + .dtermSetpointWeight = 0, .yawRateAccelLimit = 100, .rateAccelLimit = 0, .itermThrottleThreshold = 350, @@ -488,7 +488,7 @@ void pidController(const pidProfile_t *pidProfile, const rollAndPitchTrims_t *an gyroRateFiltered = dtermLpfApplyFn(dtermFilterLpf[axis], gyroRateFiltered); float dynC = 0; - if ( (pidProfile->setpointRelaxRatio < 100) && (!flightModeFlags) ) { + if ( (pidProfile->dtermSetpointWeight > 0) && (!flightModeFlags) ) { dynC = dtermSetpointWeight * MIN(getRcDeflectionAbs(axis) * relaxFactor, 1.0f); } const float rD = dynC * currentPidSetpoint - gyroRateFiltered; // cr - y