forked from Archive/PX4-Autopilot
Correct deg to rad conversion inversion. Add additional functionality to mathlib to allow standalone compile without Limits.cpp and Limits.hpp files from PX4.
This commit is contained in:
parent
b163efeae2
commit
f9be23933b
|
@ -55,8 +55,8 @@
|
||||||
#define CONSTANTS_RADIUS_OF_EARTH 6371000 /* meters (m) */
|
#define CONSTANTS_RADIUS_OF_EARTH 6371000 /* meters (m) */
|
||||||
#define M_TWOPI_F 6.28318530717958647692f
|
#define M_TWOPI_F 6.28318530717958647692f
|
||||||
#define M_PI_2_F 1.57079632679489661923f
|
#define M_PI_2_F 1.57079632679489661923f
|
||||||
#define M_RAD_TO_DEG 0.01745329251994329576f
|
#define M_RAD_TO_DEG 57.29577951308232087679f
|
||||||
#define M_DEG_TO_RAD 57.29577951308232087679f
|
#define M_DEG_TO_RAD 0.01745329251994329576f
|
||||||
#define OK 0
|
#define OK 0
|
||||||
#define ERROR -1
|
#define ERROR -1
|
||||||
// XXX remove
|
// XXX remove
|
||||||
|
|
|
@ -42,16 +42,35 @@
|
||||||
|
|
||||||
#ifdef POSIX_SHARED
|
#ifdef POSIX_SHARED
|
||||||
|
|
||||||
float math::constrain(float &val, float min, float max)
|
|
||||||
|
namespace math
|
||||||
|
{
|
||||||
|
|
||||||
|
float min(float val1, float val2)
|
||||||
|
{
|
||||||
|
return (val1 < val2) ? val1 : val2;
|
||||||
|
}
|
||||||
|
|
||||||
|
float max(float val1, float val2)
|
||||||
|
{
|
||||||
|
return (val1 > val2) ? val1 : val2;
|
||||||
|
}
|
||||||
|
|
||||||
|
float constrain(float &val, float min, float max)
|
||||||
{
|
{
|
||||||
return (val < min) ? min : ((val > max) ? max : val);
|
return (val < min) ? min : ((val > max) ? max : val);
|
||||||
}
|
}
|
||||||
float math::radians(float degrees)
|
|
||||||
|
float radians(float degrees)
|
||||||
{
|
{
|
||||||
return (degrees / 180.0f) * M_PI_F;
|
return (degrees / 180.0f) * M_PI_F;
|
||||||
}
|
}
|
||||||
float math::degrees(float radians)
|
|
||||||
|
float degrees(float radians)
|
||||||
{
|
{
|
||||||
return (radians * 180.0f) / M_PI_F;
|
return (radians * 180.0f) / M_PI_F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -41,18 +41,23 @@
|
||||||
#ifndef MATHLIB_H
|
#ifndef MATHLIB_H
|
||||||
#define MATHLIB_H
|
#define MATHLIB_H
|
||||||
#ifdef POSIX_SHARED
|
#ifdef POSIX_SHARED
|
||||||
#include <Eigen/Dense>
|
// #include <Eigen/Dense>
|
||||||
#include <algorithm>
|
// #include <algorithm>
|
||||||
|
// #include "Limits.hpp"
|
||||||
#define M_PI_F 3.14159265358979323846f
|
#define M_PI_F 3.14159265358979323846f
|
||||||
|
#define constexpr
|
||||||
|
|
||||||
namespace math
|
namespace math
|
||||||
{
|
{
|
||||||
using namespace Eigen;
|
// using namespace Eigen;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
float min(float val1, float val2);
|
||||||
|
float max(float val1, float val2);
|
||||||
float constrain(float &val, float min, float max);
|
float constrain(float &val, float min, float max);
|
||||||
float radians(float degrees);
|
float radians(float degrees);
|
||||||
float degrees(float radians);
|
float degrees(float radians);
|
||||||
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#include <mathlib/mathlib.h>
|
#include <mathlib/mathlib.h>
|
||||||
|
|
Loading…
Reference in New Issue