Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
ctrl_windtunnel.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 Freek van Tienen
3  *
4  * This file is part of Paparazzi.
5  *
6  * Paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * Paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Paparazzi; see the file COPYING. If not, see
18  * <http://www.gnu.org/licenses/>.
19  */
20 
28 #ifndef CTRL_MODULE_WINDTUNNEL_H_
29 #define CTRL_MODULE_WINDTUNNEL_H_
30 
31 #include <std.h>
32 
34  float min;
35  float max;
36  float step;
37  float current;
38 };
39 
40 // Settings
41 extern float ctrl_windtunnel_steptime;
44 
45 // Implement own Horizontal loops
46 extern void guidance_h_module_init(void);
47 extern void guidance_h_module_enter(void);
48 extern void guidance_h_module_read_rc(void);
49 extern void guidance_h_module_run(bool in_flight);
50 
51 // Implement own Vertical loops
52 extern void guidance_v_module_init(void);
53 extern void guidance_v_module_enter(void);
54 extern void guidance_v_module_run(bool in_flight);
55 
56 #endif /* CTRL_MODULE_WINDTUNNEL_H_ */
ctrl_windtunnel_throttle
struct min_max_ctrl_t ctrl_windtunnel_throttle
Definition: ctrl_windtunnel.c:54
min_max_ctrl_t::step
float step
Definition: ctrl_windtunnel.h:36
ctrl_windtunnel_flaps
struct min_max_ctrl_t ctrl_windtunnel_flaps
Definition: ctrl_windtunnel.c:55
guidance_h_module_read_rc
void guidance_h_module_read_rc(void)
Read the RC commands.
Definition: ctrl_module_innerloop_demo.c:90
min_max_ctrl_t::max
float max
Definition: ctrl_windtunnel.h:35
guidance_h_module_enter
void guidance_h_module_enter(void)
Entering the horizontal module (user switched to module)
Definition: ctrl_module_innerloop_demo.c:85
ctrl_windtunnel_steptime
float ctrl_windtunnel_steptime
Definition: ctrl_windtunnel.c:53
std.h
guidance_h_module_run
void guidance_h_module_run(bool in_flight)
Main guidance loop.
Definition: ctrl_module_innerloop_demo.c:99
min_max_ctrl_t::min
float min
Definition: ctrl_windtunnel.h:34
guidance_v_module_run
void guidance_v_module_run(bool in_flight)
Definition: optical_flow_hover.c:656
min_max_ctrl_t
Definition: ctrl_windtunnel.h:33
guidance_v_module_enter
void guidance_v_module_enter(void)
Entering the vertical module (user switched to module)
Definition: ctrl_module_innerloop_demo.c:111
guidance_v_module_init
void guidance_v_module_init(void)
Definition: ctrl_module_innerloop_demo.c:105
min_max_ctrl_t::current
float current
Definition: ctrl_windtunnel.h:37
guidance_h_module_init
void guidance_h_module_init(void)
Initialization of horizontal guidance module.
Definition: ctrl_module_innerloop_demo.c:80