schedule sensors at different rates (rates hardcoded)
Fork of mbed_test_fastest_rate-bo by
mbed_fastest_rate.cpp
- Committer:
- tiyasa
- Date:
- 2014-02-10
- Revision:
- 3:dcbcca17dbfa
- Parent:
- 1:3d1239d55050
File content as of revision 3:dcbcca17dbfa:
#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()); t.reset(); t.start(); acc.getAccX(); t.stop(); pc.printf("AccX together samples takes %f secs\n", t.read()); slcd.printf(" 11"); t.reset(); t.start(); for (int i = 0; i < 1000; i++) { acc.getAccX(); mag.readVal(MAG_OUT_X_MSB); acc.getAccY(); mag.readVal(MAG_OUT_Y_MSB); acc.getAccZ(); mag.readVal(MAG_OUT_Z_MSB); } t.stop(); pc.printf("(Acc/Mag)XYZ together 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()); // } } */