49 float height = params[2];
50 float radius = params[3];
59 float height = params[4];
70 float radius = params[5];
100 float d =
sqrtf(dx * dx + dy * dy);
static struct LtpDef_f * stateGetNedOrigin_f(void)
Get the coordinate NED frame origin (float)
struct LlaCoor_f stateGetLlaOrigin_f(void)
Get the LLA position of the frame origin (float)
bool mission_register(mission_custom_cb cb, char *type)
Register a new navigation or action callback function.
struct EnuCoor_f * waypoint_get_enu_f(uint8_t wp_id)
Get ENU coordinates (float)
#define NavVerticalAltitudeMode(_alt, _pre_climb)
Set the vertical mode to altitude control with the specified altitude setpoint and climb pre-command.
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.
static int8_t nav_poles_nb_laps
static struct EnuCoor_f oval_wp1 oval_wp2
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)
Turn around 2 points, with possible margins Can be used in mission mode.
void enu_of_lla_point_f(struct EnuCoor_f *enu, struct LtpDef_f *def, struct LlaCoor_f *lla)
float alt
in meters (normally above WGS84 reference ellipsoid)
vector in East North Up coordinates Units: meters
vector in Latitude, Longitude and Altitude
struct RotorcraftNavigation nav
Rotorcraft navigation functions.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
signed char int8_t
Typedef defining 8 bit char type.