Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nps_autopilot.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) Paparazzi team
3  * This file is part of paparazzi.
4  *
5  * paparazzi is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2, or (at your option)
8  * any later version.
9  *
10  * paparazzi is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with paparazzi; see the file COPYING. If not, write to
17  * the Free Software Foundation, 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20 
21 #ifndef NPS_AUTOPILOT_H
22 #define NPS_AUTOPILOT_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #include "generated/airframe.h"
29 
30 #include "nps_radio_control.h"
31 
38 #ifndef NPS_COMMANDS_NB
39 #if defined MOTOR_MIXING_NB_MOTOR
40 #define NPS_COMMANDS_NB MOTOR_MIXING_NB_MOTOR
41 #elif defined NPS_USE_COMMANDS
42 #define NPS_COMMANDS_NB COMMANDS_NB
43 #else
44 #define NPS_COMMANDS_NB ACTUATORS_NB // uses actuators_pprz[ACTUATORS_NB]
45 #endif /* #if defined MOTOR_MIXING_NB_MOTOR or NPS_USE_COMMANDS */
46 #endif /* #ifndef NPS_COMMANDS_NB */
47 
48 struct NpsAutopilot {
50  bool launch;
51 };
52 
53 extern struct NpsAutopilot nps_autopilot;
54 
55 extern bool nps_bypass_ahrs;
56 extern bool nps_bypass_ins;
57 extern void sim_overwrite_ahrs(void);
58 extern void sim_overwrite_ins(void);
59 
60 extern void nps_autopilot_init(enum NpsRadioControlType type, int num_script, char *js_dev);
61 extern void nps_autopilot_run_step(double time);
62 extern void nps_autopilot_run_systime_step(void);
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /* NPS_AUTOPILOT_H */
struct NpsAutopilot nps_autopilot
#ifndef NPS_NO_MOTOR_MIXING #include "modules/actuators/motor_mixing.h"
double commands[NPS_COMMANDS_NB]
Definition: nps_autopilot.h:49
void nps_autopilot_run_step(double time)
bool nps_bypass_ahrs
#define NPS_COMMANDS_NB
Number of commands sent to the FDM of NPS.
Definition: nps_autopilot.h:44
bool nps_bypass_ins
void sim_overwrite_ins(void)
void nps_autopilot_run_systime_step(void)
void nps_autopilot_init(enum NpsRadioControlType type, int num_script, char *js_dev)
void sim_overwrite_ahrs(void)
NpsRadioControlType