diff --git a/src/main/config/config.c b/src/main/config/config.c index 6b11222b9..999448218 100755 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -305,7 +305,7 @@ void resetSerialConfig(serialConfig_t *serialConfig) static void resetControlRateConfig(controlRateConfig_t *controlRateConfig) { controlRateConfig->rcRate8 = 100; - controlRateConfig->rcExpo8 = 20; + controlRateConfig->rcExpo8 = 60; controlRateConfig->thrMid8 = 50; controlRateConfig->thrExpo8 = 0; controlRateConfig->dynThrPID = 0; diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c index 65907ec00..d79dec104 100644 --- a/src/main/flight/pid.c +++ b/src/main/flight/pid.c @@ -60,7 +60,6 @@ int32_t axisPID_P[3], axisPID_I[3], axisPID_D[3]; // PIDweight is a scale factor for PIDs which is derived from the throttle and TPA setting, and 100 = 100% scale means no PID reduction uint8_t dynP8[3], dynI8[3], dynD8[3], PIDweight[3]; -float tpaFactor; static int32_t errorGyroI[3], errorGyroILimit[3]; static float errorGyroIf[3], errorGyroIfLimit[3]; @@ -137,6 +136,8 @@ static void pidLuxFloat(pidProfile_t *pidProfile, controlRateConfig_t *controlRa int axis; float horizonLevelStrength = 1; + float tpaFactor = PIDweight[0] / 100.0f; // tpa is now float + if (FLIGHT_MODE(HORIZON_MODE)) { // Figure out the raw stick positions const int32_t stickPosAil = ABS(getRcStickDeflection(FD_ROLL, rxConfig->midrc)); diff --git a/src/main/mw.c b/src/main/mw.c index b84abf50d..79810bbd4 100644 --- a/src/main/mw.c +++ b/src/main/mw.c @@ -113,7 +113,6 @@ static uint32_t disarmAt; // Time of automatic disarm when "Don't spin the m extern uint32_t currentTime; extern uint8_t dynP8[3], dynI8[3], dynD8[3], PIDweight[3]; -extern float tpaFactor; extern bool antiWindupProtection; uint16_t filteredCycleTime; @@ -233,7 +232,6 @@ void annexCode(void) prop2 = 100 - (uint16_t)currentControlRateProfile->dynThrPID * (rcData[THROTTLE] - currentControlRateProfile->tpa_breakpoint) / (2000 - currentControlRateProfile->tpa_breakpoint); } else { prop2 = 100 - currentControlRateProfile->dynThrPID; - tpaFactor = prop2 / 100.0f; } }