/*1This program is free software: you can redistribute it and/or modify2it under the terms of the GNU General Public License as published by3the Free Software Foundation, either version 3 of the License, or4(at your option) any later version.56This program is distributed in the hope that it will be useful,7but WITHOUT ANY WARRANTY; without even the implied warranty of8MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the9GNU General Public License for more details.1011You should have received a copy of the GNU General Public License12along with this program. If not, see <http://www.gnu.org/licenses/>.13*/14#pragma once1516/*17advanced failsafe support for plane18*/1920#if AP_ADVANCEDFAILSAFE_ENABLED21#include <AP_AdvancedFailsafe/AP_AdvancedFailsafe.h>2223/*24a plane specific AP_AdvancedFailsafe class25*/26class AP_AdvancedFailsafe_Plane : public AP_AdvancedFailsafe27{28public:2930using AP_AdvancedFailsafe::AP_AdvancedFailsafe;3132// called to set all outputs to termination state33void terminate_vehicle(void) override;3435protected:36// setup failsafe values for if FMU firmware stops running37void setup_IO_failsafe(void) override;3839// return the AFS mapped control mode40enum control_mode afs_mode(void) override;4142//to force entering auto mode when datalink loss43void set_mode_auto(void) override;44};4546#endif // AP_ADVANCEDFAILSAFE_ENABLED474849