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
gvf.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Hector Garcia de Marina
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 */
22
28#ifndef GVF_H
29#define GVF_H
30
32#ifndef GVF_OCAML_GCS
33#define GVF_OCAML_GCS true
34#endif
35
36#include "std.h"
39
53typedef struct {
54 float ke;
55 float kn;
56 float error;
57 float error_n;
58 float speed;
60 bool align;
61} gvf_con;
62
63typedef struct {
64 float n_norm;
65 float t_norm;
66 float omega_d;
67 float omega;
68} gvf_tel;
69
70// Extern structs
71extern gvf_con gvf_control;
72
75extern void gvf_init(void);
76extern void gvf_control_2D(float ke, float kn, float e,
77 struct gvf_grad *, struct gvf_Hess *);
78extern void gvf_set_speed(float speed); // Rotorcraft only (for now)
79extern void gvf_set_align(bool align); // Rotorcraft only
80extern void gvf_set_direction(int8_t s);
81
82#endif // GVF_H
float ke
Definition gvf.h:54
float error
Definition gvf.h:56
float error_n
Definition gvf.h:57
float speed
Definition gvf.h:58
float omega
Definition gvf.h:67
int8_t s
Definition gvf.h:59
void gvf_set_align(bool align)
Definition gvf.c:245
float omega_d
Definition gvf.h:66
float n_norm
Definition gvf.h:64
gvf_con gvf_control
Definition gvf.c:30
void gvf_init(void)
EXTERN FUNCTIONS ----------------------------------------------------—.
Definition gvf.c:85
void gvf_set_speed(float speed)
Definition gvf.c:239
bool align
Definition gvf.h:60
void gvf_set_direction(int8_t s)
Definition gvf.c:232
void gvf_control_2D(float ke, float kn, float e, struct gvf_grad *, struct gvf_Hess *)
Definition gvf.c:100
float kn
Definition gvf.h:55
float t_norm
Definition gvf.h:65
Definition gvf.h:53
Definition gvf.h:63
static uint32_t s
signed char int8_t
Typedef defining 8 bit char type.