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:
- 6:9836b4dd7fbb
- Parent:
- 5:a2c3562689b1
File content as of revision 6:9836b4dd7fbb:
#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 mag(PTE25, PTE24, 0x0E<<1); PwmOut rled(PTE29); PwmOut gled(PTD5); AnalogIn lightSensor(PTE22); InterruptIn s1(PTC3); InterruptIn s3(PTC12); int base_rate=100; int A=1, M=1, T=1, L=1, gE=1;; int aH=base_rate, mH = base_rate, tH = base_rate, lH = base_rate; Timer t; int counter; 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; mag.getValues(&magX, &magY, &magZ); float holdTime = 5.0; // acc.attach(&Acc, 0.010); // mag.attach(&Mag, 0.010); // light.attach(&Light, 0.010); t.start(); while(1) { mag.getValues(&magX, &magY, &magZ); counter = t.read_ms(); if(A == 1 && counter%(aH+1) == aH) cout << "A" << "X" << acc51.getAccX() << "Y" << acc51.getAccY() << "Z"<< acc51.getAccZ() << "\n" ; if(M == 1 && counter%(mH+1) == mH) cout << "M" << mag.getHeading() << "X" << magX << "Y" << magY << "Z" << magZ << "\n"; if(L == 1 && counter%(lH+1) == lH) cout << "L" << lightSensor << "\n"; if(T == 1 && counter%(tH+1) == tH) cout << "T" << tsi.readPercentage() << "\n" ; // cout <<"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\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/1)\n"); pc.printf("Acccelerometer - (0/1)\n"); count_acc = (int) pc.getc(); (count_acc != '0')? A = 1: A=0; if ( A==1 ){ pc.printf("Acccelerometer - Enabled !\n Enter the rate (Three digit number)\n"); aH=0; pc.printf(" You entered - "); for(int k=1; k<=3;k++){ aH = aH * 10 + pc.getc() - 48; pc.printf("%d",aH%10); } pc.printf("\n"); aH = 1000 / aH; // aH = count_acc; // count_acc == 1 ? count_acc = 0: count_acc-=1; } else pc.printf("Acccelerometer - Disabled !\n"); pc.printf("Magnetometer - (0/1)? \n"); count_mag = (int) pc.getc(); (count_mag != '0')? M = 1: M=0; if ( M==1 ){ pc.printf("Magnetometer - Enabled !\n Enter the rate (Three digit number)\n"); mH=0; pc.printf(" You entered - "); for(int k=1; k<=3;k++){ mH = mH * 10 + pc.getc() - 48; pc.printf("%d",mH%10); } pc.printf("\n"); mH = 1000/mH; // cout << "MH = " << mH << "\n\r"; // mH = base_rate/ count_mag; // count_mag == 1 ? count_mag = 0: count_mag-=1; } else pc.printf("Magnetometer - Disabled !\n"); pc.printf("Touchglider - (0/1)? \n"); count_touch = (int) pc.getc(); (count_touch != '0')? T = 1: T=0; if ( T==1 ){ pc.printf("Touchglider - Enabled !\n Enter the rate (Three digit number)\n"); tH=0; pc.printf(" You entered - "); for(int k=1; k<=3;k++){ tH = tH * 10 + pc.getc() - 48; pc.printf("%d",tH%10); } pc.printf("\n"); tH = 1000 / tH; // tH = base_rate/ count_touch ; // count_touch == 1 ? count_touch = 0: count_touch-=1; } else pc.printf("Touchglider - Disabled !\n"); pc.printf("LightSensor - (0/1)? \n"); count_light = (int) pc.getc(); (count_light != '0')? L = 1: L=0; if ( L==1 ){ pc.printf("LightSensor - Enabled !\n Enter the rate (Three digit number)\n"); lH=0; pc.printf(" You entered - "); for(int k=1; k<=3;k++){ lH = lH * 10 + pc.getc() - 48; pc.printf("%d",lH%10); } pc.printf("\n"); lH = 1000 / lH; // pc.printf("LH = %d",lH); // count_light == 1 ? count_light = 0: count_light-=1; } else pc.printf("LightSensor - Disabled !\n"); } } } }