Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Data Structures | |
struct | Waypoint |
Macros | |
#define | WP_FLAG_GLOBAL 0 |
#define | WP_FLAG_ENU_I 1 |
#define | WP_FLAG_ENU_F 2 |
#define | WP_FLAG_LLA_I 3 |
#define | WaypointX(_wp) waypoint_get_x(_wp) |
#define | WaypointY(_wp) waypoint_get_y(_wp) |
#define | WaypointAlt(_wp) waypoint_get_alt(_wp) |
#define | Height(_h) (_h) |
Functions | |
void | waypoints_init (void) |
initialize global and local waypoints More... | |
bool | waypoint_is_global (uint8_t wp_id) |
void | waypoint_set_global_flag (uint8_t wp_id) |
void | waypoint_clear_global_flag (uint8_t wp_id) |
float | waypoint_get_x (uint8_t wp_id) |
Get X/East coordinate of waypoint in meters. More... | |
float | waypoint_get_y (uint8_t wp_id) |
Get Y/North coordinate of waypoint in meters. More... | |
float | waypoint_get_alt (uint8_t wp_id) |
Get altitude of waypoint in meters (above reference) More... | |
struct LlaCoor_i * | waypoint_get_lla (uint8_t wp_id) |
Get LLA coordinates of waypoint. More... | |
void | waypoint_set_enu (uint8_t wp_id, struct EnuCoor_f *enu) |
Set local ENU waypoint coordinates. More... | |
void | waypoint_set_alt (uint8_t wp_id, float alt) |
Set altitude of waypoint in meters (above reference) More... | |
void | waypoint_set_here (uint8_t wp_id) |
set waypoint to current location and altitude More... | |
void | waypoint_set_here_2d (uint8_t wp_id) |
set waypoint to current horizontal location without modifying altitude More... | |
void | waypoint_set_enu_i (uint8_t wp_id, struct EnuCoor_i *enu) |
void | waypoint_set_xy_i (uint8_t wp_id, int32_t x, int32_t y) |
Set only local XY coordinates of waypoint without update altitude. More... | |
void | waypoint_set_alt_i (uint8_t wp_id, int32_t alt) |
void | waypoint_set_lla (uint8_t wp_id, struct LlaCoor_i *lla) |
void | waypoint_set_latlon (uint8_t wp_id, struct LlaCoor_i *lla) |
set waypoint latitude/longitude without updating altitude More... | |
void | waypoint_copy (uint8_t wp_dest, uint8_t wp_src) |
copy one waypoint to another, this includes all flags from the source waypoint More... | |
void | waypoint_position_copy (uint8_t wp_dest, uint8_t wp_src) |
void | waypoint_move_enu_i (uint8_t wp_id, struct EnuCoor_i *new_pos) |
void | waypoint_move_lla (uint8_t wp_id, struct LlaCoor_i *lla) |
void | waypoint_globalize (uint8_t wp_id) |
update global LLA coordinates from its ENU coordinates More... | |
void | waypoint_localize (uint8_t wp_id) |
update local ENU coordinates from its LLA coordinates More... | |
void | waypoints_localize_all (void) |
update local ENU coordinates of all global waypoints More... | |
Variables | |
const uint8_t | nb_waypoint |
struct Waypoint | waypoints [] |
size == nb_waypoint, waypoint 0 is a dummy waypoint More... | |
struct Waypoint |
Definition at line 38 of file waypoints.h.
Data Fields | ||
---|---|---|
struct EnuCoor_f | enu_f | |
struct EnuCoor_i | enu_i | with INT32_POS_FRAC |
uint8_t | flags | bitmask encoding valid representations and if local or global |
struct LlaCoor_i | lla |
#define Height | ( | _h | ) | (_h) |
Definition at line 53 of file waypoints.h.
#define WaypointAlt | ( | _wp | ) | waypoint_get_alt(_wp) |
Definition at line 52 of file waypoints.h.
#define WaypointX | ( | _wp | ) | waypoint_get_x(_wp) |
Definition at line 50 of file waypoints.h.
#define WaypointY | ( | _wp | ) | waypoint_get_y(_wp) |
Definition at line 51 of file waypoints.h.
#define WP_FLAG_ENU_F 2 |
Definition at line 35 of file waypoints.h.
Referenced by waypoint_localize(), waypoint_set_enu(), and waypoint_set_enu_i().
#define WP_FLAG_ENU_I 1 |
Definition at line 34 of file waypoints.h.
Referenced by waypoint_localize(), waypoint_set_enu(), and waypoint_set_enu_i().
#define WP_FLAG_GLOBAL 0 |
Definition at line 33 of file waypoints.h.
Referenced by waypoint_clear_global_flag(), waypoint_is_global(), and waypoint_set_global_flag().
#define WP_FLAG_LLA_I 3 |
Definition at line 36 of file waypoints.h.
Referenced by waypoint_get_lla(), waypoint_globalize(), waypoint_set_enu(), waypoint_set_enu_i(), waypoint_set_latlon(), and waypoint_set_lla().
void waypoint_clear_global_flag | ( | uint8_t | wp_id | ) |
Definition at line 70 of file waypoints.c.
References nb_waypoint, waypoints, and WP_FLAG_GLOBAL.
copy one waypoint to another, this includes all flags from the source waypoint
Definition at line 295 of file waypoints.c.
References nb_waypoint, and waypoints.
Referenced by drop_zone_set().
float waypoint_get_alt | ( | uint8_t | wp_id | ) |
Get altitude of waypoint in meters (above reference)
Definition at line 93 of file waypoints.c.
References Waypoint::enu_f, nb_waypoint, waypoints, and EnuCoor_f::z.
Referenced by stereocam_droplet_periodic().
Get LLA coordinates of waypoint.
If the waypoint does not have its global coordinates set, the LLA representation is computed if the local origin is set.
wp_id | waypoint id |
Definition at line 282 of file waypoints.c.
References Waypoint::lla, nb_waypoint, waypoint_globalize(), waypoint_is_global(), waypoints, and WP_FLAG_LLA_I.
Referenced by mavlink_send_wp().
float waypoint_get_x | ( | uint8_t | wp_id | ) |
Get X/East coordinate of waypoint in meters.
Definition at line 77 of file waypoints.c.
References Waypoint::enu_f, nb_waypoint, waypoints, and EnuCoor_f::x.
Referenced by mission_point_of_lla(), and stereocam_droplet_periodic().
float waypoint_get_y | ( | uint8_t | wp_id | ) |
Get Y/North coordinate of waypoint in meters.
Definition at line 85 of file waypoints.c.
References Waypoint::enu_f, nb_waypoint, waypoints, and EnuCoor_f::y.
Referenced by mission_point_of_lla(), and stereocam_droplet_periodic().
void waypoint_globalize | ( | uint8_t | wp_id | ) |
update global LLA coordinates from its ENU coordinates
Definition at line 237 of file waypoints.c.
References ecef_of_enu_pos_i(), Waypoint::enu_i, lla_of_ecef_i(), State::ned_initialized_i, State::ned_origin_i, state, waypoints, and WP_FLAG_LLA_I.
Referenced by waypoint_get_lla(), waypoint_set_alt(), waypoint_set_alt_i(), waypoint_set_enu(), waypoint_set_enu_i(), and waypoint_set_xy_i().
bool waypoint_is_global | ( | uint8_t | wp_id | ) |
Definition at line 55 of file waypoints.c.
References nb_waypoint, waypoints, and WP_FLAG_GLOBAL.
Referenced by copilot_parse_move_wp_dl(), waypoint_get_lla(), waypoint_move_lla(), waypoint_set_here(), waypoint_set_here_2d(), and waypoints_localize_all().
void waypoint_localize | ( | uint8_t | wp_id | ) |
update local ENU coordinates from its LLA coordinates
Definition at line 248 of file waypoints.c.
References ENU_FLOAT_OF_BFP, Waypoint::enu_i, enu_of_lla_point_i(), Waypoint::lla, State::ned_initialized_i, State::ned_origin_i, POS_BFP_OF_REAL, state, waypoints, WP_FLAG_ENU_F, WP_FLAG_ENU_I, EnuCoor_i::x, EnuCoor_i::y, and EnuCoor_i::z.
Referenced by waypoint_set_latlon(), waypoint_set_lla(), and waypoints_localize_all().
Definition at line 125 of file waypoints.c.
References DefaultChannel, DefaultDevice, nb_waypoint, waypoint_set_enu_i(), EnuCoor_i::x, EnuCoor_i::y, and EnuCoor_i::z.
Definition at line 180 of file waypoints.c.
References LlaCoor_i::alt, DefaultChannel, DefaultDevice, Waypoint::enu_i, LtpDef_i::hmsl, LlaCoor_i::lat, LtpDef_i::lla, LlaCoor_i::lon, nb_waypoint, State::ned_origin_i, state, waypoint_is_global(), waypoint_set_lla(), waypoints, EnuCoor_i::y, and EnuCoor_i::z.
Referenced by firmware_parse_msg().
Definition at line 302 of file waypoints.c.
References Waypoint::enu_f, Waypoint::enu_i, LlaCoor_i::lat, Waypoint::lla, LlaCoor_i::lon, nb_waypoint, waypoints, EnuCoor_f::x, EnuCoor_i::x, EnuCoor_f::y, and EnuCoor_i::y.
void waypoint_set_alt | ( | uint8_t | wp_id, |
float | alt | ||
) |
Set altitude of waypoint in meters (above reference)
Definition at line 160 of file waypoints.c.
References LlaCoor_i::alt, Waypoint::enu_f, Waypoint::enu_i, nb_waypoint, POS_BFP_OF_REAL, waypoint_globalize(), waypoints, EnuCoor_f::z, and EnuCoor_i::z.
Referenced by follow_me().
Definition at line 150 of file waypoints.c.
References LlaCoor_i::alt, Waypoint::enu_f, Waypoint::enu_i, nb_waypoint, POS_FLOAT_OF_BFP, waypoint_globalize(), waypoints, EnuCoor_f::z, and EnuCoor_i::z.
Referenced by georeference_project().
Set local ENU waypoint coordinates.
Definition at line 113 of file waypoints.c.
References ENU_BFP_OF_REAL, Waypoint::enu_f, nb_waypoint, waypoint_globalize(), waypoints, WP_FLAG_ENU_F, WP_FLAG_ENU_I, and WP_FLAG_LLA_I.
Referenced by mavlink_wp_message_handler(), stereocam_droplet_periodic(), and waypoints_init().
Definition at line 101 of file waypoints.c.
References ENU_FLOAT_OF_BFP, Waypoint::enu_i, nb_waypoint, waypoint_globalize(), waypoints, WP_FLAG_ENU_F, WP_FLAG_ENU_I, and WP_FLAG_LLA_I.
Referenced by follow_wp(), waypoint_move_enu_i(), and waypoint_set_here().
void waypoint_set_global_flag | ( | uint8_t | wp_id | ) |
Definition at line 63 of file waypoints.c.
References nb_waypoint, waypoints, and WP_FLAG_GLOBAL.
Referenced by waypoints_init().
void waypoint_set_here | ( | uint8_t | wp_id | ) |
set waypoint to current location and altitude
Definition at line 212 of file waypoints.c.
References nb_waypoint, stateGetPositionEnu_i(), stateGetPositionLla_i(), waypoint_is_global(), waypoint_set_enu_i(), and waypoint_set_lla().
void waypoint_set_here_2d | ( | uint8_t | wp_id | ) |
set waypoint to current horizontal location without modifying altitude
Definition at line 225 of file waypoints.c.
References nb_waypoint, stateGetPositionEnu_i(), stateGetPositionLla_i(), waypoint_is_global(), waypoint_set_latlon(), and waypoint_set_xy_i().
Referenced by orange_avoider_periodic().
set waypoint latitude/longitude without updating altitude
Definition at line 200 of file waypoints.c.
References LlaCoor_i::lat, Waypoint::lla, LlaCoor_i::lon, nb_waypoint, waypoint_localize(), waypoints, and WP_FLAG_LLA_I.
Referenced by waypoint_set_here_2d().
Definition at line 170 of file waypoints.c.
References Waypoint::lla, nb_waypoint, waypoint_localize(), waypoints, and WP_FLAG_LLA_I.
Referenced by mavlink_wp_message_handler(), waypoint_move_lla(), waypoint_set_here(), and waypoints_init().
Set only local XY coordinates of waypoint without update altitude.
Definition at line 138 of file waypoints.c.
References Waypoint::enu_f, Waypoint::enu_i, nb_waypoint, POS_FLOAT_OF_BFP, waypoint_globalize(), waypoints, EnuCoor_f::x, EnuCoor_i::x, EnuCoor_f::y, and EnuCoor_i::y.
Referenced by georeference_filter(), georeference_project(), moveWaypoint(), run_avoid_navigation_onvision(), and waypoint_set_here_2d().
void waypoints_init | ( | void | ) |
initialize global and local waypoints
Definition at line 35 of file waypoints.c.
References Waypoint::flags, nb_waypoint, waypoint_set_enu(), waypoint_set_global_flag(), waypoint_set_lla(), and waypoints.
Referenced by nav_init().
void waypoints_localize_all | ( | void | ) |
update local ENU coordinates of all global waypoints
update local ENU coordinates of all global waypoints
Definition at line 265 of file waypoints.c.
References nb_waypoint, waypoint_is_global(), and waypoint_localize().
Referenced by main_init(), nav_reset_alt(), and nav_reset_reference().
const uint8_t nb_waypoint |
Definition at line 37 of file common_nav.c.
Referenced by cam_waypoint_target(), copilot_parse_move_wp_dl(), DownlinkSendWpNr(), nav_move_waypoint(), send_wp_moved(), waypoint_clear_global_flag(), waypoint_copy(), waypoint_get_alt(), waypoint_get_lla(), waypoint_get_x(), waypoint_get_y(), waypoint_is_global(), waypoint_move_enu_i(), waypoint_move_lla(), waypoint_position_copy(), waypoint_set_alt(), waypoint_set_alt_i(), waypoint_set_enu(), waypoint_set_enu_i(), waypoint_set_global_flag(), waypoint_set_here(), waypoint_set_here_2d(), waypoint_set_latlon(), waypoint_set_lla(), waypoint_set_xy_i(), waypoints_init(), and waypoints_localize_all().
struct Waypoint waypoints[] |
size == nb_waypoint, waypoint 0 is a dummy waypoint
Definition at line 38 of file common_nav.c.
Referenced by copilot_parse_move_wp_dl(), distributed_circular(), DownlinkSendWp(), firmware_parse_msg(), get_dist2_to_waypoint(), get_two_intersects(), gvf_ellipse_wp(), gvf_get_two_intersects(), gvf_line_wp1_wp2(), gvf_line_wp_heading(), gvf_nav_survey_polygon_setup(), gvf_segment_loop_wp1_wp2(), gvf_segment_wp1_wp2(), gvf_sin_wp1_wp2(), gvf_sin_wp_alpha(), mission_point_of_lla(), nav_compute_baseleg(), nav_compute_final_from_glide(), nav_cube_run(), nav_cube_setup(), nav_eight(), nav_flower_run(), nav_glide(), nav_home(), nav_init(), nav_line_border_run(), nav_line_osam_run(), nav_line_run(), nav_oval(), nav_skid_landing_glide(), nav_skid_landing_run(), nav_skid_landing_setup(), nav_spiral_setup(), nav_survey_computefourth_corner(), nav_survey_disc_run(), nav_survey_losange_carto(), nav_survey_losange_carto_init(), nav_survey_poly_osam_run(), nav_survey_poly_osam_setup(), nav_survey_poly_osam_setup_towards(), nav_survey_poly_run(), nav_survey_poly_setup(), nav_survey_poly_setup_towards(), nav_survey_polygon_setup(), nav_survey_rectangle(), nav_survey_rectangle_rotorcraft_run(), nav_survey_rectangle_rotorcraft_setup(), nav_survey_zamboni_setup(), nav_vertical_raster_run(), NavApproaching(), NavApproachingFrom(), NavCircleWaypoint(), NavGlide(), NavGotoWaypoint(), NavGotoWaypointHeading(), navigation_update_wp_from_speed(), NavSegment(), Oval(), rotorcraft_cam_periodic(), send_wp_moved(), vPoint(), waypoint_clear_global_flag(), waypoint_copy(), waypoint_get_alt(), waypoint_get_lla(), waypoint_get_x(), waypoint_get_y(), waypoint_globalize(), waypoint_is_global(), waypoint_localize(), waypoint_move_lla(), waypoint_position_copy(), waypoint_set_alt(), waypoint_set_alt_i(), waypoint_set_enu(), waypoint_set_enu_i(), waypoint_set_global_flag(), waypoint_set_latlon(), waypoint_set_lla(), waypoint_set_xy_i(), and waypoints_init().