Paparazzi UAS  v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
common_nav.c File Reference
#include "subsystems/navigation/common_nav.h"
#include "generated/flight_plan.h"
#include "subsystems/ins.h"
#include "math/pprz_geodetic_float.h"
+ Include dependency graph for common_nav.c:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void compute_dist2_to_home (void)
 Computes squared distance to the HOME waypoint. More...
 
unit_t nav_reset_utm_zone (void)
 Reset the UTM zone to current GPS fix. More...
 
unit_t nav_reset_reference (void)
 Reset the geographic reference to the current GPS fix. More...
 
unit_t nav_reset_alt (void)
 Reset the altitude reference to the current GPS alt. More...
 
unit_t nav_update_waypoints_alt (void)
 Shift altitude of the waypoint according to a new ground altitude. More...
 
void common_nav_periodic_task_4Hz ()
 
void nav_move_waypoint (uint8_t wp_id, float ux, float uy, float alt)
 Move a waypoint to given UTM coordinates. More...
 

Variables

float dist2_to_home
 squared distance to home waypoint More...
 
float dist2_to_wp
 squared distance to next waypoint More...
 
bool too_far_from_home
 
const uint8_t nb_waypoint = NB_WAYPOINT
 
struct point waypoints [NB_WAYPOINT] = WAYPOINTS_UTM
 size == nb_waypoint, waypoint 0 is a dummy waypoint More...
 
float ground_alt
 size == nb_waypoint, waypoint 0 is a dummy waypoint More...
 
int32_t nav_utm_east0 = NAV_UTM_EAST0
 
int32_t nav_utm_north0 = NAV_UTM_NORTH0
 
uint8_t nav_utm_zone0 = NAV_UTM_ZONE0
 
float max_dist_from_home = MAX_DIST_FROM_HOME
 
static float previous_ground_alt
 

Function Documentation

void common_nav_periodic_task_4Hz ( void  )

Definition at line 124 of file common_nav.c.

References block_time, and stage_time.

Referenced by navigation_task().

+ Here is the caller graph for this function:

void compute_dist2_to_home ( void  )

Computes squared distance to the HOME waypoint.

Computes squared distance to the HOME waypoint potentially sets too_far_from_home.

Updates dist2_to_home and potentially sets too_far_from_home

Definition at line 50 of file common_nav.c.

References dist2_to_home, get_dist2_to_waypoint(), max_dist2_from_home, stateGetPositionEnu_f(), too_far_from_home, point::x, EnuCoor_f::x, point::y, and EnuCoor_f::y.

+ Here is the call graph for this function:

void nav_move_waypoint ( uint8_t  wp_id,
float  ux,
float  uy,
float  alt 
)

Move a waypoint to given UTM coordinates.

Parameters
[in]wp_idWaypoint ID
[in]uxUTM x (east) coordinate
[in]uyUTM y (north) coordinate
[in]altAltitude above MSL.

Definition at line 135 of file common_nav.c.

References point::a, UtmCoor_f::alt, max_dist_from_home, nav_utm_east0, nav_utm_north0, nb_waypoint, point::x, and point::y.

Referenced by firmware_parse_msg().

+ Here is the caller graph for this function:

unit_t nav_reset_alt ( void  )

Reset the altitude reference to the current GPS alt.

Definition at line 103 of file common_nav.c.

References UtmCoor_f::alt, ground_alt, ins_reset_altitude_ref(), previous_ground_alt, state, State::utm_origin_f, and waypoints_localize_all().

+ Here is the call graph for this function:

unit_t nav_reset_reference ( void  )

Reset the geographic reference to the current GPS fix.

Definition at line 85 of file common_nav.c.

References UtmCoor_f::alt, UtmCoor_f::east, ground_alt, ins_reset_local_origin(), nav_utm_east0, nav_utm_north0, nav_utm_zone0, UtmCoor_f::north, previous_ground_alt, state, State::utm_origin_f, waypoints_localize_all(), and UtmCoor_f::zone.

+ Here is the call graph for this function:

unit_t nav_reset_utm_zone ( void  )

Reset the UTM zone to current GPS fix.

Definition at line 66 of file common_nav.c.

References UtmCoor_f::alt, UtmCoor_f::east, ground_alt, ins_reset_utm_zone(), nav_utm_east0, nav_utm_north0, nav_utm_zone0, UtmCoor_f::north, and UtmCoor_f::zone.

+ Here is the call graph for this function:

unit_t nav_update_waypoints_alt ( void  )

Shift altitude of the waypoint according to a new ground altitude.

Definition at line 115 of file common_nav.c.

References point::a, ground_alt, and previous_ground_alt.

Variable Documentation

float dist2_to_home

squared distance to home waypoint

Definition at line 32 of file common_nav.c.

Referenced by compute_dist2_to_home().

float dist2_to_wp

squared distance to next waypoint

Definition at line 33 of file common_nav.c.

float max_dist_from_home = MAX_DIST_FROM_HOME

Definition at line 45 of file common_nav.c.

Referenced by nav_move_waypoint().

const uint8_t nb_waypoint = NB_WAYPOINT

Definition at line 37 of file common_nav.c.

Referenced by cam_waypoint_target(), nav_move_waypoint(), and send_wp_moved().

float previous_ground_alt
static

Definition at line 63 of file common_nav.c.

Referenced by nav_reset_alt(), nav_reset_reference(), and nav_update_waypoints_alt().

bool too_far_from_home

Definition at line 35 of file common_nav.c.

Referenced by compute_dist2_to_home().