|
|
@ -70,9 +70,6 @@ void Plane::failsafe_short_on_event(enum failsafe_state fstype, ModeReason reaso |
|
|
|
case Mode::Number::AVOID_ADSB: |
|
|
|
case Mode::Number::AVOID_ADSB: |
|
|
|
case Mode::Number::GUIDED: |
|
|
|
case Mode::Number::GUIDED: |
|
|
|
case Mode::Number::LOITER: |
|
|
|
case Mode::Number::LOITER: |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
|
|
|
|
case Mode::Number::LOITER_ALT_QLAND: |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
case Mode::Number::THERMAL: |
|
|
|
case Mode::Number::THERMAL: |
|
|
|
if(g.fs_action_short != FS_ACTION_SHORT_BESTGUESS) { |
|
|
|
if(g.fs_action_short != FS_ACTION_SHORT_BESTGUESS) { |
|
|
|
failsafe.saved_mode_number = control_mode->mode_number(); |
|
|
|
failsafe.saved_mode_number = control_mode->mode_number(); |
|
|
@ -91,6 +88,7 @@ void Plane::failsafe_short_on_event(enum failsafe_state fstype, ModeReason reaso |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
case Mode::Number::QLAND: |
|
|
|
case Mode::Number::QLAND: |
|
|
|
case Mode::Number::QRTL: |
|
|
|
case Mode::Number::QRTL: |
|
|
|
|
|
|
|
case Mode::Number::LOITER_ALT_QLAND: |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
case Mode::Number::INITIALISING: |
|
|
|
case Mode::Number::INITIALISING: |
|
|
|
break; |
|
|
|
break; |
|
|
@ -117,9 +115,6 @@ void Plane::failsafe_long_on_event(enum failsafe_state fstype, ModeReason reason |
|
|
|
case Mode::Number::TRAINING: |
|
|
|
case Mode::Number::TRAINING: |
|
|
|
case Mode::Number::CIRCLE: |
|
|
|
case Mode::Number::CIRCLE: |
|
|
|
case Mode::Number::LOITER: |
|
|
|
case Mode::Number::LOITER: |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
|
|
|
|
case Mode::Number::LOITER_ALT_QLAND: |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
case Mode::Number::THERMAL: |
|
|
|
case Mode::Number::THERMAL: |
|
|
|
if(g.fs_action_long == FS_ACTION_LONG_PARACHUTE) { |
|
|
|
if(g.fs_action_long == FS_ACTION_LONG_PARACHUTE) { |
|
|
|
#if PARACHUTE == ENABLED |
|
|
|
#if PARACHUTE == ENABLED |
|
|
@ -172,6 +167,7 @@ void Plane::failsafe_long_on_event(enum failsafe_state fstype, ModeReason reason |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
case Mode::Number::QLAND: |
|
|
|
case Mode::Number::QLAND: |
|
|
|
case Mode::Number::QRTL: |
|
|
|
case Mode::Number::QRTL: |
|
|
|
|
|
|
|
case Mode::Number::LOITER_ALT_QLAND: |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
case Mode::Number::TAKEOFF: |
|
|
|
case Mode::Number::TAKEOFF: |
|
|
|
case Mode::Number::INITIALISING: |
|
|
|
case Mode::Number::INITIALISING: |
|
|
@ -223,7 +219,7 @@ void Plane::handle_battery_failsafe(const char *type_str, const int8_t action) |
|
|
|
case Failsafe_Action_Land: { |
|
|
|
case Failsafe_Action_Land: { |
|
|
|
bool already_landing = flight_stage == AP_Vehicle::FixedWing::FLIGHT_LAND; |
|
|
|
bool already_landing = flight_stage == AP_Vehicle::FixedWing::FLIGHT_LAND; |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
if (control_mode == &mode_qland) { |
|
|
|
if (control_mode == &mode_qland || control_mode == &mode_lotier_qland) { |
|
|
|
already_landing = true; |
|
|
|
already_landing = true; |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
#endif |
|
|
@ -244,7 +240,7 @@ void Plane::handle_battery_failsafe(const char *type_str, const int8_t action) |
|
|
|
case Failsafe_Action_RTL: { |
|
|
|
case Failsafe_Action_RTL: { |
|
|
|
bool already_landing = flight_stage == AP_Vehicle::FixedWing::FLIGHT_LAND; |
|
|
|
bool already_landing = flight_stage == AP_Vehicle::FixedWing::FLIGHT_LAND; |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
#if HAL_QUADPLANE_ENABLED |
|
|
|
if (control_mode == &mode_qland || |
|
|
|
if (control_mode == &mode_qland || control_mode == &mode_lotier_qland || |
|
|
|
quadplane.in_vtol_land_sequence()) { |
|
|
|
quadplane.in_vtol_land_sequence()) { |
|
|
|
already_landing = true; |
|
|
|
already_landing = true; |
|
|
|
} |
|
|
|
} |
|
|
|