fastest sampling rate

Dependencies:   mbed

Committer:
TimeString
Date:
Mon Feb 03 02:45:03 2014 +0000
Revision:
0:459f1731fa6a
fastest sampling rate for all sensors

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TimeString 0:459f1731fa6a 1 #include "mbed.h"
TimeString 0:459f1731fa6a 2 #include "MMA8451Q.h"
TimeString 0:459f1731fa6a 3 #include "MAG3110.h"
TimeString 0:459f1731fa6a 4 #include "SLCD.h"
TimeString 0:459f1731fa6a 5 #include "TSISensor.h"
TimeString 0:459f1731fa6a 6
TimeString 0:459f1731fa6a 7 #define MMA8451_I2C_ADDRESS (0x1d << 1)
TimeString 0:459f1731fa6a 8 #define MAG3110_I2C_ADDRESS (0x0e << 1)
TimeString 0:459f1731fa6a 9
TimeString 0:459f1731fa6a 10 Serial pc(USBTX, USBRX);
TimeString 0:459f1731fa6a 11 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
TimeString 0:459f1731fa6a 12 MAG3110 mag(PTE25, PTE24, MAG3110_I2C_ADDRESS);
TimeString 0:459f1731fa6a 13 AnalogIn lightSensor(PTE22);
TimeString 0:459f1731fa6a 14 DigitalOut myled(LED1);
TimeString 0:459f1731fa6a 15 DigitalOut myled2(LED2);
TimeString 0:459f1731fa6a 16 Timer t;
TimeString 0:459f1731fa6a 17 SLCD slcd;
TimeString 0:459f1731fa6a 18 TSISensor tsi;
TimeString 0:459f1731fa6a 19
TimeString 0:459f1731fa6a 20 int main() {
TimeString 0:459f1731fa6a 21 while (true) {
TimeString 0:459f1731fa6a 22 slcd.printf(" 1");
TimeString 0:459f1731fa6a 23 t.reset();
TimeString 0:459f1731fa6a 24 t.start();
TimeString 0:459f1731fa6a 25 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 26 acc.getAccX();
TimeString 0:459f1731fa6a 27 }
TimeString 0:459f1731fa6a 28 t.stop();
TimeString 0:459f1731fa6a 29 pc.printf("AccX 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 30
TimeString 0:459f1731fa6a 31 slcd.printf(" 2");
TimeString 0:459f1731fa6a 32 t.reset();
TimeString 0:459f1731fa6a 33 t.start();
TimeString 0:459f1731fa6a 34 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 35 acc.getAccY();
TimeString 0:459f1731fa6a 36 }
TimeString 0:459f1731fa6a 37 t.stop();
TimeString 0:459f1731fa6a 38 pc.printf("AccY 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 39
TimeString 0:459f1731fa6a 40 slcd.printf(" 3");
TimeString 0:459f1731fa6a 41 t.reset();
TimeString 0:459f1731fa6a 42 t.start();
TimeString 0:459f1731fa6a 43 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 44 acc.getAccZ();
TimeString 0:459f1731fa6a 45 }
TimeString 0:459f1731fa6a 46 t.stop();
TimeString 0:459f1731fa6a 47 pc.printf("AccZ 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 48
TimeString 0:459f1731fa6a 49 slcd.printf(" 4");
TimeString 0:459f1731fa6a 50 t.reset();
TimeString 0:459f1731fa6a 51 t.start();
TimeString 0:459f1731fa6a 52 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 53 acc.getAccX();
TimeString 0:459f1731fa6a 54 acc.getAccY();
TimeString 0:459f1731fa6a 55 acc.getAccZ();
TimeString 0:459f1731fa6a 56 }
TimeString 0:459f1731fa6a 57 t.stop();
TimeString 0:459f1731fa6a 58 pc.printf("AccXYZ together 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 59
TimeString 0:459f1731fa6a 60 slcd.printf(" 5");
TimeString 0:459f1731fa6a 61 t.reset();
TimeString 0:459f1731fa6a 62 t.start();
TimeString 0:459f1731fa6a 63 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 64 mag.readVal(MAG_OUT_X_MSB);
TimeString 0:459f1731fa6a 65 }
TimeString 0:459f1731fa6a 66 t.stop();
TimeString 0:459f1731fa6a 67 pc.printf("magX 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 68
TimeString 0:459f1731fa6a 69 slcd.printf(" 6");
TimeString 0:459f1731fa6a 70 t.reset();
TimeString 0:459f1731fa6a 71 t.start();
TimeString 0:459f1731fa6a 72 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 73 mag.readVal(MAG_OUT_Y_MSB);
TimeString 0:459f1731fa6a 74 }
TimeString 0:459f1731fa6a 75 t.stop();
TimeString 0:459f1731fa6a 76 pc.printf("magY 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 77
TimeString 0:459f1731fa6a 78 slcd.printf(" 7");
TimeString 0:459f1731fa6a 79 t.reset();
TimeString 0:459f1731fa6a 80 t.start();
TimeString 0:459f1731fa6a 81 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 82 mag.readVal(MAG_OUT_Z_MSB);
TimeString 0:459f1731fa6a 83 }
TimeString 0:459f1731fa6a 84 t.stop();
TimeString 0:459f1731fa6a 85 pc.printf("magZ 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 86
TimeString 0:459f1731fa6a 87 slcd.printf(" 8");
TimeString 0:459f1731fa6a 88 t.reset();
TimeString 0:459f1731fa6a 89 t.start();
TimeString 0:459f1731fa6a 90 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 91 mag.readVal(MAG_OUT_X_MSB);
TimeString 0:459f1731fa6a 92 mag.readVal(MAG_OUT_Y_MSB);
TimeString 0:459f1731fa6a 93 mag.readVal(MAG_OUT_Z_MSB);
TimeString 0:459f1731fa6a 94 }
TimeString 0:459f1731fa6a 95 t.stop();
TimeString 0:459f1731fa6a 96 pc.printf("magXYZ together 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 97
TimeString 0:459f1731fa6a 98 slcd.printf(" 9");
TimeString 0:459f1731fa6a 99 t.reset();
TimeString 0:459f1731fa6a 100 t.start();
TimeString 0:459f1731fa6a 101 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 102 double tsl = (double)(lightSensor.read());
TimeString 0:459f1731fa6a 103 }
TimeString 0:459f1731fa6a 104 t.stop();
TimeString 0:459f1731fa6a 105 pc.printf("light sensor 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 106
TimeString 0:459f1731fa6a 107 slcd.printf(" 10");
TimeString 0:459f1731fa6a 108 t.reset();
TimeString 0:459f1731fa6a 109 t.start();
TimeString 0:459f1731fa6a 110 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 111 tsi.readPercentage();
TimeString 0:459f1731fa6a 112 }
TimeString 0:459f1731fa6a 113 t.stop();
TimeString 0:459f1731fa6a 114 pc.printf("touch sensor 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 115
TimeString 0:459f1731fa6a 116 slcd.printf(" 99");
TimeString 0:459f1731fa6a 117 t.reset();
TimeString 0:459f1731fa6a 118 t.start();
TimeString 0:459f1731fa6a 119 for (int i = 0; i < 1000; i++) {
TimeString 0:459f1731fa6a 120 acc.getAccX();
TimeString 0:459f1731fa6a 121 acc.getAccY();
TimeString 0:459f1731fa6a 122 acc.getAccZ();
TimeString 0:459f1731fa6a 123 mag.readVal(MAG_OUT_X_MSB);
TimeString 0:459f1731fa6a 124 mag.readVal(MAG_OUT_Y_MSB);
TimeString 0:459f1731fa6a 125 mag.readVal(MAG_OUT_Z_MSB);
TimeString 0:459f1731fa6a 126 lightSensor.read();
TimeString 0:459f1731fa6a 127 tsi.readPercentage();
TimeString 0:459f1731fa6a 128 }
TimeString 0:459f1731fa6a 129 t.stop();
TimeString 0:459f1731fa6a 130 pc.printf("all sensors 1000 samples takes %f secs\n", t.read());
TimeString 0:459f1731fa6a 131
TimeString 0:459f1731fa6a 132 }
TimeString 0:459f1731fa6a 133 }