fastest sampling rate

Dependencies:   mbed

Revision:
0:459f1731fa6a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_fastest_rate.cpp	Mon Feb 03 02:45:03 2014 +0000
@@ -0,0 +1,133 @@
+#include "mbed.h"
+#include "MMA8451Q.h"
+#include "MAG3110.h"
+#include "SLCD.h"
+#include "TSISensor.h"
+
+#define MMA8451_I2C_ADDRESS (0x1d << 1)
+#define MAG3110_I2C_ADDRESS (0x0e << 1)
+
+Serial pc(USBTX, USBRX);
+MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
+MAG3110 mag(PTE25, PTE24, MAG3110_I2C_ADDRESS);
+AnalogIn lightSensor(PTE22);
+DigitalOut myled(LED1);
+DigitalOut myled2(LED2);
+Timer t;
+SLCD slcd;
+TSISensor tsi;
+
+int main() {
+    while (true) {
+        slcd.printf("   1");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            acc.getAccX();
+        }
+        t.stop();
+        pc.printf("AccX 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   2");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            acc.getAccY();
+        }
+        t.stop();
+        pc.printf("AccY 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   3");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            acc.getAccZ();
+        }
+        t.stop();
+        pc.printf("AccZ 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   4");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            acc.getAccX();
+            acc.getAccY();
+            acc.getAccZ();
+        }
+        t.stop();
+        pc.printf("AccXYZ together 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   5");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            mag.readVal(MAG_OUT_X_MSB);
+        }
+        t.stop();
+        pc.printf("magX 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   6");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            mag.readVal(MAG_OUT_Y_MSB);
+        }
+        t.stop();
+        pc.printf("magY 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   7");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            mag.readVal(MAG_OUT_Z_MSB);
+        }
+        t.stop();
+        pc.printf("magZ 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   8");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            mag.readVal(MAG_OUT_X_MSB);
+            mag.readVal(MAG_OUT_Y_MSB);
+            mag.readVal(MAG_OUT_Z_MSB);
+        }
+        t.stop();
+        pc.printf("magXYZ together 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("   9");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            double tsl = (double)(lightSensor.read());
+        }
+        t.stop();
+        pc.printf("light sensor 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("  10");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+           tsi.readPercentage();
+        }
+        t.stop();
+        pc.printf("touch sensor 1000 samples takes %f secs\n", t.read());
+        
+        slcd.printf("  99");
+        t.reset();
+        t.start();
+        for (int i = 0; i < 1000; i++) {
+            acc.getAccX();
+            acc.getAccY();
+            acc.getAccZ();
+            mag.readVal(MAG_OUT_X_MSB);
+            mag.readVal(MAG_OUT_Y_MSB);
+            mag.readVal(MAG_OUT_Z_MSB);
+            lightSensor.read();
+            tsi.readPercentage();
+        }
+        t.stop();
+        pc.printf("all sensors 1000 samples takes %f secs\n", t.read());
+        
+    }
+}
\ No newline at end of file