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... | |
Macros | |
#define | CM_OF_M(_m) ((_m)*1e2) |
#define | M_OF_CM(_cm) ((_cm)/1e2) |
#define | MM_OF_M(_m) ((_m)*1e3) |
#define | M_OF_MM(_mm) ((_mm)/1e3) |
#define | EM7RAD_OF_RAD(_r) ((_r)*1e7) |
#define | RAD_OF_EM7RAD(_r) ((_r)/1e7) |
#define | EM7DEG_OF_DEG(_r) ((_r)*1e7) |
#define | DEG_OF_EM7DEG(_r) ((_r)/1e7) |
#define | EM7DEG_OF_RAD(_r) (DegOfRad(_r)*1e7) |
#define | RAD_OF_EM7DEG(_r) (RadOfDeg(_r)/1e7) |
#define | HIGH_RES_TRIG_FRAC 20 |
#define | VECT3_ENU_OF_NED(_o, _i) |
#define | VECT3_NED_OF_ENU(_o, _i) VECT3_ENU_OF_NED(_o,_i) |
#define | INT32_VECT3_NED_OF_ENU(_o, _i) VECT3_ENU_OF_NED(_o,_i) |
#define | INT32_VECT3_ENU_OF_NED(_o, _i) VECT3_ENU_OF_NED(_o,_i) |
#define | VECT3_CM_OF_REAL(_o, _i) |
#define | VECT3_FLOAT_OF_CM(_o, _i) |
#define | VECT3_DOUBLE_OF_CM(_o, _i) |
#define | ECEF_BFP_OF_REAL(_o, _i) VECT3_CM_OF_REAL(_o, _i) |
#define | ECEF_FLOAT_OF_BFP(_o, _i) VECT3_FLOAT_OF_CM(_o, _i) |
#define | ECEF_DOUBLE_OF_BFP(_o, _i) VECT3_DOUBLE_OF_CM(_o, _i) |
#define | LLA_BFP_OF_REAL(_o, _i) |
#define | LLA_FLOAT_OF_BFP(_o, _i) |
#define | LLA_DOUBLE_OF_BFP(_o, _i) |
#define | NED_BFP_OF_REAL(_o, _i) |
#define | ENU_BFP_OF_REAL(_o, _i) NED_BFP_OF_REAL(_o, _i) |
#define | NED_FLOAT_OF_BFP(_o, _i) |
#define | ENU_FLOAT_OF_BFP(_o, _i) NED_FLOAT_OF_BFP(_o, _i) |
#define | INT32_VECT2_ENU_OF_NED(_o, _i) |
#define | INT32_VECT2_NED_OF_ENU(_o, _i) INT32_VECT2_ENU_OF_NED(_o,_i) |
#define | HIGH_RES_RMAT_BFP_OF_REAL(_ei, _ef) |
#define | HIGH_RES_RMAT_FLOAT_OF_BFP(_ef, _ei) |
#define | HIGH_RES_RMAT_DOUBLE_OF_BFP(_ef, _ei) |
#define | UTM_FLOAT_OF_BFP(_o, _i) |
#define | UTM_DOUBLE_OF_BFP(_o, _i) |
#define | UTM_BFP_OF_REAL(_o, _i) |
Functions | |
void | lla_of_utm_i (struct LlaCoor_i *lla, struct UtmCoor_i *utm) |
Convert a UTM to LLA. More... | |
void | utm_of_lla_i (struct UtmCoor_i *utm, struct LlaCoor_i *lla) |
Convert a LLA to UTM. More... | |
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. More... | |
void | ecef_of_lla_i (struct EcefCoor_i *out, struct LlaCoor_i *in) |
Convert a LLA to ECEF. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. |
#define CM_OF_M | ( | _m | ) | ((_m)*1e2) |
Definition at line 131 of file pprz_geodetic_int.h.
#define DEG_OF_EM7DEG | ( | _r | ) | ((_r)/1e7) |
Definition at line 138 of file pprz_geodetic_int.h.
#define ECEF_BFP_OF_REAL | ( | _o, | |
_i | |||
) | VECT3_CM_OF_REAL(_o, _i) |
Definition at line 172 of file pprz_geodetic_int.h.
#define ECEF_DOUBLE_OF_BFP | ( | _o, | |
_i | |||
) | VECT3_DOUBLE_OF_CM(_o, _i) |
Definition at line 174 of file pprz_geodetic_int.h.
#define ECEF_FLOAT_OF_BFP | ( | _o, | |
_i | |||
) | VECT3_FLOAT_OF_CM(_o, _i) |
Definition at line 173 of file pprz_geodetic_int.h.
#define EM7DEG_OF_DEG | ( | _r | ) | ((_r)*1e7) |
Definition at line 137 of file pprz_geodetic_int.h.
#define EM7DEG_OF_RAD | ( | _r | ) | (DegOfRad(_r)*1e7) |
Definition at line 139 of file pprz_geodetic_int.h.
#define EM7RAD_OF_RAD | ( | _r | ) | ((_r)*1e7) |
Definition at line 135 of file pprz_geodetic_int.h.
#define ENU_BFP_OF_REAL | ( | _o, | |
_i | |||
) | NED_BFP_OF_REAL(_o, _i) |
Definition at line 199 of file pprz_geodetic_int.h.
#define ENU_FLOAT_OF_BFP | ( | _o, | |
_i | |||
) | NED_FLOAT_OF_BFP(_o, _i) |
Definition at line 207 of file pprz_geodetic_int.h.
#define HIGH_RES_RMAT_BFP_OF_REAL | ( | _ei, | |
_ef | |||
) |
Definition at line 216 of file pprz_geodetic_int.h.
#define HIGH_RES_RMAT_DOUBLE_OF_BFP | ( | _ef, | |
_ei | |||
) |
Definition at line 240 of file pprz_geodetic_int.h.
#define HIGH_RES_RMAT_FLOAT_OF_BFP | ( | _ef, | |
_ei | |||
) |
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.
#define INT32_VECT2_ENU_OF_NED | ( | _o, | |
_i | |||
) |
Definition at line 209 of file pprz_geodetic_int.h.
#define INT32_VECT2_NED_OF_ENU | ( | _o, | |
_i | |||
) | INT32_VECT2_ENU_OF_NED(_o,_i) |
Definition at line 214 of file pprz_geodetic_int.h.
#define INT32_VECT3_ENU_OF_NED | ( | _o, | |
_i | |||
) | VECT3_ENU_OF_NED(_o,_i) |
Definition at line 152 of file pprz_geodetic_int.h.
#define INT32_VECT3_NED_OF_ENU | ( | _o, | |
_i | |||
) | VECT3_ENU_OF_NED(_o,_i) |
Definition at line 151 of file pprz_geodetic_int.h.
#define LLA_BFP_OF_REAL | ( | _o, | |
_i | |||
) |
Definition at line 176 of file pprz_geodetic_int.h.
#define LLA_DOUBLE_OF_BFP | ( | _o, | |
_i | |||
) |
Definition at line 188 of file pprz_geodetic_int.h.
#define LLA_FLOAT_OF_BFP | ( | _o, | |
_i | |||
) |
Definition at line 182 of file pprz_geodetic_int.h.
#define M_OF_CM | ( | _cm | ) | ((_cm)/1e2) |
Definition at line 132 of file pprz_geodetic_int.h.
#define M_OF_MM | ( | _mm | ) | ((_mm)/1e3) |
Definition at line 134 of file pprz_geodetic_int.h.
#define MM_OF_M | ( | _m | ) | ((_m)*1e3) |
Definition at line 133 of file pprz_geodetic_int.h.
#define NED_BFP_OF_REAL | ( | _o, | |
_i | |||
) |
Definition at line 193 of file pprz_geodetic_int.h.
#define NED_FLOAT_OF_BFP | ( | _o, | |
_i | |||
) |
Definition at line 201 of file pprz_geodetic_int.h.
#define RAD_OF_EM7DEG | ( | _r | ) | (RadOfDeg(_r)/1e7) |
Definition at line 140 of file pprz_geodetic_int.h.
#define RAD_OF_EM7RAD | ( | _r | ) | ((_r)/1e7) |
Definition at line 136 of file pprz_geodetic_int.h.
#define UTM_BFP_OF_REAL | ( | _o, | |
_i | |||
) |
Definition at line 266 of file pprz_geodetic_int.h.
#define UTM_DOUBLE_OF_BFP | ( | _o, | |
_i | |||
) |
Definition at line 259 of file pprz_geodetic_int.h.
#define UTM_FLOAT_OF_BFP | ( | _o, | |
_i | |||
) |
Definition at line 252 of file pprz_geodetic_int.h.
#define VECT3_CM_OF_REAL | ( | _o, | |
_i | |||
) |
#define VECT3_DOUBLE_OF_CM | ( | _o, | |
_i | |||
) |
Definition at line 166 of file pprz_geodetic_int.h.
#define VECT3_ENU_OF_NED | ( | _o, | |
_i | |||
) |
Definition at line 144 of file pprz_geodetic_int.h.
#define VECT3_FLOAT_OF_CM | ( | _o, | |
_i | |||
) |
Definition at line 160 of file pprz_geodetic_int.h.
#define VECT3_NED_OF_ENU | ( | _o, | |
_i | |||
) | VECT3_ENU_OF_NED(_o,_i) |
Definition at line 150 of file pprz_geodetic_int.h.
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.
[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 LtpDef_i::ecef, ecef_of_enu_vect_i(), and VECT3_ADD.
Referenced by ecef_of_ned_point_i(), and gps_datalink_publish().
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.
[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 LtpDef_i::ecef, ecef_of_enu_vect_i(), INT32_POS_FRAC, INT32_VECT3_RSHIFT, VECT3_ADD, and VECT3_SMUL.
Referenced by ecef_of_ned_pos_i(), stateCalcPositionLla_i(), and waypoint_globalize().
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.
[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 HIGH_RES_TRIG_FRAC, LtpDef_i::ltp_of_ecef, Int32RMat::m, EcefCoor_i::x, EnuCoor_i::x, EcefCoor_i::y, EnuCoor_i::y, EcefCoor_i::z, and EnuCoor_i::z.
Referenced by ecef_of_enu_point_i(), ecef_of_enu_pos_i(), ecef_of_ned_vect_i(), and gps_datalink_publish().
void ecef_of_lla_i | ( | struct EcefCoor_i * | out, |
struct LlaCoor_i * | in | ||
) |
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(), LLA_DOUBLE_OF_BFP, and LLA_FLOAT_OF_BFP.
Referenced by 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().
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.
[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(), and ENU_OF_TO_NED.
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.
[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(), and ENU_OF_TO_NED.
Referenced by stateCalcPositionEcef_f(), stateCalcPositionEcef_i(), and stateCalcPositionLla_i().
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.
[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(), and ENU_OF_TO_NED.
Referenced by nmea_parse_perdcrv(), stateCalcAccelEcef_i(), and stateCalcSpeedEcef_i().
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.
[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 LtpDef_i::ecef, HIGH_RES_TRIG_FRAC, LtpDef_i::ltp_of_ecef, Int32RMat::m, VECT3_DIFF, EcefCoor_i::x, EnuCoor_i::x, EcefCoor_i::y, EnuCoor_i::y, EcefCoor_i::z, and EnuCoor_i::z.
Referenced by enu_of_ecef_pos_i(), enu_of_lla_point_i(), and ned_of_ecef_point_i().
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.
[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(), 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().
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.
[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 HIGH_RES_TRIG_FRAC, LtpDef_i::ltp_of_ecef, Int32RMat::m, EcefCoor_i::x, EnuCoor_i::x, EcefCoor_i::y, EnuCoor_i::y, EcefCoor_i::z, and EnuCoor_i::z.
Referenced by enu_of_lla_vect_i(), ned_of_ecef_vect_i(), and stateCalcSpeedEnu_i().
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(), and enu_of_ecef_point_i().
Referenced by acInfoCalcPositionEnu_f(), acInfoCalcPositionEnu_i(), follow_me_periodic(), mission_point_of_lla(), and waypoint_localize().
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(), and enu_of_ecef_pos_i().
Referenced by stateCalcPositionEnu_i().
Definition at line 338 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), and enu_of_ecef_vect_i().
void lla_of_ecef_i | ( | struct LlaCoor_i * | out, |
struct EcefCoor_i * | in | ||
) |
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, LLA_BFP_OF_REAL, lla_of_ecef_d(), and lla_of_ecef_f().
Referenced by gps_datalink_publish(), 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 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().
void ltp_def_from_ecef_i | ( | struct LtpDef_i * | def, |
struct EcefCoor_i * | ecef | ||
) |
Definition at line 60 of file pprz_geodetic_int.c.
References LtpDef_i::ecef, LtpDef_i::lla, lla_of_ecef_i(), LtpDef_i::ltp_of_ecef, ltp_of_ecef_rmat_from_lla_i(), and VECT3_COPY.
Referenced by gps_skytraq_read_message(), ins_ext_pose_init_from_flightplan(), ins_float_invariant_init(), ins_flow_init(), ins_gps_passthrough_init(), ins_mekf_wind_wrapper_init(), ins_reset_local_origin(), and nmea_parse_perdcrv().
Definition at line 72 of file pprz_geodetic_int.c.
References LtpDef_i::ecef, ecef_of_lla_i(), LtpDef_i::lla, LLA_COPY, LtpDef_i::ltp_of_ecef, and ltp_of_ecef_rmat_from_lla_i().
Referenced by dw1000_arduino_init(), gps_datalink_init(), ins_ekf2_init(), ins_ekf2_update(), ins_init_origin_i_from_flightplan(), ins_reset_altitude_ref(), ins_reset_local_origin(), and sensors_hitl_parse_HITL_GPS().
Definition at line 34 of file pprz_geodetic_int.c.
References BFP_OF_REAL, 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().
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.
[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(), and ENU_OF_TO_NED.
Referenced by gps_cb(), ins_float_invariant_update_gps(), ins_int_update_gps(), ins_module_update_gps(), and ned_of_lla_point_i().
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.
[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(), and ENU_OF_TO_NED.
Referenced by ned_of_lla_pos_i(), stateCalcPositionNed_f(), and stateCalcPositionNed_i().
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.
[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(), and ENU_OF_TO_NED.
Referenced by gps_cb(), gps_skytraq_read_message(), ins_int_update_gps(), ins_module_update_gps(), ned_of_lla_vect_i(), sensors_hitl_parse_HITL_GPS(), stateCalcAccelNed_i(), stateCalcHorizontalSpeedNorm_i(), and stateCalcSpeedNed_i().
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(), 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().
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(), and ned_of_ecef_pos_i().
Referenced by stateCalcPositionNed_i().
Definition at line 345 of file pprz_geodetic_int.c.
References ecef_of_lla_i(), 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 LLA_DOUBLE_OF_BFP, LLA_FLOAT_OF_BFP, UTM_BFP_OF_REAL, utm_of_lla_d(), utm_of_lla_f(), UtmCoor_d::zone, UtmCoor_f::zone, and UtmCoor_i::zone.
Referenced by acInfoCalcPositionUtm_f(), acInfoCalcPositionUtm_i(), and set_ac_info_utm().