/*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 copter18*/1920#include "config.h"2122#if AP_COPTER_ADVANCED_FAILSAFE_ENABLED23#include <AP_AdvancedFailsafe/AP_AdvancedFailsafe.h>2425/*26a plane specific AP_AdvancedFailsafe class27*/28class AP_AdvancedFailsafe_Copter : public AP_AdvancedFailsafe29{30public:3132using AP_AdvancedFailsafe::AP_AdvancedFailsafe;3334// called to set all outputs to termination state35void terminate_vehicle(void) override;3637protected:38// setup failsafe values for if FMU firmware stops running39void setup_IO_failsafe(void) override;4041// return the AFS mapped control mode42enum control_mode afs_mode(void) override;4344//to force entering auto mode when datalink loss45void set_mode_auto(void) override;46};4748#endif // AP_COPTER_ADVANCED_FAILSAFE_ENABLED49505152