mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 07:13:34 +08:00
Linux build support for some libs
The following libs can now be built under Linux: lib/mathlib lib/geo lib/geo_lookup The constants used for ROS are now shared with Linux in px4_defines.h Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
+6
-6
@@ -274,17 +274,17 @@ __EXPORT int globallocalconverter_getref(double *lat_0, double *lon_0, float *al
|
||||
|
||||
__EXPORT float get_distance_to_next_waypoint(double lat_now, double lon_now, double lat_next, double lon_next)
|
||||
{
|
||||
double lat_now_rad = lat_now / 180.0d * M_PI;
|
||||
double lon_now_rad = lon_now / 180.0d * M_PI;
|
||||
double lat_next_rad = lat_next / 180.0d * M_PI;
|
||||
double lon_next_rad = lon_next / 180.0d * M_PI;
|
||||
double lat_now_rad = lat_now / (double)180.0 * M_PI;
|
||||
double lon_now_rad = lon_now / (double)180.0 * M_PI;
|
||||
double lat_next_rad = lat_next / (double)180.0 * M_PI;
|
||||
double lon_next_rad = lon_next / (double)180.0 * M_PI;
|
||||
|
||||
|
||||
double d_lat = lat_next_rad - lat_now_rad;
|
||||
double d_lon = lon_next_rad - lon_now_rad;
|
||||
|
||||
double a = sin(d_lat / 2.0d) * sin(d_lat / 2.0d) + sin(d_lon / 2.0d) * sin(d_lon / 2.0d) * cos(lat_now_rad) * cos(lat_next_rad);
|
||||
double c = 2.0d * atan2(sqrt(a), sqrt(1.0d - a));
|
||||
double a = sin(d_lat / (double)2.0) * sin(d_lat / (double)2.0) + sin(d_lon / (double)2.0) * sin(d_lon / (double)2.0) * cos(lat_now_rad) * cos(lat_next_rad);
|
||||
double c = (double)2.0 * atan2(sqrt(a), sqrt((double)1.0 - a));
|
||||
|
||||
return CONSTANTS_RADIUS_OF_EARTH * c;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
namespace math
|
||||
{
|
||||
|
||||
#ifndef CONFIG_ARCH_ARM
|
||||
#if !defined(CONFIG_ARCH_ARM) && !defined(__PX4_LINUX)
|
||||
#define M_PI_F 3.14159265358979323846f
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user