Paparazzi UAS  v5.18.0_stable
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 
NAV_CATAPULT_MOTOR_CLIMB
@ NAV_CATAPULT_MOTOR_CLIMB
Definition: nav_catapult.h:48
NAV_CATAPULT_MOTOR_ON
@ NAV_CATAPULT_MOTOR_ON
Definition: nav_catapult.h:47
nav_catapult_struct::initial_throttle
float initial_throttle
throttle during first take-off phase (in radian)
Definition: nav_catapult.h:61
nav_catapult_struct::timer
uint32_t timer
internal timer
Definition: nav_catapult.h:55
uint32_t
unsigned long uint32_t
Definition: types.h:18
nav_catapult_highrate_module
void nav_catapult_highrate_module(void)
Definition: nav_catapult.c:102
pprz_algebra_float.h
Paparazzi floating point algebra.
FloatVect3
Definition: pprz_algebra_float.h:54
std.h
NAV_CATAPULT_DISARM
@ NAV_CATAPULT_DISARM
Definition: nav_catapult.h:49
nav_catapult_struct::heading_delay
float heading_delay
delay to estimate initial heading after launch (in seconds)
Definition: nav_catapult.h:59
uint8_t
unsigned char uint8_t
Definition: types.h:14
nav_catapult_struct
Definition: nav_catapult.h:53
nav_catapult_struct::accel_threshold
float accel_threshold
acceleration threshold for launch detection (in g)
Definition: nav_catapult.h:57
NAV_CATAPULT_UNINIT
@ NAV_CATAPULT_UNINIT
Definition: nav_catapult.h:44
nav_catapult
struct nav_catapult_struct nav_catapult
Definition: nav_catapult.c:83
nav_catapult_state
nav_catapult_state
Definition: nav_catapult.h:43
nav_catapult_struct::initial_pitch
float initial_pitch
pitch angle during first take-off phase (in radian)
Definition: nav_catapult.h:60
NAV_CATAPULT_ARMED
@ NAV_CATAPULT_ARMED
Definition: nav_catapult.h:45
nav_catapult_struct::pos
struct FloatVect3 pos
catapult position
Definition: nav_catapult.h:56
nav_catapult_struct::motor_delay
float motor_delay
delay to start motor after launch detection (in seconds)
Definition: nav_catapult.h:58
nav_catapult_init
void nav_catapult_init(void)
Definition: nav_catapult.c:86
NAV_CATAPULT_WAIT_ACCEL
@ NAV_CATAPULT_WAIT_ACCEL
Definition: nav_catapult.h:46
nav_catapult_run
bool nav_catapult_run(uint8_t _climb)
Definition: nav_catapult.c:159
nav_catapult_struct::status
enum nav_catapult_state status
current procedure state
Definition: nav_catapult.h:54