MadgwickAHRS.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //=====================================================================================================
  2. // MadgwickAHRS.h
  3. //=====================================================================================================
  4. //
  5. // Implementation of Madgwick's IMU and AHRS algorithms.
  6. // See: http://www.x-io.co.uk/node/8#open_source_ahrs_and_imu_algorithms
  7. //
  8. // Date Author Notes
  9. // 29/09/2011 SOH Madgwick Initial release
  10. // 02/10/2011 SOH Madgwick Optimised for reduced CPU load
  11. //
  12. //=====================================================================================================
  13. #ifndef MadgwickAHRS_h
  14. #define MadgwickAHRS_h
  15. //----------------------------------------------------------------------------------------------------
  16. // Variable declaration
  17. extern volatile float beta; // algorithm gain
  18. extern volatile float q0, q1, q2, q3; // quaternion of sensor frame relative to auxiliary frame
  19. //---------------------------------------------------------------------------------------------------
  20. // Function declarations
  21. void MadgwickAHRSupdate(float gx, float gy, float gz, float ax, float ay, float az, float mx, float my, float mz);
  22. void MadgwickAHRSupdateIMU(float gx, float gy, float gz, float ax, float ay, float az);
  23. void Mahony_computeAngles(void);
  24. float getRoll(void);
  25. float getPitch(void);
  26. float getYaw(void);
  27. #endif
  28. //=====================================================================================================
  29. // End of file
  30. //=====================================================================================================