Files
bizhang_-obav/src/systemcmds/tests/test_autodeclination.cpp

44 lines
1.2 KiB
C++
Raw Normal View History

#include <unit_test.h>
2016-07-29 13:27:58 +02:00
#include <drivers/drv_hrt.h>
#include <geo/geo.h>
#include <px4iofirmware/px4io.h>
#include <systemlib/err.h>
#include <systemlib/mixer/mixer.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
class AutoDeclinationTest : public UnitTest
{
public:
virtual bool run_tests();
2016-07-29 13:27:58 +02:00
private:
bool autodeclination_check();
};
bool AutoDeclinationTest::autodeclination_check()
2016-07-29 13:27:58 +02:00
{
ut_assert("declination differs more than 0.1 degrees", get_mag_declination(47.0, 8.0) - 1.6f < 0.1f);
// Test world endpoints
ut_assert("declination differs more than 0.1 degrees", get_mag_declination(-90.0, 180.0) - 47.0f < 0.1f);
ut_assert("declination differs more than 0.1 degrees", get_mag_declination(-90.0, -180.0) - 47.0f < 0.1f);
ut_assert("declination differs more than 0.1 degrees", get_mag_declination(90.0, -180.0) - 3.0f < 0.1f);
ut_assert("declination differs more than 0.1 degrees", get_mag_declination(90.0, 180.0) - 3.0f < 0.1f);
2016-07-29 13:27:58 +02:00
return true;
}
bool AutoDeclinationTest::run_tests()
2016-07-29 13:27:58 +02:00
{
ut_run_test(autodeclination_check);
return (_tests_failed == 0);
}
ut_declare_test_c(test_autodeclination, AutoDeclinationTest)