diff --git a/ArduCopter/tuning.cpp b/ArduCopter/tuning.cpp index 974fd3420d..fb763d0560 100644 --- a/ArduCopter/tuning.cpp +++ b/ArduCopter/tuning.cpp @@ -215,11 +215,11 @@ void Copter::tuning() { case TUNING_WINCH: { float desired_rate = 0.0f; - if (v > 0.8f) { - desired_rate = g2.winch.get_rate_max(); + if (v > 0.6f) { + desired_rate = g2.winch.get_rate_max() * (v - 0.6f) / 0.4f; } - if (v < 0.2f) { - desired_rate = -g2.winch.get_rate_max(); + if (v < 0.4f) { + desired_rate = g2.winch.get_rate_max() * (v - 0.4) / 0.4f; } g2.winch.set_desired_rate(desired_rate); break;