schedule sensors at different rates (rates hardcoded)
Fork of mbed_test_fastest_rate-bo by
mbed_fastest_rate.cpp@3:dcbcca17dbfa, 2014-02-10 (annotated)
- Committer:
- tiyasa
- Date:
- Mon Feb 10 18:58:30 2014 +0000
- Revision:
- 3:dcbcca17dbfa
- Parent:
- 1:3d1239d55050
schedule multiple sensors
Who changed what in which revision?
User | Revision | Line number | New 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) |
mja054 | 1:3d1239d55050 | 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() { |
mja054 | 1:3d1239d55050 | 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()); |
mja054 | 1:3d1239d55050 | 115 | |
mja054 | 1:3d1239d55050 | 116 | t.reset(); |
mja054 | 1:3d1239d55050 | 117 | t.start(); |
mja054 | 1:3d1239d55050 | 118 | acc.getAccX(); |
mja054 | 1:3d1239d55050 | 119 | t.stop(); |
mja054 | 1:3d1239d55050 | 120 | pc.printf("AccX together samples takes %f secs\n", t.read()); |
mja054 | 1:3d1239d55050 | 121 | |
mja054 | 1:3d1239d55050 | 122 | slcd.printf(" 11"); |
mja054 | 1:3d1239d55050 | 123 | t.reset(); |
mja054 | 1:3d1239d55050 | 124 | t.start(); |
mja054 | 1:3d1239d55050 | 125 | for (int i = 0; i < 1000; i++) { |
mja054 | 1:3d1239d55050 | 126 | acc.getAccX(); |
mja054 | 1:3d1239d55050 | 127 | mag.readVal(MAG_OUT_X_MSB); |
mja054 | 1:3d1239d55050 | 128 | acc.getAccY(); |
mja054 | 1:3d1239d55050 | 129 | mag.readVal(MAG_OUT_Y_MSB); |
mja054 | 1:3d1239d55050 | 130 | acc.getAccZ(); |
mja054 | 1:3d1239d55050 | 131 | mag.readVal(MAG_OUT_Z_MSB); |
mja054 | 1:3d1239d55050 | 132 | } |
mja054 | 1:3d1239d55050 | 133 | t.stop(); |
mja054 | 1:3d1239d55050 | 134 | pc.printf("(Acc/Mag)XYZ together 1000 samples takes %f secs\n", t.read()); |
TimeString | 0:459f1731fa6a | 135 | |
TimeString | 0:459f1731fa6a | 136 | slcd.printf(" 99"); |
TimeString | 0:459f1731fa6a | 137 | t.reset(); |
TimeString | 0:459f1731fa6a | 138 | t.start(); |
TimeString | 0:459f1731fa6a | 139 | for (int i = 0; i < 1000; i++) { |
TimeString | 0:459f1731fa6a | 140 | acc.getAccX(); |
TimeString | 0:459f1731fa6a | 141 | acc.getAccY(); |
TimeString | 0:459f1731fa6a | 142 | acc.getAccZ(); |
TimeString | 0:459f1731fa6a | 143 | mag.readVal(MAG_OUT_X_MSB); |
TimeString | 0:459f1731fa6a | 144 | mag.readVal(MAG_OUT_Y_MSB); |
TimeString | 0:459f1731fa6a | 145 | mag.readVal(MAG_OUT_Z_MSB); |
TimeString | 0:459f1731fa6a | 146 | lightSensor.read(); |
TimeString | 0:459f1731fa6a | 147 | tsi.readPercentage(); |
TimeString | 0:459f1731fa6a | 148 | } |
TimeString | 0:459f1731fa6a | 149 | t.stop(); |
TimeString | 0:459f1731fa6a | 150 | pc.printf("all sensors 1000 samples takes %f secs\n", t.read()); |
TimeString | 0:459f1731fa6a | 151 | |
mja054 | 1:3d1239d55050 | 152 | // } |
mja054 | 1:3d1239d55050 | 153 | } |
mja054 | 1:3d1239d55050 | 154 | */ |