Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nav_poles_rotorcraft.c File Reference

Turn around 2 points, with possible margins Can be used in mission mode. More...

+ Include dependency graph for nav_poles_rotorcraft.c:

Go to the source code of this file.

Functions

void nav_poles_init (void)
 Global init.
 
static bool compute_oval_points (struct EnuCoor_f *enu1, struct EnuCoor_f *enu2, float height, float radius, float margin)
 
bool nav_poles_setup_wp (uint8_t wp1, uint8_t wp2, float height, float radius, float margin, int8_t nb_laps)
 Init poles from flight plan waypoints.
 
bool nav_poles_setup_lla (struct LlaCoor_f *lla1, struct LlaCoor_f *lla2, float height, float radius, float margin, int8_t nb_laps)
 Init poles from waypoints coordinates in LLA format.
 
bool nav_poles_run (void)
 

Variables

uint8_t nav_poles_count = 0
 
static struct EnuCoor_f oval_wp1 oval_wp2
 
static float oval_radius
 
static int8_t nav_poles_nb_laps
 

Detailed Description

Turn around 2 points, with possible margins Can be used in mission mode.

Definition in file nav_poles_rotorcraft.c.

Function Documentation

◆ compute_oval_points()

static bool compute_oval_points ( struct EnuCoor_f enu1,
struct EnuCoor_f enu2,
float  height,
float  radius,
float  margin 
)
static

Definition at line 96 of file nav_poles_rotorcraft.c.

References foo, NavVerticalAltitudeMode, oval_radius, oval_wp2, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.

Referenced by nav_poles_setup_lla(), and nav_poles_setup_wp().

+ Here is the caller graph for this function:

◆ nav_poles_init()

void nav_poles_init ( void  )

Global init.

Definition at line 85 of file nav_poles_rotorcraft.c.

References foo, mission_register(), nav_poles_count, nav_poles_nb_laps, and oval_radius.

+ Here is the call graph for this function:

◆ nav_poles_run()

◆ nav_poles_setup_lla()

bool nav_poles_setup_lla ( struct LlaCoor_f lla1,
struct LlaCoor_f lla2,
float  height,
float  radius,
float  margin,
int8_t  nb_laps 
)

Init poles from waypoints coordinates in LLA format.

Parameters
[in]wp1waypoint LLA position
[in]wp2waypoint LLA position
[in]heightflight height above ref point
[in]radiusturn radius in meters, CW is >0, CCW otherwise
[in]marginmargin factor: 0 -> overfly points, 1 -> turn at 'radius' distance
[in]nb_lapsnumber of laps (<0 for no lap limit)
Returns
true if init valid

Definition at line 135 of file nav_poles_rotorcraft.c.

References compute_oval_points(), enu_of_lla_point_f(), foo, nav_poles_nb_laps, and stateGetNedOrigin_f().

+ Here is the call graph for this function:

◆ nav_poles_setup_wp()

bool nav_poles_setup_wp ( uint8_t  wp1,
uint8_t  wp2,
float  height,
float  radius,
float  margin,
int8_t  nb_laps 
)

Init poles from flight plan waypoints.

Parameters
[in]wp1waypoint ID
[in]wp2waypoint ID
[in]heightflight height above ref point
[in]radiusturn radius in meters, CW is >0, CCW otherwise
[in]marginmargin factor: 0 -> overfly points, 1 -> turn at 'radius' distance
Returns
true if init valid

Definition at line 123 of file nav_poles_rotorcraft.c.

References compute_oval_points(), foo, nav_poles_nb_laps, and waypoint_get_enu_f().

+ Here is the call graph for this function:

Variable Documentation

◆ nav_poles_count

uint8_t nav_poles_count = 0

Definition at line 34 of file nav_poles_rotorcraft.c.

Referenced by nav_poles_init(), and nav_poles_run().

◆ nav_poles_nb_laps

int8_t nav_poles_nb_laps
static

◆ oval_radius

float oval_radius
static

Definition at line 38 of file nav_poles_rotorcraft.c.

Referenced by compute_oval_points(), nav_poles_init(), and nav_poles_run().

◆ oval_wp2

struct EnuCoor_f oval_wp1 oval_wp2
static

Definition at line 37 of file nav_poles_rotorcraft.c.

Referenced by compute_oval_points(), and nav_poles_run().