Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nav_takeoff_and_landing.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2023 Gautier Hattenberger <gautier.hattenberger@enac.fr>
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
27#ifndef NAV_TAKEOFF_AND_LANDING_H
28#define NAV_TAKEOFF_AND_LANDING_H
29
30#include "std.h"
32
39
47
57
69
73extern float nav_takeoff_direction;
74
77extern void nav_takeoff_and_landing_init(void);
78
81extern void nav_takeoff_and_landing_periodic(void);
82
92extern bool nav_takeoff_from_wp(uint8_t wp_id, float height);
93
104extern bool nav_takeoff_from_loc(float lat, float lon, float height);
105
114extern bool nav_takeoff_from_here(float height);
115
126extern bool nav_land_at_wp(uint8_t td_id, uint8_t af_id, float radius);
127
138extern bool nav_land_at_loc(float td_alt, float lat, float lon, float dir, float dist, float radius);
139
150extern bool nav_land_here(float td_alt, float radius);
151
152#endif // NAV_TAKEOFF_AND_LANDING_H
153
uint16_t foo
Definition main_demo5.c:58
enum nav_takeoff_status status
current step
uint8_t td_id
touch down wp id
bool nav_takeoff_from_wp(uint8_t wp_id, float height)
Takeoff from a waypoint.
bool nav_land_at_loc(float td_alt, float lat, float lon, float dir, float dist, float radius)
Land at lat long location.
enum nav_landing_status status
current step
float nav_takeoff_direction
Takeoff direction in range [0-360] (deg) set to flight plan QFU by default.
bool nav_land_at_wp(uint8_t td_id, uint8_t af_id, float radius)
Land at waypoint location.
void nav_takeoff_and_landing_init(void)
Init function.
struct EnuCoor_f af_pos
start of descent point
@ NAV_LANDING_REACH_AF
@ NAV_LANDING_DESCENT
@ NAV_LANDING_FLARE
float radius
circle radius for fixedwing landing
bool nav_takeoff_from_here(float height)
Takeoff from current location.
bool timeout
true if status should be set to init
struct EnuCoor_f td_pos
touch down point
uint8_t af_id
start of descent wp id
bool timeout
true if status should be set to init
struct EnuCoor_f start_pos
start position
uint8_t climb_id
climb waypoint id
struct EnuCoor_f climb_pos
climb point
void nav_takeoff_and_landing_periodic(void)
Periodic timeout check function.
@ NAV_TAKEOFF_CLIMB
@ NAV_TAKEOFF_START_MOTOR
bool nav_land_here(float td_alt, float radius)
Land at current location.
bool nav_takeoff_from_loc(float lat, float lon, float height)
Takeoff from lat long location.
Structure for landing.
Structure for takeoff.
Paparazzi floating point math for geodetic calculations.
vector in East North Up coordinates Units: meters
static const float dir[]
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.