Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Revision:
21:5a0c9406e119
Parent:
20:503cbe360419
Child:
24:23eae343c631
--- a/SensorFusion.cpp	Thu Apr 09 09:51:51 2015 +0000
+++ b/SensorFusion.cpp	Thu Apr 09 11:54:48 2015 +0000
@@ -3,22 +3,13 @@
 #define DEBUG "SensorFusion"
 #include "Logger.h"
 
-SensorFusion::SensorFusion(I2C &i2c) : accel(i2c), gyro(i2c), magneto(i2c),
+SensorFusion::SensorFusion(I2C &i2c) :
+    delegate(&defaultDelegate),
+    accel(i2c), gyro(i2c), magneto(i2c),
     q(1, 0, 0, 0), // output quaternion
     deltat(0.010), // sec
     beta(1) // correction gain
 {
-    // Setup a dummy delegate object which will catch callbacks if another delegate is not set.
-    // This avoids having to do a comparison every time the callback is to be called.
-    class dummy : public SensorFusion::Delegate
-    {
-        virtual void sensorTick(Vector3 fused, Vector3 accel, Vector3 magneto, Vector3 gyro, Quaternion q)
-        {
-            // do nothing
-        }
-    } defaultDelegate;
-    
-    setDelegate(defaultDelegate);
 }
 
 void SensorFusion::setDelegate(SensorFusion::Delegate &d)