Paparazzi UAS v7.1_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
formation.h
Go to the documentation of this file.
1
7#ifndef FORMATION_H
8#define FORMATION_H
9
10#include "generated/airframe.h" // AC_ID
12
13#define FORM_MODE_GLOBAL 0
14#define FORM_MODE_COURSE 1
15
17extern float form_prox;
18extern uint8_t form_mode;
19extern uint8_t leader_id;
20
22
23struct slot_ {
25 float east;
26 float north;
27 float alt;
28};
29
30extern struct slot_ formation[];
31
32extern int formation_init(void);
33
34extern int add_slot(uint8_t _id, float slot_e, float slot_n, float slot_a);
35
36static inline void updateSlot(uint8_t id, float se, float sn, float sa)
37{
41}
42
44
45static inline void parseFormationStatus(uint8_t *buf)
46{
50 if (ac_id == AC_ID) { leader_id = leader; }
51 else if (leader == leader_id) { updateFormationStatus(ac_id, status); }
52 else { updateFormationStatus(ac_id, UNSET); }
53}
54
65
66extern int start_formation(void);
67extern int stop_formation(void);
68extern int formation_flight(void);
69extern void formation_pre_call(void);
70
71#endif /* FORMATION_H */
static uint8_t status
static void parseFormationSlot(uint8_t *buf)
Definition formation.h:55
enum slot_status status
Definition formation.h:24
struct slot_ formation[]
Definition formation.c:32
int formation_flight(void)
Definition formation.c:124
slot_status
Definition formation.h:21
@ LOST
Definition formation.h:21
@ ACTIVE
Definition formation.h:21
@ UNSET
Definition formation.h:21
@ IDLE
Definition formation.h:21
float alt
Definition formation.h:27
float coef_form_pos
Definition formation.h:16
float coef_form_course
Definition formation.h:16
float east
Definition formation.h:25
uint8_t leader_id
Definition formation.c:29
static void updateSlot(uint8_t id, float se, float sn, float sa)
Definition formation.h:36
int add_slot(uint8_t _id, float slot_e, float slot_n, float slot_a)
Definition formation.c:80
int start_formation(void)
Definition formation.c:91
uint8_t form_mode
Definition formation.c:28
float north
Definition formation.h:26
static void updateFormationStatus(uint8_t id, uint8_t status)
Definition formation.h:43
float coef_form_speed
Definition formation.h:16
static void parseFormationStatus(uint8_t *buf)
Definition formation.h:45
float form_prox
Definition formation.c:23
float coef_form_alt
Definition formation.c:27
int formation_init(void)
Definition formation.c:62
void formation_pre_call(void)
Definition formation.c:254
int stop_formation(void)
Definition formation.c:106
uint8_t ti_acs_id[NB_ACS_ID]
uint16_t foo
Definition main_demo5.c:58
static uint8_t mode
mode holds the current sonar mode mode = 0 used at high altitude, uses 16 wave patterns mode = 1 used...
Definition sonar_bebop.c:65
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.