dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vtol_follower_priv.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 #ifndef VTOL_FOLLOWER_PRIV_H
29 #define VTOL_FOLLOWER_PRIV_H
30 
31 #include "openpilot.h"
32 #include "pathdesired.h"
33 #include "paths.h"
34 #include "vtolpathfollowersettings.h"
35 
41 enum vtol_goals {
47 };
48 
50 enum vtol_pid {
58 };
59 
60 extern VtolPathFollowerSettingsData vtol_guidanceSettings;
61 extern float vtol_dT;
62 
63 // Control code public API methods
64 int32_t vtol_follower_control_path(const PathDesiredData *pathDesired, struct path_status *progress);
65 int32_t vtol_follower_control_endpoint(const float *hold_pos_ned);
66 int32_t vtol_follower_control_altrate(const float *hold_pos_ned,
67  float alt_adj);
68 int32_t vtol_follower_control_attitude(const float dT, const float *att_adj);
69 int32_t vtol_follower_control_land(const float *hold_pos_ned, bool *landed);
70 bool vtol_follower_control_loiter(float dT, float *hold_pos, float *att_adj,
71  float *alt_adj);
73 
74 // Follower FSM public API methods
75 
81 int32_t vtol_follower_fsm_activate_goal(enum vtol_goals new_goal);
82 
87 int32_t vtol_follower_fsm_update();
88 
89 #endif
int32_t vtol_follower_fsm_update()
int32_t vtol_follower_fsm_activate_goal(enum vtol_goals new_goal)
float vtol_dT
static PathDesiredData pathDesired
int32_t vtol_follower_control_attitude(float dT, const float *att_adj)
VtolPathFollowerSettingsData vtol_guidanceSettings
int32_t vtol_follower_control_endpoint(const float *hold_pos_ned)
void vtol_follower_control_settings_updated()
int32_t vtol_follower_control_land(const float *hold_pos_ned, bool *landed)
vtol_pid
The named set of PIDs used for navigation.
Path calculation library with common API.
vtol_goals
bool vtol_follower_control_loiter(float dT, float *hold_pos, float *att_adj, float *alt_adj)
int32_t vtol_follower_control_path(const PathDesiredData *pathDesired, struct path_status *progress)
Includes PiOS and core architecture components.
int32_t vtol_follower_control_altrate(const float *hold_pos_ned, float alt_adj)