Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
nav_spiral.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2011-2013 The Paparazzi Team
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, write to
18
* the Free Software Foundation, 59 Temple Place - Suite 330,
19
* Boston, MA 02111-1307, USA.
20
*/
21
29
#ifndef NAV_SPIRAL_H
30
#define NAV_SPIRAL_H
31
32
#include "
std.h
"
33
#include "
math/pprz_algebra_float.h
"
34
35
enum
SpiralStatus
{
SpiralOutside
,
SpiralStartCircle
,
SpiralCircle
,
SpiralInc
};
36
37
struct
NavSpiral
{
38
struct
FloatVect3
trans_current
;
39
struct
FloatVect2
fly_from
;
40
struct
FloatVect2
last_circle
;
41
struct
FloatVect3
center
;
42
float
dist_from_center
;
43
float
alpha_limit
;
44
float
segments
;
45
float
radius
;
46
float
radius_min
;
47
float
radius_start
;
48
float
radius_increment
;
49
enum
SpiralStatus
status
;
50
};
51
52
extern
struct
NavSpiral
nav_spiral
;
53
54
extern
bool
nav_spiral_run
(
void
);
55
extern
void
nav_spiral_setup
(
uint8_t
center_wp,
uint8_t
edge_wp,
float
radius_start
,
56
float
radius_inc,
float
segments
);
57
58
#endif // NAV_SPIRAL_H
nav_spiral_setup
void nav_spiral_setup(uint8_t center_wp, uint8_t edge_wp, float radius_start, float radius_inc, float segments)
Definition:
nav_spiral.c:50
NavSpiral::radius
float radius
Definition:
nav_spiral.h:45
SpiralStartCircle
@ SpiralStartCircle
Definition:
nav_spiral.h:35
NavSpiral::fly_from
struct FloatVect2 fly_from
Definition:
nav_spiral.h:39
NavSpiral::radius_increment
float radius_increment
Definition:
nav_spiral.h:48
SpiralOutside
@ SpiralOutside
Definition:
nav_spiral.h:35
NavSpiral::alpha_limit
float alpha_limit
Definition:
nav_spiral.h:43
SpiralCircle
@ SpiralCircle
Definition:
nav_spiral.h:35
SpiralInc
@ SpiralInc
Definition:
nav_spiral.h:35
NavSpiral::segments
float segments
Definition:
nav_spiral.h:44
NavSpiral::center
struct FloatVect3 center
Definition:
nav_spiral.h:41
pprz_algebra_float.h
Paparazzi floating point algebra.
FloatVect2
Definition:
pprz_algebra_float.h:49
FloatVect3
Definition:
pprz_algebra_float.h:54
std.h
NavSpiral::last_circle
struct FloatVect2 last_circle
Definition:
nav_spiral.h:40
nav_spiral
struct NavSpiral nav_spiral
Definition:
nav_spiral.c:48
NavSpiral::dist_from_center
float dist_from_center
Definition:
nav_spiral.h:42
NavSpiral::radius_start
float radius_start
Definition:
nav_spiral.h:47
uint8_t
unsigned char uint8_t
Definition:
types.h:14
NavSpiral::radius_min
float radius_min
Definition:
nav_spiral.h:46
NavSpiral::trans_current
struct FloatVect3 trans_current
Definition:
nav_spiral.h:38
SpiralStatus
SpiralStatus
Definition:
nav_spiral.h:35
NavSpiral::status
enum SpiralStatus status
Definition:
nav_spiral.h:49
nav_spiral_run
bool nav_spiral_run(void)
Definition:
nav_spiral.c:86
NavSpiral
Definition:
nav_spiral.h:37
sw
airborne
modules
nav
nav_spiral.h
Generated on Tue Feb 1 2022 13:51:16 for Paparazzi UAS by
1.8.17