Matthias Grob
/
FlyBed2
My fully self designed first stable working Quadrocopter Software.
Diff: IMU/IMU_10DOF.cpp
- Revision:
- 0:12950aa67f2a
- Child:
- 4:b0a60b0b24a9
diff -r 000000000000 -r 12950aa67f2a IMU/IMU_10DOF.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IMU/IMU_10DOF.cpp Mon Sep 02 15:04:22 2013 +0000 @@ -0,0 +1,36 @@ +#include "IMU_10DOF.h" + +IMU_10DOF::IMU_10DOF(PinName sda, PinName scl) : Gyro(sda, scl), Acc(sda, scl), Comp(sda, scl), Alt(sda,scl) +{ + dt = 0; + dt_sensors = 0; + time_for_dt = 0; + time_for_dt_sensors = 0; + + angle = Filter.angle; // initialize array pointer + + LocalTimer.start(); +} + +void IMU_10DOF::readAngles() +{ + time_for_dt_sensors = LocalTimer.read(); // start time for measuring sensors + Gyro.read(); // reading sensor data + Acc.read(); + Comp.read(); + dt_sensors = LocalTimer.read() - time_for_dt_sensors; // stop time for measuring sensors + + // meassure dt for the filter + dt = LocalTimer.read() - time_for_dt; // time in s since last loop + time_for_dt = LocalTimer.read(); // set new time for next measurement + + Filter.compute(dt, Gyro.data, Acc.data, Comp.data); +} + +void IMU_10DOF::readAltitude() +{ + Alt.read(); + temperature = Alt.Temperature; // copy all resulting measurements + pressure = Alt.Pressure; + altitude = Alt.Altitude; +} \ No newline at end of file