Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
actuators.h
Go to the documentation of this file.
1 /*
2  * (c) 2003-2005 Pascal Brisset, Antoine Drouin
3  * (c) 2012 Gautier Hattenberger
4  *
5  * This file is part of paparazzi.
6  *
7  * paparazzi is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * paparazzi is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with paparazzi; see the file COPYING. If not, write to
19  * the Free Software Foundation, 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22 
27 #ifndef ACTUATORS_H
28 #define ACTUATORS_H
29 
30 #include "paparazzi.h"
31 #include "std.h"
32 
33 /*
34  * Defines SetActuatorsFromCommands() macro
35  * Defines ACTUATORS_NB to 0 if no servo
36  * Include servos drivers
37  */
38 #include "generated/airframe.h"
39 
40 extern void actuators_init(void);
41 extern void actuators_periodic(void);
42 
43 // Actuator feedback structure for ABI Message
47  bool rpm: 1;
48  bool position: 1;
49  } set;
50 
52  float position;
53 };
54 
55 #if ACTUATORS_NB
56 
57 extern uint32_t actuators_delay_time;
58 extern bool actuators_delay_done;
59 
60 // Actuator feedback structure for ABI Message
61 struct actuator_t {
62  pprz_t pprz_val;
63  int16_t driver_val;
64 };
65 
66 
70 extern struct actuator_t actuators[ACTUATORS_NB];
71 
76 extern int16_t actuators_pprz[ACTUATORS_NB];
77 
82 #define _ActuatorSet(_n, _v) Set_ ## _n ## _Servo(_v)
83 #define ActuatorSet(_n, _v) _ActuatorSet(_n, _v)
84 
85 #endif /* ACTUATORS_NB */
86 
87 
88 #endif /* ACTUATORS_H */
void actuators_periodic(void)
Definition: actuators.c:139
int32_t rpm
RPM.
Definition: actuators.h:51
bool position
Position is set.
Definition: actuators.h:48
struct act_feedback_t::act_feedback_set_t set
Bitset registering what is set as feedback.
uint8_t idx
General index of the actuators (generated in airframe.h)
Definition: actuators.h:45
void actuators_init(void)
Definition: actuators.c:138
float position
In radians.
Definition: actuators.h:52
int16_t pprz_t
Definition: paparazzi.h:6
int int32_t
Typedef defining 32 bit int type.
Definition: vl53l1_types.h:83
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition: vl53l1_types.h:78
short int16_t
Typedef defining 16 bit short type.
Definition: vl53l1_types.h:93
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98