mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-30 04:28:30 -04:00
Plane: fixed stick mixing with land reposition in quadplanes
prevent stick mixing overriding landing control
This commit is contained in:
parent
c544f3dd01
commit
06cd077c36
@ -64,6 +64,15 @@ bool Plane::stick_mixing_enabled(void)
|
|||||||
#else
|
#else
|
||||||
const bool stickmixing = true;
|
const bool stickmixing = true;
|
||||||
#endif
|
#endif
|
||||||
|
if (control_mode == &mode_qrtl &&
|
||||||
|
quadplane.poscontrol.get_state() >= QuadPlane::QPOS_POSITION1) {
|
||||||
|
// user may be repositioning
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (quadplane.in_vtol_land_poscontrol()) {
|
||||||
|
// user may be repositioning
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (control_mode->does_auto_throttle() && plane.control_mode->does_auto_navigation()) {
|
if (control_mode->does_auto_throttle() && plane.control_mode->does_auto_navigation()) {
|
||||||
// we're in an auto mode. Check the stick mixing flag
|
// we're in an auto mode. Check the stick mixing flag
|
||||||
if (g.stick_mixing != STICK_MIXING_DISABLED &&
|
if (g.stick_mixing != STICK_MIXING_DISABLED &&
|
||||||
|
@ -3938,6 +3938,18 @@ bool QuadPlane::in_vtol_land_sequence(void) const
|
|||||||
return in_vtol_land_approach() || in_vtol_land_descent() || in_vtol_land_final();
|
return in_vtol_land_approach() || in_vtol_land_descent() || in_vtol_land_final();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
see if we are in the VTOL position control phase of a landing
|
||||||
|
*/
|
||||||
|
bool QuadPlane::in_vtol_land_poscontrol(void) const
|
||||||
|
{
|
||||||
|
if (in_vtol_auto() && is_vtol_land(plane.mission.get_current_nav_cmd().id) &&
|
||||||
|
poscontrol.get_state() >= QPOS_POSITION1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// return true if we should show VTOL view
|
// return true if we should show VTOL view
|
||||||
bool QuadPlane::show_vtol_view() const
|
bool QuadPlane::show_vtol_view() const
|
||||||
{
|
{
|
||||||
|
@ -687,6 +687,11 @@ private:
|
|||||||
*/
|
*/
|
||||||
bool in_vtol_land_sequence(void) const;
|
bool in_vtol_land_sequence(void) const;
|
||||||
|
|
||||||
|
/*
|
||||||
|
see if we are in the VTOL position control phase of a landing
|
||||||
|
*/
|
||||||
|
bool in_vtol_land_poscontrol(void) const;
|
||||||
|
|
||||||
// Q assist state, can be enabled, disabled or force. Default to enabled
|
// Q assist state, can be enabled, disabled or force. Default to enabled
|
||||||
Q_ASSIST_STATE_ENUM q_assist_state = Q_ASSIST_STATE_ENUM::Q_ASSIST_ENABLED;
|
Q_ASSIST_STATE_ENUM q_assist_state = Q_ASSIST_STATE_ENUM::Q_ASSIST_ENABLED;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user