Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Revision:
15:4488660e1a3b
Child:
17:e9d42864c8a1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SensorFusion.h	Wed Mar 18 15:34:51 2015 +0000
@@ -0,0 +1,30 @@
+#ifndef _H_SENSORFUSION_H
+#define _H_SENSORFUSION_H
+
+#include "I2CPeripheral.h"
+#include "Magnetometer.h"
+#include "Accelerometer.h"
+#include "Gyroscope.h"
+#include "Quaternion.h"
+
+class SensorFusion : public Sensor::Delegate
+{
+public:
+    SensorFusion(I2C &i2c);
+
+    bool start();
+    void stop();
+
+    virtual void sensorTick(Vector3 fused, Vector3 accel, Vector3 magneto, Vector3 gyro, Quaternion q) = 0;
+    virtual void sensorUpdate(Vector3 gyro_degrees); // gyro's callback
+
+private:
+    Accelerometer accel;
+    Gyroscope gyro;
+    Magnetometer magneto;
+    Quaternion q;
+    float deltat, beta;
+    void updateFilter(float ax, float ay, float az, float gx, float gy, float gz, float mx, float my, float mz);
+};
+
+#endif
\ No newline at end of file