Successful acro and level mode now! Relying on MPU9250 as base sensor. I'm working continuously on tuning and features :) NEWEST VERSION ON: https://github.com/MaEtUgR/FlyBed (CODE 100% compatible/copyable)
Diff: IMU/IMU_10DOF.h
- Revision:
- 0:37f0c1e8fa66
- Child:
- 7:90f876d47862
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IMU/IMU_10DOF.h Tue Sep 08 13:38:10 2015 +0000 @@ -0,0 +1,34 @@ +// by MaEtUgR + +#ifndef IMU_10DOF_H +#define IMU_10DOF_H + +#include "mbed.h" +#include "MPU9250.h" // Combined Gyroscope & Accelerometer & Magnetometer over SPI +#include "IMU_Filter.h" // Class to calculate position angles (algorithm from S.O.H. Madgwick, see header file for info) + +class IMU_10DOF +{ + public: + IMU_10DOF(PinName MOSI, PinName MISO, PinName SCLK, PinName CS); + void readAngles(); // read all sensors and calculate angles + + float * angle; // where the measured and calculated data is saved + float temperature; + float pressure; + float altitude; + + float dt; // time for entire loop + float dt_sensors; // time only to read sensors + + MPU9250 mpu; // The sensor Hardware Driver + + private: + Timer LocalTimer; // local time to calculate processing speed for entire loop and just reading sensors + float time_for_dt; // | + float time_for_dt_sensors; // | + + IMU_Filter Filter; // Filterclass to join sensor data +}; + +#endif \ No newline at end of file