diff --git a/src/main/config/config.c b/src/main/config/config.c index 22cd6b94f1..28b4dbc0e9 100755 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -247,7 +247,7 @@ static void resetPidProfile(pidProfile_t *pidProfile) pidProfile->pidAtMinThrottle = PID_STABILISATION_ON; // Betaflight PID controller parameters - pidProfile->ptermSRateWeight = 100; + pidProfile->ptermSRateWeight = 85; pidProfile->dtermSetpointWeight = 150; pidProfile->yawRateAccelLimit = 220; pidProfile->rateAccelLimit = 0; @@ -488,8 +488,8 @@ void createDefaultConfig(master_t *config) #endif config->gyro_soft_type = FILTER_PT1; config->gyro_soft_lpf_hz = 90; - config->gyro_soft_notch_hz = 220; - config->gyro_soft_notch_cutoff = 110; + config->gyro_soft_notch_hz = 0; + config->gyro_soft_notch_cutoff = 130; config->debug_mode = DEBUG_NONE; diff --git a/src/main/mw.c b/src/main/mw.c index de92425d56..9c7bf171e7 100644 --- a/src/main/mw.c +++ b/src/main/mw.c @@ -203,7 +203,7 @@ void calculateSetpointRate(int axis, int16_t rc) { rcSuperfactor = 1.0f / (constrainf(1.0f - (ABS(rcCommandf) * (currentControlRateProfile->rates[axis] / 100.0f)), 0.01f, 1.00f)); if (currentProfile->pidProfile.pidController == PID_CONTROLLER_BETAFLIGHT) { ptermSetpointRate[axis] = angleRate * rcSuperfactor; - if (currentProfile->pidProfile.ptermSRateWeight < 100) { + if (currentProfile->pidProfile.ptermSRateWeight < 100 && axis != YAW) { const float pWeight = currentProfile->pidProfile.ptermSRateWeight / 100.0f; angleRate = angleRate + (pWeight * ptermSetpointRate[axis] - angleRate); } else {