My fully self designed first stable working Quadrocopter Software.

Dependencies:   mbed

Dependents:   fluy343

/media/uploads/maetugr/dsc09031.jpg

Revision:
0:12950aa67f2a
Child:
4:b0a60b0b24a9
--- /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