Implemented first Hangar-Service
Dependencies: CalibrateMagneto QuaternionMath
Fork of SML2 by
Diff: SensorFusion.cpp
- 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)