reads the sensor data

Dependencies:   MAG3110 MMA8451Q SLCD TSI mbed-src

Fork of KL46Z by JP PANG

Files at this revision

API Documentation at this revision

Comitter:
rajkiran_anthapur
Date:
Fri Feb 14 07:44:14 2014 +0000
Parent:
4:e3770fac7512
Child:
6:9836b4dd7fbb
Commit message:
final;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sun Feb 09 12:29:43 2014 +0000
+++ b/main.cpp	Fri Feb 14 07:44:14 2014 +0000
@@ -5,11 +5,14 @@
 #include <cstdlib>
 #include <iostream>
 
+
+
+
 Serial pc(USBTX, USBRX);
 
 TSISensor tsi;
-MMA8451Q acc(PTE25, PTE24, 0x1D<<1);
-MAG3110 mag(PTE25, PTE24, 0x0E<<1);
+MMA8451Q acc51(PTE25, PTE24, 0x1D<<1);
+MAG3110 magMeter(PTE25, PTE24, 0x0E<<1);
 
 PwmOut rled(PTE29);
 PwmOut gled(PTD5);
@@ -17,34 +20,120 @@
 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;
-
-    float onTime = 1.0;
- //   float offTime = 0.0;
-    float holdTime = 1.0;
-    int magX = 0, magY = 0, magZ = 0;   
-
+    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) {
-
-        rled = onTime - abs(acc.getAccX());
-        gled = onTime - abs(acc.getAccY());
-        mag.getValues(&magX, &magY, &magZ);
+        
+        
+        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;
+            
+        }
 
-        cout << "MMA8451: " << acc.getAccX() << "\t" << acc.getAccY() << "\t" << acc.getAccZ() << "\n\r" << endl;
-        cout << "MAG3110: " << magX << "\t" << magY << "\t" << magZ << "\n\r" << endl;
-        cout << "MAG3110: " << mag.getHeading() << "\n\r" << endl;
-        wait(holdTime);
-
-        rled = tsi.readPercentage();
-        gled = tsi.readPercentage();
-
-        cout << "Touch: " << tsi.readPercentage() << "\n\r" << endl;
-        cout << "SW1: " << s1 << "\n\r" << endl;
-        cout << "SW3: " << s3 << "\n\r" << endl;
-        cout << "Light Sensor: " << lightSensor << "\n\r" << endl;
-        wait(holdTime);
+         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");
+             }
+        }
     }
 }