Inertial measurement unit orientation filter example.

Dependencies:   mbed IMUfilter

Revision:
0:56aa1ac6b59d
Child:
1:9133b457bb41
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Aug 03 15:09:45 2010 +0000
@@ -0,0 +1,32 @@
+#include "IMUfilter.h"
+
+Serial pc(USBTX, USBRX);
+
+IMUfilter imuFilter(0.1);
+
+AnalogIn accelerometerX(p15);
+AnalogIn accelerometerY(p16);
+AnalogIn accelerometerZ(p17);
+AnalogIn gyroscopeX(p18);
+AnalogIn gyroscopeY(p19);
+AnalogIn gyroscopeZ(p20);
+
+int main() {
+
+    while(1){
+    
+        wait(0.1);
+        //Gyro and accelerometer values must be converted to rad/s and m/s/s
+        //before being passed to the filter.
+        imuFilter.updateFilter(gyroscopeX.read(),
+                               gyroscopeY.read(),
+                               gyroscopeZ.read(),
+                               accelerometerX.read(),
+                               accelerometerY.read(),
+                               accelerometerZ.read());
+        imuFilter.computeEuler();
+        pc.printf("%f, %f, %f\n", imuFilter.getRoll(), imuFilter.getPitch(), imuFilter.getYaw());
+    
+    }
+
+}