Implemented first Hangar-Service
Dependencies: CalibrateMagneto QuaternionMath
Fork of SML2 by
Diff: SensorFusion.h
- Revision:
- 44:5483079fa156
- Parent:
- 43:6251c0169f4f
- Child:
- 45:9cd917ed413a
--- a/SensorFusion.h Wed May 27 11:45:00 2015 +0000 +++ b/SensorFusion.h Fri May 29 12:21:31 2015 +0000 @@ -21,7 +21,14 @@ virtual bool start() { return false; } virtual void stop() {} - + + /* Calibrates the sensors: This needs to be separated out later for + gyro and magneto because gyro need the plane to be at rest, while + magneto needs it to be in motion + */ + virtual void calibrate() = 0; + virtual void reset() = 0; + bool isGyroCalibrated() = 0; protected: // protected ctor so that base class cannot be instantiated directly SensorFusion() : delegate(&defaultDelegate), q(1, 0, 0, 0) {} @@ -37,7 +44,10 @@ virtual void sensorUpdate(Vector3 gyro_degrees); virtual bool start(); virtual void stop(); - + virtual void calibrate(); + virtual void reset(); + virtual bool isGyroCalibrated(); + protected: Accelerometer accel; Gyroscope gyro; @@ -57,7 +67,7 @@ virtual void sensorUpdate(Vector3 gyro_degrees); virtual bool start(); virtual void stop(); - + protected: Magnetometer magneto; void updateFilter(float ax, float ay, float az, float gx, float gy, float gz, float mx, float my, float mz);