|
Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the documentation of this file.
30 #ifndef MISSION_COMMON_H
31 #define MISSION_COMMON_H
81 #define MISSION_PATH_NB 5
92 #define MISSION_CUSTOM_MAX 12 // maximum number of parameters
93 #define MISSION_TYPE_SIZE 6
131 #ifndef MISSION_ELEMENT_NB
132 #define MISSION_ELEMENT_NB 20
138 #ifndef MISSION_REGISTER_NB
139 #define MISSION_REGISTER_NB 6
221 #endif // MISSION_COMMON_H
union _mission_element::@299 element
@ ReplaceAll
remove all elements and add the new one
bool mission_point_of_lla(struct EnuCoor_f *point, struct LlaCoor_i *lla)
Get the ENU component of LLA mission point This function is firmware specific.
uint8_t current_idx
current mission element index
int mission_parse_GOTO_WP_LLA(uint8_t *buf)
#define MISSION_TYPE_SIZE
bool mission_register(mission_custom_cb cb, char *type)
Register a new navigation or action callback function.
Paparazzi fixed point math for geodetic calculations.
bool(* mission_custom_cb)(uint8_t nb, float *params, bool init)
custom mission element callback
@ ReplaceCurrent
replace current element
struct _mission_element elements[MISSION_ELEMENT_NB]
@ ReplaceNexts
replace the next element and remove all the others
int mission_parse_END_MISSION(uint8_t *buf)
int mission_parse_NEXT_MISSION(uint8_t *buf)
#define MISSION_CUSTOM_MAX
void mission_init(void)
Init mission structure.
union _mission_segment::@297 to
@ Prepend
add before the current element
Paparazzi floating point math for geodetic calculations.
int mission_parse_PATH_LLA(uint8_t *buf)
uint8_t insert_idx
inserstion index
int mission_parse_CIRCLE_LLA(uint8_t *buf)
int mission_parse_SEGMENT_LLA(uint8_t *buf)
@ Append
add at the last position
bool mission_element_convert(struct _mission_element *el)
Convert mission element's points format if needed.
int mission_parse_CIRCLE(uint8_t *buf)
vector in East North Up coordinates Units: meters
struct _mission_element * mission_get(void)
Get current mission element.
struct _mission_registered registered[MISSION_REGISTER_NB]
int mission_parse_SEGMENT(uint8_t *buf)
mission_custom_cb cb
navigation/action function callback
int mission_parse_CUSTOM(uint8_t *buf)
struct _mission_registered * reg
pointer to a registered custom mission element
#define MISSION_ELEMENT_NB
Max number of elements in the tasks' list can be redefined.
bool mission_insert(enum MissionInsertMode insert, struct _mission_element *element)
Insert a mission element according to the insertion mode.
char type[MISSION_TYPE_SIZE]
mission element identifier (5 char max + 1 \0)
float params[MISSION_CUSTOM_MAX]
list of parameters
int mission_parse_PATH(uint8_t *buf)
union _mission_circle::@295 center
#define MISSION_REGISTER_NB
Max number of registered nav/action callbacks can be redefined.
int mission_parse_GOTO_MISSION(uint8_t *buf)
vector in Latitude, Longitude and Altitude
uint8_t index
index of mission element
int mission_parse_GOTO_WP(uint8_t *buf)
Parsing functions called when a mission message is received.
void mission_status_report(void)
Report mission status.
timer subsystem type(config options) --------------------------------------------(advanced timers using RCC_APB1) TIM1 adc(if USE_AD_TIM1) radio_control/ppm(if USE_PPM_TIM1
int mission_run(void)
Run mission.
uint8_t nb
number of parameters
float duration
time to spend in the element (<= 0 to disable)
union _mission_path::@298 path
vector in East North Up coordinates
union _mission_segment::@296 from
union _mission_wp::@294 wp
float element_time
time in second spend in the current element