Paparazzi UAS  v5.15_devel-99-g2ff7410
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
autopilot_static.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2009 Antoine Drouin <poinix@gmail.com>
3  * Copyright (C) 2016 Gautier Hattenberger <gautier.hattenberger@enac.fr>
4  *
5  * This file is part of paparazzi.
6  *
7  * paparazzi is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * paparazzi is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with paparazzi; see the file COPYING. If not, write to
19  * the Free Software Foundation, 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22 
30 #ifndef AUTOPILOT_STATIC_H
31 #define AUTOPILOT_STATIC_H
32 
35 #define AP_MODE_KILL 0
36 #define AP_MODE_FAILSAFE 1
37 #define AP_MODE_HOME 2
38 #define AP_MODE_RATE_DIRECT 3
39 #define AP_MODE_ATTITUDE_DIRECT 4
40 #define AP_MODE_RATE_RC_CLIMB 5
41 #define AP_MODE_ATTITUDE_RC_CLIMB 6
42 #define AP_MODE_ATTITUDE_CLIMB 7
43 #define AP_MODE_RATE_Z_HOLD 8
44 #define AP_MODE_ATTITUDE_Z_HOLD 9
45 #define AP_MODE_HOVER_DIRECT 10
46 #define AP_MODE_HOVER_CLIMB 11
47 #define AP_MODE_HOVER_Z_HOLD 12
48 #define AP_MODE_NAV 13
49 #define AP_MODE_RC_DIRECT 14 // Safety Pilot Direct Commands for helicopter direct control
50 #define AP_MODE_CARE_FREE_DIRECT 15
51 #define AP_MODE_FORWARD 16
52 #define AP_MODE_MODULE 17
53 #define AP_MODE_FLIP 18
54 #define AP_MODE_GUIDED 19
55 
56 
57 /* Arming status*/
58 #define AP_ARMING_STATUS_NO_RC 0
59 #define AP_ARMING_STATUS_WAITING 1
60 #define AP_ARMING_STATUS_ARMING 2
61 #define AP_ARMING_STATUS_ARMED 3
62 #define AP_ARMING_STATUS_DISARMING 4
63 #define AP_ARMING_STATUS_KILLED 5
64 #define AP_ARMING_STATUS_YAW_CENTERED 6
65 #define AP_ARMING_STATUS_THROTTLE_DOWN 7
66 #define AP_ARMING_STATUS_NOT_MODE_MANUAL 8
67 #define AP_ARMING_STATUS_UNARMED_IN_AUTO 9
68 #define AP_ARMING_STATUS_THROTTLE_NOT_DOWN 10
69 #define AP_ARMING_STATUS_STICKS_NOT_CENTERED 11
70 #define AP_ARMING_STATUS_PITCH_NOT_CENTERED 12
71 #define AP_ARMING_STATUS_ROLL_NOT_CENTERED 13
72 #define AP_ARMING_STATUS_YAW_NOT_CENTERED 14
73 #define AP_ARMING_STATUS_AHRS_NOT_ALLIGNED 15
74 #define AP_ARMING_STATUS_OUT_OF_GEOFENCE 16
75 #define AP_ARMING_STATUS_LOW_BATTERY 17
76 
79 #ifndef MODE_MANUAL
80 #define MODE_MANUAL AP_MODE_ATTITUDE_DIRECT
81 #endif
82 #ifndef MODE_AUTO1
83 #define MODE_AUTO1 AP_MODE_HOVER_Z_HOLD
84 #endif
85 #ifndef MODE_AUTO2
86 #define MODE_AUTO2 AP_MODE_NAV
87 #endif
88 
91 extern void autopilot_static_init(void);
92 extern void autopilot_static_periodic(void);
93 extern void autopilot_static_on_rc_frame(void);
94 extern void autopilot_static_set_mode(uint8_t new_autopilot_mode);
95 extern void autopilot_static_SetModeHandler(float new_autopilot_mode); // handler for dl_setting
96 extern void autopilot_static_set_motors_on(bool motors_on);
97 
98 #endif /* AUTOPILOT_STATIC_H */
void autopilot_static_set_motors_on(bool motors_on)
void autopilot_static_periodic(void)
void autopilot_static_SetModeHandler(float new_autopilot_mode)
AP mode setting handler.
void autopilot_static_init(void)
Static autopilot functions.
void autopilot_static_on_rc_frame(void)
Function to be called when a message from FBW is available.
unsigned char uint8_t
Definition: types.h:14
void autopilot_static_set_mode(uint8_t new_autopilot_mode)