reads the sensor data
Dependencies: MAG3110 MMA8451Q SLCD TSI mbed-src
Fork of KL46Z by
main.cpp
- Committer:
- rajkiran_anthapur
- Date:
- 2014-02-14
- Revision:
- 5:a2c3562689b1
- Parent:
- 4:e3770fac7512
- Child:
- 6:9836b4dd7fbb
File content as of revision 5:a2c3562689b1:
#include "mbed.h" #include "TSISensor.h" #include "MMA8451Q.h" #include "MAG3110.h" #include <cstdlib> #include <iostream> Serial pc(USBTX, USBRX); TSISensor tsi; MMA8451Q acc51(PTE25, PTE24, 0x1D<<1); MAG3110 magMeter(PTE25, PTE24, 0x0E<<1); PwmOut rled(PTE29); PwmOut gled(PTD5); AnalogIn lightSensor(PTE22); InterruptIn s1(PTC3); InterruptIn s3(PTC12); int A=1, M=1, T=1, L=1, gE=1;; int aH=A, mH = M, tH = T, lH = L; int main() { using namespace std; int count_acc = 1, count_mag = 1, count_light = 1, count_touch = 1, available = 0; int extra_light =0, extra_touch =0, extra_mag =0, extra_acc =0; int magX = 0, magY = 0, magZ = 0; magMeter.getValues(&magX, &magY, &magZ); float holdTime = 5.0; // acc.attach(&Acc, 0.010); // mag.attach(&Mag, 0.010); // light.attach(&Light, 0.010); while(1) { if(A == 1) cout << "A" << "X" << acc51.getAccX() << "Y" << acc51.getAccY() << "Z"<< acc51.getAccZ() << "\n\r" ; if(M == 1) cout << "M" << magMeter.getHeading() << "X" << magX << "Y" << magY << "Z" << magZ << "\n\r"; if(L == 1) cout << "L" << lightSensor << "\n\r"; if(T == 1) cout << "T" << tsi.readPercentage() << "\n\r" ; if( count_acc != 0 || count_mag != 0 || count_light != 0 || count_touch != 0){ available = 1; extra_acc = count_acc; extra_mag = count_mag; extra_light = count_light; extra_touch = count_touch; } while( available == 1){ if (A == 1 && extra_acc > 0){ extra_acc--; cout << "A" << "X" << acc51.getAccX() << "Y" << acc51.getAccY() << "Z"<< acc51.getAccZ() << "\n\r" ; } if (M == 1 && extra_mag > 0){ extra_mag--; cout << "M" << magMeter.getHeading() << "X" << magX << "Y" << magY << "Z" << magZ << "\n\r"; } if (T == 1 && extra_touch > 0){ extra_touch--; cout << "T" << tsi.readPercentage() << "\n\r" ; } if (L == 1 && extra_light > 0){ extra_light--; cout << "L" << lightSensor << "\n\r"; } if( extra_acc == 0 && extra_mag == 0 && extra_touch == 0 && extra_light == 0) available = 0; } if (pc.readable()){// // NVIC_DisableIRQ(TIMER3_IRQn); if(pc.getc() == 'i'){ pc.printf("\n#######################################\n"); pc.printf("Entered Sensor configuration Mode\n"); pc.printf("#######################################\n"); pc.printf("Present Active Sensors\n"); if(A == 1) pc.printf("Acccelerometer\n"); if(M == 1) pc.printf("Magnetometer\n"); if(T == 1) pc.printf("Touchglider\n"); if(L == 1) pc.printf("LightSensor\n"); pc.printf("#######################################\n"); pc.printf("Enable / Disable Sensors? (0-9)\n"); pc.printf("Acccelerometer - (0-9)"); count_acc = (int) pc.getc(); (count_acc != '0')? A = 1: A=0; if ( A==1 ){ pc.printf("Acccelerometer - Enabled !\n"); // count_acc == 1 ? count_acc = 0: count_acc-=1; } else pc.printf("Acccelerometer - Disabled !\n"); pc.printf("Magnetometer - (0-9)? "); count_mag = (int) pc.getc(); (count_mag != '0')? M = 1: M=0; if ( M==1 ){ pc.printf("Magnetometer - Enabled !\n"); // count_mag == 1 ? count_mag = 0: count_mag-=1; } else pc.printf("Magnetometer - Disabled !\n"); pc.printf("Touchglider - (0-9)? "); count_touch = (int) pc.getc(); (count_touch != '0')? T = 1: T=0; if ( T==1 ){ pc.printf("Touchglider - Enabled !\n"); // count_touch == 1 ? count_touch = 0: count_touch-=1; } else pc.printf("Touchglider - Disabled !\n"); pc.printf("LightSensor - (0-9)? "); count_light = (int) pc.getc(); (count_light != '0')? L = 1: L=0; if ( L==1 ){ pc.printf("LightSensor - Enabled !\n"); // count_light == 1 ? count_light = 0: count_light-=1; } else pc.printf("LightSensor - Disabled !\n"); } } } }