Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nav_catapult.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012, Christophe De Wagter
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, see
19  * <http://www.gnu.org/licenses/>.
20  *
21  */
22 
36 #ifndef NAV_CATAPULT_H
37 #define NAV_CATAPULT_H
38 
39 #include "std.h"
41 
42 // Take off state machine
50 };
51 
52 // Internal structure
56  struct FloatVect3 pos;
58  float motor_delay;
59  float heading_delay;
60  float initial_pitch;
62 };
63 
64 extern struct nav_catapult_struct nav_catapult;
65 
66 // Init
67 extern void nav_catapult_init(void);
68 
69 // Module Code
70 extern void nav_catapult_highrate_module(void);
71 
72 // Flightplan Code
73 extern bool nav_catapult_run(uint8_t _climb);
74 
75 #endif
76 
uint32_t timer
internal timer
Definition: nav_catapult.h:55
nav_catapult_state
Definition: nav_catapult.h:43
@ NAV_CATAPULT_WAIT_ACCEL
Definition: nav_catapult.h:46
@ NAV_CATAPULT_ARMED
Definition: nav_catapult.h:45
@ NAV_CATAPULT_DISARM
Definition: nav_catapult.h:49
@ NAV_CATAPULT_UNINIT
Definition: nav_catapult.h:44
@ NAV_CATAPULT_MOTOR_CLIMB
Definition: nav_catapult.h:48
@ NAV_CATAPULT_MOTOR_ON
Definition: nav_catapult.h:47
enum nav_catapult_state status
current procedure state
Definition: nav_catapult.h:54
float initial_throttle
throttle during first take-off phase (in radian)
Definition: nav_catapult.h:61
bool nav_catapult_run(uint8_t _climb)
Definition: nav_catapult.c:159
float motor_delay
delay to start motor after launch detection (in seconds)
Definition: nav_catapult.h:58
float heading_delay
delay to estimate initial heading after launch (in seconds)
Definition: nav_catapult.h:59
float initial_pitch
pitch angle during first take-off phase (in radian)
Definition: nav_catapult.h:60
struct nav_catapult_struct nav_catapult
Definition: nav_catapult.c:83
void nav_catapult_init(void)
Definition: nav_catapult.c:86
float accel_threshold
acceleration threshold for launch detection (in g)
Definition: nav_catapult.h:57
struct FloatVect3 pos
catapult position
Definition: nav_catapult.h:56
void nav_catapult_highrate_module(void)
Definition: nav_catapult.c:102
Paparazzi floating point algebra.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition: vl53l1_types.h:78
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98