28 #include "generated/flight_plan.h"
53 float ph_x = waypoints[WP_HOME].
x - pos->
x;
54 float ph_y = waypoints[WP_HOME].
y - pos->
y;
57 #ifdef InGeofenceSector
72 if (dist_to_home > 1.f) {
79 float wind_to_home = (wind.
x * vect_to_home.
x + wind.
y * vect_to_home.
y) / dist_to_home;
81 float airspeed = NOMINAL_AIRSPEED;
86 float gspeed_to_home = wind_to_home + airspeed;
87 if (gspeed_to_home > 1.) {
88 return dist_to_home / gspeed_to_home;
147 for (i = 0; i < NB_WAYPOINT; i++) {
171 waypoints[wp_id].
x = waypoints[WP_HOME].
x + dx;
172 waypoints[wp_id].
y = waypoints[WP_HOME].
y + dy;
173 waypoints[wp_id].
a =
alt;
void WEAK ins_reset_utm_zone(struct UtmCoor_f *utm)
INS utm zone reset.
float alt
in meters (above WGS84 reference ellipsoid or above MSL)
float ground_alt
size == nb_waypoint, waypoint 0 is a dummy waypoint
void ins_reset_local_origin(void)
local implemetation of the ins_reset functions
void compute_dist2_to_home(void)
Computes squared distance to the HOME waypoint.
vector in East North Up coordinates Units: meters
static float stateGetAirspeed_f(void)
Get airspeed (float).
void nav_update_waypoints_alt(void)
Shift altitude of the waypoint according to a new ground altitude.
Integrated Navigation System interface.
void nav_reset_reference(void)
Reset the geographic reference to the current GPS fix.
static bool stateIsAirspeedValid(void)
test if air speed is available.
static float previous_ground_alt
void nav_reset_alt(void)
Reset the altitude reference to the current GPS alt.
void nav_move_waypoint(uint8_t wp_id, float ux, float uy, float alt)
Move a waypoint to given UTM coordinates.
position in UTM coordinates Units: meters
float dist2_to_home
squared distance to home waypoint
static struct EnuCoor_f * stateGetPositionEnu_f(void)
Get position in local ENU coordinates (float).
static bool stateIsWindspeedValid(void)
test if wind speed is available.
Paparazzi floating point math for geodetic calculations.
void common_nav_periodic_task_4Hz()
static float float_vect2_norm(struct FloatVect2 *v)
void nav_reset_utm_zone(void)
Reset the UTM zone to current GPS fix.
uint8_t zone
UTM zone number.
struct UtmCoor_f utm_origin_f
Definition of the origin of Utm coordinate system.
const uint8_t nb_waypoint
float get_time_to_home(void)
Compute time to home use wind and airspeed when available.
struct point waypoints[NB_WAYPOINT]
size == nb_waypoint, waypoint 0 is a dummy waypoint
static struct FloatVect2 * stateGetHorizontalWindspeed_f(void)
Get horizontal windspeed (float).
float dist2_to_wp
squared distance to next waypoint
void ins_reset_altitude_ref(void)
INS altitude reference reset.