Tools: fixed Qassist test

it was using the wrong roll angle for recovery, and relied on poor
tuning of old model to overshoot by 20 degrees
This commit is contained in:
Andrew Tridgell 2020-10-21 13:37:33 +11:00
parent 98dacd5ee4
commit 4e553bcbde

View File

@ -589,6 +589,7 @@ class AutoTestQuadPlane(AutoTest):
self.set_rc(3, 1800)
self.change_mode("FBWA")
thr_min_pwm = self.get_parameter("Q_THR_MIN_PWM")
lim_roll_deg = self.get_parameter("LIM_ROLL_CD") * 0.01
self.progress("Waiting for motors to stop (transition completion)")
self.wait_servo_channel_value(5,
thr_min_pwm,
@ -613,9 +614,9 @@ class AutoTestQuadPlane(AutoTest):
self.set_rc(3, 1500)
self.context_push()
self.progress("Rolling over hard")
self.progress("Rolling over to %.0f degrees", -lim_roll_deg)
self.set_rc(1, 1000)
self.wait_roll(-65, 5)
self.wait_roll(-lim_roll_deg, 5)
self.progress("Killing servo outputs to force qassist to help")
self.set_parameter("SERVO1_MIN", 1480)
self.set_parameter("SERVO1_MAX", 1480)
@ -624,7 +625,7 @@ class AutoTestQuadPlane(AutoTest):
self.set_rc(1, 2000)
self.progress("Waiting for qassist (angle) to kick in")
self.wait_servo_channel_value(5, 1100, timeout=30, comparator=operator.gt)
self.wait_roll(85, 5)
self.wait_roll(lim_roll_deg, 5)
self.context_pop()
self.change_mode("RTL")