Browse Source

Merge pull request #73 from mcsauder/master

Conversion error correction and additional function overloads to allow standalone compilation.
master
Paul Riseborough 9 years ago
parent
commit
829e0f1e65
  1. 4
      EKF/geo.h
  2. 25
      EKF/mathlib.cpp
  3. 3
      EKF/mathlib.h

4
EKF/geo.h

@ -55,8 +55,8 @@ @@ -55,8 +55,8 @@
#define CONSTANTS_RADIUS_OF_EARTH 6371000 /* meters (m) */
#define M_TWOPI_F 6.28318530717958647692f
#define M_PI_2_F 1.57079632679489661923f
#define M_RAD_TO_DEG 0.01745329251994329576f
#define M_DEG_TO_RAD 57.29577951308232087679f
#define M_RAD_TO_DEG 57.29577951308232087679f
#define M_DEG_TO_RAD 0.01745329251994329576f
#define OK 0
#define ERROR -1
// XXX remove

25
EKF/mathlib.cpp

@ -42,16 +42,35 @@ @@ -42,16 +42,35 @@
#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);
}
float math::radians(float degrees)
float radians(float degrees)
{
return (degrees / 180.0f) * M_PI_F;
}
float math::degrees(float radians)
float degrees(float radians)
{
return (radians * 180.0f) / M_PI_F;
}
}
#endif

3
EKF/mathlib.h

@ -50,9 +50,12 @@ namespace math @@ -50,9 +50,12 @@ namespace math
using namespace Eigen;
using namespace std;
float min(float val1, float val2);
float max(float val1, float val2);
float constrain(float &val, float min, float max);
float radians(float degrees);
float degrees(float radians);
}
#else
#include <mathlib/mathlib.h>

Loading…
Cancel
Save