|
|
@ -3150,7 +3150,7 @@ float QuadPlane::stopping_distance(void) |
|
|
|
#define LAND_CHECK_LARGE_ANGLE_CD 1500.0f // maximum angle target to be considered landing
|
|
|
|
#define LAND_CHECK_LARGE_ANGLE_CD 1500.0f // maximum angle target to be considered landing
|
|
|
|
#define LAND_CHECK_ACCEL_MOVING 3.0f // maximum acceleration after subtracting gravity
|
|
|
|
#define LAND_CHECK_ACCEL_MOVING 3.0f // maximum acceleration after subtracting gravity
|
|
|
|
|
|
|
|
|
|
|
|
void QuadPlane::update_throttle_thr_mix(void) |
|
|
|
void QuadPlane::update_throttle_mix(void) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// transition will directly manage the mix
|
|
|
|
// transition will directly manage the mix
|
|
|
|
if (in_transition()) { |
|
|
|
if (in_transition()) { |
|
|
@ -3158,7 +3158,7 @@ void QuadPlane::update_throttle_thr_mix(void) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// if disarmed or landed prioritise throttle
|
|
|
|
// if disarmed or landed prioritise throttle
|
|
|
|
if(!motors->armed()) { |
|
|
|
if (!motors->armed()) { |
|
|
|
attitude_control->set_throttle_mix_min(); |
|
|
|
attitude_control->set_throttle_mix_min(); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -3189,7 +3189,7 @@ void QuadPlane::update_throttle_thr_mix(void) |
|
|
|
// check for requested decent
|
|
|
|
// check for requested decent
|
|
|
|
bool descent_not_demanded = pos_control->get_desired_velocity().z >= 0.0f; |
|
|
|
bool descent_not_demanded = pos_control->get_desired_velocity().z >= 0.0f; |
|
|
|
|
|
|
|
|
|
|
|
if ( large_angle_request || large_angle_error || accel_moving || descent_not_demanded) { |
|
|
|
if (large_angle_request || large_angle_error || accel_moving || descent_not_demanded) { |
|
|
|
attitude_control->set_throttle_mix_max(1.0); |
|
|
|
attitude_control->set_throttle_mix_max(1.0); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
attitude_control->set_throttle_mix_min(); |
|
|
|
attitude_control->set_throttle_mix_min(); |
|
|
|