Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
pprz_geodetic_int.h File Reference

Paparazzi fixed point math for geodetic calculations. More...

#include "pprz_geodetic.h"
#include "std.h"
#include "pprz_algebra_int.h"
+ Include dependency graph for pprz_geodetic_int.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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...
 

Detailed Description

Paparazzi fixed point math for geodetic calculations.

Definition in file pprz_geodetic_int.h.