Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
abi_common.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 ENAC - Gautier Hattenberger
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 
28 #ifndef ABI_COMMON_H
29 #define ABI_COMMON_H
30 
31 /* Include pprz math library */
32 #include "std.h"
33 #include "math/pprz_algebra_int.h"
35 #include "modules/gps/gps.h"
38 /* Include here headers with structure definition you may want to use with ABI
39  * Ex: '#include "modules/gps/gps.h"' in order to use the GpsState structure
40  */
41 
43 
44 /* Some magic to avoid to compile C code, only headers */
45 #ifdef ABI_C
46 #define ABI_EXTERN
47 #else
48 #define ABI_EXTERN extern
49 #endif
50 
52 typedef void (*abi_callback)(void);
53 
58 #define ABI_BROADCAST 255
59 
64 #define ABI_DISABLE 0
65 
67 struct abi_struct {
70  struct abi_struct *next;
71 };
72 typedef struct abi_struct abi_event;
73 
75 #define ABI_FOREACH(head,el) for(el=head; el; el=el->next)
76 #define ABI_PREPEND(head,add) { (add)->next = head; head = add; }
77 
78 #endif /* ABI_COMMON_H */
79 
struct abi_struct * next
Definition: abi_common.h:70
abi_callback cb
Definition: abi_common.h:69
uint8_t id
Definition: abi_common.h:68
void(* abi_callback)(void)
Generic callback definition.
Definition: abi_common.h:52
Event structure to store callbacks in a linked list.
Definition: abi_common.h:67
Convenience defines for ABI sender IDs.
Device independent GPS code (interface)
Hardware independent API for actuators (servos, motor controllers).
Paparazzi floating point algebra.
Paparazzi fixed point algebra.
Generic interface for radio control modules.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98