mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-10 18:08:30 -04:00
Plane: fixed disarm by rudder in quadplane
This commit is contained in:
parent
7ea68f8f80
commit
9602d208a2
@ -627,7 +627,7 @@ bool QuadPlane::is_flying(void)
|
|||||||
if (!available()) {
|
if (!available()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (motors->get_throttle() > 0.1 && !motors->limit.throttle_lower) {
|
if (motors->get_throttle() > 0.01f && !motors->limit.throttle_lower) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -637,7 +637,7 @@ bool QuadPlane::is_flying(void)
|
|||||||
bool QuadPlane::should_relax(void)
|
bool QuadPlane::should_relax(void)
|
||||||
{
|
{
|
||||||
bool motor_at_lower_limit = motors->limit.throttle_lower && attitude_control->is_throttle_mix_min();
|
bool motor_at_lower_limit = motors->limit.throttle_lower && attitude_control->is_throttle_mix_min();
|
||||||
if (motors->get_throttle() < 0.01) {
|
if (motors->get_throttle() < 0.01f) {
|
||||||
motor_at_lower_limit = true;
|
motor_at_lower_limit = true;
|
||||||
}
|
}
|
||||||
if (!motor_at_lower_limit) {
|
if (!motor_at_lower_limit) {
|
||||||
@ -654,7 +654,16 @@ bool QuadPlane::should_relax(void)
|
|||||||
// see if we are flying in vtol
|
// see if we are flying in vtol
|
||||||
bool QuadPlane::is_flying_vtol(void)
|
bool QuadPlane::is_flying_vtol(void)
|
||||||
{
|
{
|
||||||
|
if (motors->get_throttle() > 0.01f) {
|
||||||
|
// if we are demanding more than 1% throttle then don't consider aircraft landed
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (plane.control_mode == QSTABILIZE || plane.control_mode == QHOVER || plane.control_mode == QLOITER) {
|
||||||
|
// in manual flight modes only consider aircraft landed when pilot demanded throttle is zero
|
||||||
|
return plane.channel_throttle->get_control_in() > 0;
|
||||||
|
}
|
||||||
if (in_vtol_mode() && millis() - landing_detect.lower_limit_start_ms > 5000) {
|
if (in_vtol_mode() && millis() - landing_detect.lower_limit_start_ms > 5000) {
|
||||||
|
// use landing detector
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user