Bo-Jhang Ho
/
mbed_test_fastest_rate
fastest sampling rate
Diff: mbed_fastest_rate.cpp
- 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