![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Data Structures | |
struct | EcefCoor_i |
vector in EarthCenteredEarthFixed coordinates More... | |
struct | LlaCoor_i |
vector in Latitude, Longitude and Altitude More... | |
struct | NedCoor_i |
vector in North East Down coordinates More... | |
struct | EnuCoor_i |
vector in East North Up coordinates More... | |
struct | UtmCoor_i |
position in UTM coordinates More... | |
struct | LtpDef_i |
definition of the local (flat earth) coordinate system More... | |
Functions | |
void | lla_of_utm_i (struct LlaCoor_i *lla, struct UtmCoor_i *utm) |
Convert a UTM to LLA. | |
void | utm_of_lla_i (struct UtmCoor_i *utm, struct LlaCoor_i *lla) |
Convert a LLA to UTM. | |
void | ltp_of_ecef_rmat_from_lla_i (struct Int32RMat *ltp_of_ecef, struct LlaCoor_i *lla) |
void | ltp_def_from_ecef_i (struct LtpDef_i *def, struct EcefCoor_i *ecef) |
void | ltp_def_from_lla_i (struct LtpDef_i *def, struct LlaCoor_i *lla) |
void | lla_of_ecef_i (struct LlaCoor_i *out, struct EcefCoor_i *in) |
Convert a ECEF to LLA. | |
void | ecef_of_lla_i (struct EcefCoor_i *out, struct LlaCoor_i *in) |
Convert a LLA to ECEF. | |
void | enu_of_ecef_point_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Convert a point from ECEF to local ENU. | |
void | ned_of_ecef_point_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Convert a point from ECEF to local NED. | |
void | enu_of_ecef_pos_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Convert a ECEF position to local ENU. | |
void | ned_of_ecef_pos_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Convert a ECEF position to local NED. | |
void | enu_of_ecef_vect_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Rotate a vector from ECEF to ENU. | |
void | ned_of_ecef_vect_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct EcefCoor_i *ecef) |
Rotate a vector from ECEF to NED. | |
void | enu_of_lla_point_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct LlaCoor_i *lla) |
Convert a point from LLA to local ENU. | |
void | ned_of_lla_point_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct LlaCoor_i *lla) |
Convert a point from LLA to local NED. | |
void | enu_of_lla_pos_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct LlaCoor_i *lla) |
Convert a point from LLA to local ENU. | |
void | ned_of_lla_pos_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct LlaCoor_i *lla) |
Convert a point from LLA to local NED. | |
void | enu_of_lla_vect_i (struct EnuCoor_i *enu, struct LtpDef_i *def, struct LlaCoor_i *lla) |
void | ned_of_lla_vect_i (struct NedCoor_i *ned, struct LtpDef_i *def, struct LlaCoor_i *lla) |
void | ecef_of_enu_point_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct EnuCoor_i *enu) |
Convert a point in local ENU to ECEF. | |
void | ecef_of_ned_point_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct NedCoor_i *ned) |
Convert a point in local NED to ECEF. | |
void | ecef_of_enu_pos_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct EnuCoor_i *enu) |
Convert a local ENU position to ECEF. | |
void | ecef_of_ned_pos_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct NedCoor_i *ned) |
Convert a local NED position to ECEF. | |
void | ecef_of_enu_vect_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct EnuCoor_i *enu) |
Rotate a vector from ENU to ECEF. | |
void | ecef_of_ned_vect_i (struct EcefCoor_i *ecef, struct LtpDef_i *def, struct NedCoor_i *ned) |
Rotate a vector from NED to ECEF. | |
struct EcefCoor_i |
vector in EarthCenteredEarthFixed coordinates
Origin at center of mass of the Earth. Z-axis is pointing north, the x-axis intersects the sphere of the earth at 0° latitude (Equator) and 0° longitude (Greenwich). Y-axis completes it to right-hand system. Units: centimeters
Definition at line 50 of file pprz_geodetic_int.h.
Data Fields | ||
---|---|---|
int32_t | x | in centimeters |
int32_t | y | in centimeters |
int32_t | z | in centimeters |
struct LlaCoor_i |
vector in Latitude, Longitude and Altitude
Definition at line 59 of file pprz_geodetic_int.h.
Data Fields | ||
---|---|---|
int32_t | alt | in millimeters above WGS84 reference ellipsoid |
int32_t | lat | in degrees*1e7 |
int32_t | lon | in degrees*1e7 |
struct NedCoor_i |
vector in North East Down coordinates
Definition at line 68 of file pprz_geodetic_int.h.
Data Fields | ||
---|---|---|
int32_t | x | North. |
int32_t | y | East. |
int32_t | z | Down. |
struct EnuCoor_i |
vector in East North Up coordinates
Definition at line 77 of file pprz_geodetic_int.h.
Data Fields | ||
---|---|---|
int32_t | x | East. |
int32_t | y | North. |
int32_t | z | Up. |
struct UtmCoor_i |
struct LtpDef_i |
definition of the local (flat earth) coordinate system
Defines the origin of the local coordinate system in ECEF and LLA coordinates and the roation matrix from ECEF to local frame
Definition at line 98 of file pprz_geodetic_int.h.
Data Fields | ||
---|---|---|
struct EcefCoor_i | ecef | Reference point in ecef. |
int32_t | hmsl | Height above mean sea level in mm. |
struct LlaCoor_i | lla | Reference point in lla. |
struct Int32RMat | ltp_of_ecef | Rotation matrix. |
Definition at line 172 of file pprz_geodetic_int.h.
Definition at line 174 of file pprz_geodetic_int.h.
Definition at line 173 of file pprz_geodetic_int.h.
Definition at line 199 of file pprz_geodetic_int.h.
Definition at line 207 of file pprz_geodetic_int.h.
Definition at line 216 of file pprz_geodetic_int.h.
Definition at line 240 of file pprz_geodetic_int.h.
Definition at line 228 of file pprz_geodetic_int.h.
#define HIGH_RES_TRIG_FRAC 20 |
Definition at line 142 of file pprz_geodetic_int.h.
Definition at line 214 of file pprz_geodetic_int.h.
Definition at line 152 of file pprz_geodetic_int.h.
Definition at line 151 of file pprz_geodetic_int.h.
Definition at line 176 of file pprz_geodetic_int.h.
Definition at line 188 of file pprz_geodetic_int.h.
Definition at line 182 of file pprz_geodetic_int.h.
Definition at line 193 of file pprz_geodetic_int.h.
Definition at line 201 of file pprz_geodetic_int.h.
Definition at line 150 of file pprz_geodetic_int.h.
|
extern |
Convert a point in local ENU to ECEF.
[out] | ecef | ECEF point in cm |
[in] | def | local coordinate system definition |
[in] | enu | ENU point in cm |
Definition at line 238 of file pprz_geodetic_int.c.
References ecef_of_enu_vect_i(), foo, and VECT3_ADD.
Referenced by ecef_of_ned_point_i(), and gps_datalink_publish().
|
extern |
Convert a local ENU position to ECEF.
[out] | ecef | ECEF position in cm |
[in] | def | local coordinate system definition |
[in] | enu | ENU position in meter << INT32_POS_FRAC |
Definition at line 263 of file pprz_geodetic_int.c.
References ecef_of_enu_vect_i(), foo, INT32_POS_FRAC, INT32_VECT3_RSHIFT, VECT3_ADD, and VECT3_SMUL.
Referenced by ecef_of_ned_pos_i(), stateCalcPositionLla_i(), and waypoint_globalize().
|
extern |
Rotate a vector from ENU to ECEF.
[out] | ecef | vector in ECEF coordinate system |
[in] | def | local coordinate system definition |
[in] | enu | vector in ENU coordinate system |
Definition at line 199 of file pprz_geodetic_int.c.
References foo, HIGH_RES_TRIG_FRAC, EcefCoor_i::x, EcefCoor_i::y, and EcefCoor_i::z.
Referenced by ecef_of_enu_point_i(), ecef_of_enu_pos_i(), ecef_of_ned_vect_i(), and gps_datalink_publish().
|
extern |
Convert a LLA to ECEF.
[out] | out | ECEF in cm |
[in] | in | LLA in degrees*1e7 and mm above ellipsoid |
Definition at line 392 of file pprz_geodetic_int.c.
References ECEF_BFP_OF_REAL, ecef_of_lla_d(), ecef_of_lla_f(), foo, LLA_DOUBLE_OF_BFP, and LLA_FLOAT_OF_BFP.
Referenced by ecef_int_from_gps(), enu_of_lla_point_i(), enu_of_lla_pos_i(), enu_of_lla_vect_i(), ins_ext_pose_init_from_flightplan(), ins_float_invariant_init(), ins_flow_init(), ins_gps_passthrough_init(), ins_mekf_wind_wrapper_init(), ltp_def_from_lla_i(), ned_of_lla_point_i(), ned_of_lla_pos_i(), ned_of_lla_vect_i(), stateCalcPositionEcef_i(), stateCalcPositionEnu_f(), and stateCalcPositionNed_f().
|
extern |
Convert a point in local NED to ECEF.
[out] | ecef | ECEF point in cm |
[in] | def | local coordinate system definition |
[in] | ned | NED point in cm |
Definition at line 250 of file pprz_geodetic_int.c.
References ecef_of_enu_point_i(), ENU_OF_TO_NED, and foo.
|
extern |
Convert a local NED position to ECEF.
[out] | ecef | ECEF position in cm |
[in] | def | local coordinate system definition |
[in] | ned | NED position in meter << INT32_POS_FRAC |
Definition at line 283 of file pprz_geodetic_int.c.
References ecef_of_enu_pos_i(), ENU_OF_TO_NED, and foo.
Referenced by stateCalcPositionEcef_f(), stateCalcPositionEcef_i(), and stateCalcPositionLla_i().
|
extern |
Rotate a vector from NED to ECEF.
[out] | ecef | vector in ECEF coordinate system |
[in] | def | local coordinate system definition |
[in] | ned | vector in NED coordinate system |
Definition at line 225 of file pprz_geodetic_int.c.
References ecef_of_enu_vect_i(), ENU_OF_TO_NED, and foo.
Referenced by ecef_vel_int_from_gps(), nmea_parse_perdcrv(), stateCalcAccelEcef_i(), and stateCalcSpeedEcef_i().
|
extern |
Convert a point from ECEF to local ENU.
[out] | enu | ENU point in cm |
[in] | def | local coordinate system definition |
[in] | ecef | ECEF point in cm |
Definition at line 90 of file pprz_geodetic_int.c.
References foo, HIGH_RES_TRIG_FRAC, VECT3_DIFF, EcefCoor_i::x, EcefCoor_i::y, and EcefCoor_i::z.
Referenced by enu_of_ecef_pos_i(), enu_of_lla_point_i(), and ned_of_ecef_point_i().
|
extern |
Convert a ECEF position to local ENU.
[out] | enu | ENU position in meter << INT32_POS_FRAC |
[in] | def | local coordinate system definition |
[in] | ecef | ECEF position in cm |
Definition at line 129 of file pprz_geodetic_int.c.
References enu_of_ecef_point_i(), foo, INT32_POS_FRAC, INT32_VECT3_LSHIFT, and VECT3_SDIV.
Referenced by enu_of_lla_pos_i(), ned_of_ecef_pos_i(), stateCalcPositionEnu_f(), and stateCalcPositionEnu_i().
|
extern |
Rotate a vector from ECEF to ENU.
[out] | enu | vector in ENU coordinate system |
[in] | def | local coordinate system definition |
[in] | ecef | vector in ECEF coordinate system |
Definition at line 162 of file pprz_geodetic_int.c.
References foo, HIGH_RES_TRIG_FRAC, EcefCoor_i::x, EcefCoor_i::y, and EcefCoor_i::z.
Referenced by enu_of_lla_vect_i(), ned_of_ecef_vect_i(), and stateCalcSpeedEnu_i().
|
extern |
Convert a point from LLA to local ENU.
[out] | enu | ENU point in cm |
[in] | def | local coordinate system definition |
[in] | lla | LLA point in 1e7deg and mm |
Definition at line 295 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), enu_of_ecef_point_i(), and foo.
Referenced by acInfoCalcPositionEnu_f(), acInfoCalcPositionEnu_i(), follow_me_periodic(), mission_point_of_lla(), and waypoint_localize().
|
extern |
Convert a point from LLA to local ENU.
[out] | enu | ENU point in meter << INT32_POS_FRAC |
[in] | def | local coordinate system definition |
[in] | lla | LLA point in 1e7deg and mm |
Definition at line 319 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), enu_of_ecef_pos_i(), and foo.
Referenced by stateCalcPositionEnu_i().
|
extern |
Definition at line 338 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), enu_of_ecef_vect_i(), and foo.
|
extern |
Convert a ECEF to LLA.
[out] | out | LLA in degrees*1e7 and mm above ellipsoid |
[in] | in | ECEF in cm |
Definition at line 363 of file pprz_geodetic_int.c.
References ECEF_DOUBLE_OF_BFP, ECEF_FLOAT_OF_BFP, foo, LLA_BFP_OF_REAL, lla_of_ecef_d(), and lla_of_ecef_f().
Referenced by gps_datalink_publish(), lla_int_from_gps(), ltp_def_from_ecef_i(), stateCalcPositionLla_i(), and waypoint_globalize().
Convert a UTM to LLA.
[out] | lla | in degrees*1e7, alt is directly copied from utm |
[in] | utm | in cm, alt in mm |
Definition at line 452 of file pprz_geodetic_int.c.
References foo, LLA_BFP_OF_REAL, lla_of_utm_d(), lla_of_utm_f(), UTM_DOUBLE_OF_BFP, and UTM_FLOAT_OF_BFP.
Referenced by acInfoCalcPositionLla_f(), acInfoCalcPositionLla_i(), and set_ac_info_utm().
|
extern |
Definition at line 60 of file pprz_geodetic_int.c.
References foo, lla_of_ecef_i(), ltp_of_ecef_rmat_from_lla_i(), and VECT3_COPY.
Referenced by ecef_vel_int_from_gps(), gps_skytraq_read_message(), ins_ext_pose_init_from_flightplan(), ins_float_invariant_init(), ins_float_invariant_reset_ref(), ins_flow_init(), ins_gps_passthrough_init(), ins_mekf_wind_wrapper_init(), ned_vel_int_from_gps(), nmea_parse_perdcrv(), reset_cb(), reset_cb(), reset_ref(), reset_ref(), and reset_ref().
Definition at line 72 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), foo, LLA_COPY, and ltp_of_ecef_rmat_from_lla_i().
Referenced by dw1000_arduino_init(), ecef_vel_int_from_gps(), gps_datalink_init(), ins_ekf2_init(), ins_ekf2_update(), ins_float_invariant_reset_vertical_ref(), ins_init_origin_i_from_flightplan(), ned_vel_int_from_gps(), reset_ref(), reset_vertical_ref(), reset_vertical_ref(), reset_vertical_ref(), reset_vertical_ref(), and sensors_hitl_parse_HITL_GPS().
Definition at line 34 of file pprz_geodetic_int.c.
References BFP_OF_REAL, foo, HIGH_RES_TRIG_FRAC, LlaCoor_i::lat, LlaCoor_i::lon, Int32RMat::m, and RAD_OF_EM7DEG.
Referenced by ltp_def_from_ecef_i(), and ltp_def_from_lla_i().
|
extern |
Convert a point from ECEF to local NED.
[out] | ned | NED point in cm |
[in] | def | local coordinate system definition |
[in] | ecef | ECEF point in cm |
Definition at line 116 of file pprz_geodetic_int.c.
References enu_of_ecef_point_i(), ENU_OF_TO_NED, and foo.
Referenced by gps_cb(), gps_cb(), gps_cb(), ins_float_invariant_update_gps(), ins_int_update_gps(), ins_module_update_gps(), and ned_of_lla_point_i().
|
extern |
Convert a ECEF position to local NED.
[out] | ned | NED position in meter << INT32_POS_FRAC |
[in] | def | local coordinate system definition |
[in] | ecef | ECEF position in cm |
Definition at line 149 of file pprz_geodetic_int.c.
References enu_of_ecef_pos_i(), ENU_OF_TO_NED, and foo.
Referenced by ned_of_lla_pos_i(), stateCalcPositionNed_f(), and stateCalcPositionNed_i().
|
extern |
Rotate a vector from ECEF to NED.
[out] | ned | vector in NED coordinate system |
[in] | def | local coordinate system definition |
[in] | ecef | vector in ECEF coordinate system |
Definition at line 186 of file pprz_geodetic_int.c.
References enu_of_ecef_vect_i(), ENU_OF_TO_NED, and foo.
Referenced by gps_cb(), gps_cb(), gps_skytraq_read_message(), ins_int_update_gps(), ins_module_update_gps(), ned_of_lla_vect_i(), ned_vel_int_from_gps(), sensors_hitl_parse_HITL_GPS(), stateCalcAccelNed_i(), stateCalcHorizontalSpeedNorm_i(), and stateCalcSpeedNed_i().
|
extern |
Convert a point from LLA to local NED.
[out] | ned | NED point in cm |
[in] | def | local coordinate system definition |
[in] | lla | LLA point in 1e7deg and mm |
Definition at line 307 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), foo, and ned_of_ecef_point_i().
Referenced by follow_me_set_wp(), mavlink_common_message_handler(), target_get_pos(), and target_pos_set_current_offset().
|
extern |
Convert a point from LLA to local NED.
[out] | ned | NED point in meter << INT32_POS_FRAC |
[in] | def | local coordinate system definition |
[in] | lla | LLA point in 1e7deg and mm |
Definition at line 331 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), foo, and ned_of_ecef_pos_i().
Referenced by stateCalcPositionNed_i().
|
extern |
Definition at line 345 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), foo, and ned_of_ecef_vect_i().
Convert a LLA to UTM.
[out] | utm | in cm, alt is directly copied from lla |
[in] | lla | in degrees*1e7, alt in mm |
Definition at line 423 of file pprz_geodetic_int.c.
References foo, LLA_DOUBLE_OF_BFP, LLA_FLOAT_OF_BFP, UTM_BFP_OF_REAL, utm_of_lla_d(), utm_of_lla_f(), UtmCoor_d::zone, and UtmCoor_f::zone.
Referenced by acInfoCalcPositionUtm_f(), acInfoCalcPositionUtm_i(), set_ac_info_utm(), utm_float_from_gps(), and utm_int_from_gps().