schedule sensors at different rates (rates hardcoded)
Fork of mbed_test_fastest_rate-bo by
sensors_scheduled.cpp@3:dcbcca17dbfa, 2014-02-10 (annotated)
- Committer:
- tiyasa
- Date:
- Mon Feb 10 18:58:30 2014 +0000
- Revision:
- 3:dcbcca17dbfa
- Parent:
- 2:ca095bd51302
schedule multiple sensors
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mja054 | 1:3d1239d55050 | 1 | #include "mbed.h" |
mja054 | 1:3d1239d55050 | 2 | #include "MMA8451Q.h" |
mja054 | 1:3d1239d55050 | 3 | #include "MAG3110.h" |
mja054 | 1:3d1239d55050 | 4 | #include "SLCD.h" |
mja054 | 1:3d1239d55050 | 5 | #include "TSISensor.h" |
mja054 | 1:3d1239d55050 | 6 | |
mja054 | 1:3d1239d55050 | 7 | #define MMA8451_I2C_ADDRESS (0x1d << 1) |
mja054 | 1:3d1239d55050 | 8 | #define MAG3110_I2C_ADDRESS (0x0e << 1) |
mja054 | 1:3d1239d55050 | 9 | |
mja054 | 1:3d1239d55050 | 10 | Serial pc(USBTX, USBRX); |
mja054 | 1:3d1239d55050 | 11 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
mja054 | 1:3d1239d55050 | 12 | MAG3110 mag(PTE25, PTE24, MAG3110_I2C_ADDRESS); |
mja054 | 1:3d1239d55050 | 13 | AnalogIn lightSensor(PTE22); |
mja054 | 1:3d1239d55050 | 14 | DigitalOut myled(LED1); |
mja054 | 1:3d1239d55050 | 15 | DigitalOut myled2(LED2); |
tiyasa | 3:dcbcca17dbfa | 16 | Timer tt; |
mja054 | 1:3d1239d55050 | 17 | SLCD slcd; |
mja054 | 1:3d1239d55050 | 18 | TSISensor tsi; |
mja054 | 1:3d1239d55050 | 19 | |
mja054 | 1:3d1239d55050 | 20 | int main() { |
tiyasa | 3:dcbcca17dbfa | 21 | float accel, magma, light, touch; |
tiyasa | 3:dcbcca17dbfa | 22 | int a=0, m=0, l=0, t = 0; |
tiyasa | 3:dcbcca17dbfa | 23 | tt.reset(); |
mja054 | 1:3d1239d55050 | 24 | while (true){ |
tiyasa | 3:dcbcca17dbfa | 25 | tt.start(); |
tiyasa | 3:dcbcca17dbfa | 26 | int time = tt.read_ms(); |
tiyasa | 3:dcbcca17dbfa | 27 | // pc.printf(" time = %d",time); |
tiyasa | 3:dcbcca17dbfa | 28 | if (a == 0){ |
tiyasa | 3:dcbcca17dbfa | 29 | accel = acc.getAccX(); |
tiyasa | 3:dcbcca17dbfa | 30 | a = 10; |
tiyasa | 3:dcbcca17dbfa | 31 | } |
tiyasa | 3:dcbcca17dbfa | 32 | a--; |
tiyasa | 3:dcbcca17dbfa | 33 | if (m == 0){ |
tiyasa | 3:dcbcca17dbfa | 34 | magma= mag.readVal(MAG_OUT_X_MSB); |
tiyasa | 3:dcbcca17dbfa | 35 | m =10; |
tiyasa | 3:dcbcca17dbfa | 36 | } |
tiyasa | 3:dcbcca17dbfa | 37 | m--; |
tiyasa | 3:dcbcca17dbfa | 38 | if(l == 0){ |
tiyasa | 3:dcbcca17dbfa | 39 | light = lightSensor.read(); |
tiyasa | 3:dcbcca17dbfa | 40 | l=10; |
tiyasa | 3:dcbcca17dbfa | 41 | } |
tiyasa | 3:dcbcca17dbfa | 42 | l--; |
tiyasa | 3:dcbcca17dbfa | 43 | if (t == 0){ |
tiyasa | 3:dcbcca17dbfa | 44 | touch = tsi.readPercentage(); |
tiyasa | 3:dcbcca17dbfa | 45 | t= 10; |
tiyasa | 3:dcbcca17dbfa | 46 | } |
tiyasa | 3:dcbcca17dbfa | 47 | t--; |
tiyasa | 3:dcbcca17dbfa | 48 | |
tiyasa | 3:dcbcca17dbfa | 49 | pc.printf(" a = %f, m = %f,l = %f,t = %f\n", accel, magma, light, touch); |
tiyasa | 3:dcbcca17dbfa | 50 | int time1 = tt.read_ms(); |
tiyasa | 3:dcbcca17dbfa | 51 | tt.stop(); |
tiyasa | 3:dcbcca17dbfa | 52 | pc.printf("tt= %d\n",(time1-time)); |
tiyasa | 3:dcbcca17dbfa | 53 | wait((50.0-(time1-time))/1000.0); |
tiyasa | 3:dcbcca17dbfa | 54 | } |
mja054 | 1:3d1239d55050 | 55 | } |