Browse Source

Plane: Support landing terminations on landing backends that support it

master
Michael du Breuil 8 years ago committed by Tom Pittenger
parent
commit
4fd13d5205
  1. 20
      ArduPlane/afs_plane.cpp

20
ArduPlane/afs_plane.cpp

@ -17,14 +17,18 @@ void AP_AdvancedFailsafe_Plane::terminate_vehicle(void) @@ -17,14 +17,18 @@ void AP_AdvancedFailsafe_Plane::terminate_vehicle(void)
{
plane.g2.servo_channels.disable_passthrough(true);
// and all aux channels
SRV_Channels::set_output_scaled(SRV_Channel::k_flap_auto, 100);
SRV_Channels::set_output_scaled(SRV_Channel::k_flap, 100);
SRV_Channels::set_output_scaled(SRV_Channel::k_aileron, SERVO_MAX);
SRV_Channels::set_output_scaled(SRV_Channel::k_rudder, SERVO_MAX);
SRV_Channels::set_output_scaled(SRV_Channel::k_elevator, SERVO_MAX);
SRV_Channels::set_output_limit(SRV_Channel::k_manual, SRV_Channel::SRV_CHANNEL_LIMIT_TRIM);
SRV_Channels::set_output_limit(SRV_Channel::k_none, SRV_Channel::SRV_CHANNEL_LIMIT_TRIM);
if (_terminate_action == TERMINATE_ACTION_LAND) {
plane.landing.terminate();
} else {
// aerodynamic termination is the default approach to termination
SRV_Channels::set_output_scaled(SRV_Channel::k_flap_auto, 100);
SRV_Channels::set_output_scaled(SRV_Channel::k_flap, 100);
SRV_Channels::set_output_scaled(SRV_Channel::k_aileron, SERVO_MAX);
SRV_Channels::set_output_scaled(SRV_Channel::k_rudder, SERVO_MAX);
SRV_Channels::set_output_scaled(SRV_Channel::k_elevator, SERVO_MAX);
SRV_Channels::set_output_limit(SRV_Channel::k_manual, SRV_Channel::SRV_CHANNEL_LIMIT_TRIM);
SRV_Channels::set_output_limit(SRV_Channel::k_none, SRV_Channel::SRV_CHANNEL_LIMIT_TRIM);
}
plane.servos_output();

Loading…
Cancel
Save