#ifndef AHRS_CALIBRATION_HPP #define AHRS_CALIBRATION_HPP #include #include using std::size_t; using namespace Eigen; void calibration_misalignment(Vector3f & rotationVector, const Vector3f samples0[], const Vector3f & reference0, const Vector3f samples1[], const Vector3f & reference1, size_t n_samples); Vector3f twostep_bias_only(const Vector3f samples[], size_t n_samples, const Vector3f & referenceField, const float noise); void twostep_bias_scale(Vector3f & bias, Vector3f & scale, const Vector3f samples[], const size_t n_samples, const Vector3f & referenceField, const float noise); void twostep_bias_scale(Vector3f & bias, Matrix3f & scale, const Vector3f samples[], const size_t n_samples, const Vector3f & referenceField, const float noise); void openpilot_bias_scale(Vector3f & bias, Vector3f & scale, const Vector3f samples[], const size_t n_samples, const Vector3f & referenceField); void gyroscope_calibration(Vector3f & bias, Matrix3f & accelSensitivity, Vector3f gyroSamples[], Vector3f accelSamples[], size_t n_samples); #endif // !defined AHRS_CALIBRATION_HPP