37 #if USE_DOUBLE_PRECISION_TRIG
49 ltp_of_ecef->
m[0] = -sin_lon;
50 ltp_of_ecef->
m[1] = cos_lon;
51 ltp_of_ecef->
m[2] = 0;
54 ltp_of_ecef->
m[5] = cos_lat;
57 ltp_of_ecef->
m[8] = sin_lat;
338 #if USE_SINGLE_PRECISION_LLA_ECEF
351 #else // use double precision by default
371 #if USE_SINGLE_PRECISION_LLA_ECEF
384 #else // use double precision by default
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.
#define INT32_VECT3_LSHIFT(_o, _i, _l)
#define VECT3_ADD(_a, _b)
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.
definition of the local (flat earth) coordinate system
#define HIGH_RES_TRIG_FRAC
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 enu_of_ecef_pos_i(struct EnuCoor_i *enu, struct LtpDef_i *def, struct EcefCoor_i *ecef)
Convert a ECEF position to local ENU.
vector in EarthCenteredEarthFixed coordinates
vector in EarthCenteredEarthFixed coordinates
struct Int32RMat ltp_of_ecef
Rotation matrix.
#define VECT3_COPY(_a, _b)
#define VECT3_DIFF(_c, _a, _b)
double alt
in meters above WGS84 reference ellipsoid
#define INT32_VECT3_RSHIFT(_o, _i, _r)
vector in Latitude, Longitude and Altitude
#define RAD_OF_EM7DEG(_r)
vector in Latitude, Longitude and Altitude
void ltp_def_from_lla_i(struct LtpDef_i *def, struct LlaCoor_i *lla)
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.
struct EcefCoor_i ecef
Reference point in ecef.
int32_t alt
in millimeters above WGS84 reference ellipsoid
#define ENU_OF_TO_NED(_po, _pi)
Paparazzi double-precision floating point math for geodetic calculations.
Paparazzi floating point math for geodetic calculations.
#define BFP_OF_REAL(_vr, _frac)
vector in Latitude, Longitude and Altitude
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.
#define EM7DEG_OF_RAD(_r)
#define VECT3_SDIV(_vo, _vi, _s)
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.
struct LlaCoor_i lla
Reference point in lla.
int32_t lon
in degrees*1e7
void ecef_of_lla_f(struct EcefCoor_f *out, struct LlaCoor_f *in)
Paparazzi fixed point math for geodetic calculations.
vector in EarthCenteredEarthFixed coordinates
void lla_of_ecef_d(struct LlaCoor_d *lla, struct EcefCoor_d *ecef)
#define LLA_COPY(_pos1, _pos2)
float alt
in meters above WGS84 reference ellipsoid
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.
#define VECT3_SMUL(_vo, _vi, _s)
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.
vector in East North Up coordinates
vector in North East Down coordinates
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_vect_i(struct EnuCoor_i *enu, struct LtpDef_i *def, struct EcefCoor_i *ecef)
Rotate a vector from ECEF to ENU.
void ecef_of_lla_i(struct EcefCoor_i *out, struct LlaCoor_i *in)
void ltp_of_ecef_rmat_from_lla_i(struct Int32RMat *ltp_of_ecef, struct LlaCoor_i *lla)
void lla_of_ecef_i(struct LlaCoor_i *out, struct EcefCoor_i *in)
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.
int32_t lat
in degrees*1e7
void ecef_of_lla_d(struct EcefCoor_d *ecef, struct LlaCoor_d *lla)
void lla_of_ecef_f(struct LlaCoor_f *out, struct EcefCoor_f *in)
void ned_of_lla_vect_i(struct NedCoor_i *ned, struct LtpDef_i *def, struct LlaCoor_i *lla)
void enu_of_lla_vect_i(struct EnuCoor_i *enu, struct LtpDef_i *def, struct LlaCoor_i *lla)
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 ltp_def_from_ecef_i(struct LtpDef_i *def, struct EcefCoor_i *ecef)
Paparazzi fixed point algebra.
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.