reads the sensor data

Dependencies:   MAG3110 MMA8451Q SLCD TSI mbed-src

Fork of KL46Z by JP PANG

Committer:
rajkiran_anthapur
Date:
Fri Feb 14 07:44:14 2014 +0000
Revision:
5:a2c3562689b1
Parent:
4:e3770fac7512
Child:
6:9836b4dd7fbb
final;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jppang 0:52fadadad843 1 #include "mbed.h"
jppang 0:52fadadad843 2 #include "TSISensor.h"
jppang 0:52fadadad843 3 #include "MMA8451Q.h"
jppang 0:52fadadad843 4 #include "MAG3110.h"
jppang 0:52fadadad843 5 #include <cstdlib>
jppang 0:52fadadad843 6 #include <iostream>
jppang 0:52fadadad843 7
rajkiran_anthapur 5:a2c3562689b1 8
rajkiran_anthapur 5:a2c3562689b1 9
rajkiran_anthapur 5:a2c3562689b1 10
jppang 0:52fadadad843 11 Serial pc(USBTX, USBRX);
jppang 0:52fadadad843 12
jppang 0:52fadadad843 13 TSISensor tsi;
rajkiran_anthapur 5:a2c3562689b1 14 MMA8451Q acc51(PTE25, PTE24, 0x1D<<1);
rajkiran_anthapur 5:a2c3562689b1 15 MAG3110 magMeter(PTE25, PTE24, 0x0E<<1);
jppang 0:52fadadad843 16
jppang 0:52fadadad843 17 PwmOut rled(PTE29);
jppang 0:52fadadad843 18 PwmOut gled(PTD5);
jppang 0:52fadadad843 19 AnalogIn lightSensor(PTE22);
jppang 4:e3770fac7512 20 InterruptIn s1(PTC3);
jppang 4:e3770fac7512 21 InterruptIn s3(PTC12);
jppang 0:52fadadad843 22
rajkiran_anthapur 5:a2c3562689b1 23 int A=1, M=1, T=1, L=1, gE=1;;
rajkiran_anthapur 5:a2c3562689b1 24 int aH=A, mH = M, tH = T, lH = L;
rajkiran_anthapur 5:a2c3562689b1 25
jppang 0:52fadadad843 26 int main()
jppang 0:52fadadad843 27 {
jppang 0:52fadadad843 28 using namespace std;
rajkiran_anthapur 5:a2c3562689b1 29 int count_acc = 1, count_mag = 1, count_light = 1, count_touch = 1, available = 0;
rajkiran_anthapur 5:a2c3562689b1 30 int extra_light =0, extra_touch =0, extra_mag =0, extra_acc =0;
rajkiran_anthapur 5:a2c3562689b1 31
rajkiran_anthapur 5:a2c3562689b1 32 int magX = 0, magY = 0, magZ = 0;
rajkiran_anthapur 5:a2c3562689b1 33 magMeter.getValues(&magX, &magY, &magZ);
rajkiran_anthapur 5:a2c3562689b1 34
rajkiran_anthapur 5:a2c3562689b1 35 float holdTime = 5.0;
rajkiran_anthapur 5:a2c3562689b1 36 // acc.attach(&Acc, 0.010);
rajkiran_anthapur 5:a2c3562689b1 37 // mag.attach(&Mag, 0.010);
rajkiran_anthapur 5:a2c3562689b1 38 // light.attach(&Light, 0.010);
rajkiran_anthapur 5:a2c3562689b1 39
rajkiran_anthapur 5:a2c3562689b1 40
jppang 3:96fe777bad5a 41 while(1) {
rajkiran_anthapur 5:a2c3562689b1 42
rajkiran_anthapur 5:a2c3562689b1 43
rajkiran_anthapur 5:a2c3562689b1 44 if(A == 1)
rajkiran_anthapur 5:a2c3562689b1 45 cout << "A" << "X" << acc51.getAccX() << "Y" << acc51.getAccY() << "Z"<< acc51.getAccZ() << "\n\r" ;
rajkiran_anthapur 5:a2c3562689b1 46 if(M == 1)
rajkiran_anthapur 5:a2c3562689b1 47 cout << "M" << magMeter.getHeading() << "X" << magX << "Y" << magY << "Z" << magZ << "\n\r";
rajkiran_anthapur 5:a2c3562689b1 48 if(L == 1)
rajkiran_anthapur 5:a2c3562689b1 49 cout << "L" << lightSensor << "\n\r";
rajkiran_anthapur 5:a2c3562689b1 50 if(T == 1)
rajkiran_anthapur 5:a2c3562689b1 51 cout << "T" << tsi.readPercentage() << "\n\r" ;
rajkiran_anthapur 5:a2c3562689b1 52
rajkiran_anthapur 5:a2c3562689b1 53 if( count_acc != 0 || count_mag != 0 || count_light != 0 || count_touch != 0){
rajkiran_anthapur 5:a2c3562689b1 54 available = 1;
rajkiran_anthapur 5:a2c3562689b1 55 extra_acc = count_acc;
rajkiran_anthapur 5:a2c3562689b1 56 extra_mag = count_mag;
rajkiran_anthapur 5:a2c3562689b1 57 extra_light = count_light;
rajkiran_anthapur 5:a2c3562689b1 58 extra_touch = count_touch;
rajkiran_anthapur 5:a2c3562689b1 59 }
rajkiran_anthapur 5:a2c3562689b1 60
rajkiran_anthapur 5:a2c3562689b1 61 while( available == 1){
rajkiran_anthapur 5:a2c3562689b1 62 if (A == 1 && extra_acc > 0){
rajkiran_anthapur 5:a2c3562689b1 63 extra_acc--;
rajkiran_anthapur 5:a2c3562689b1 64 cout << "A" << "X" << acc51.getAccX() << "Y" << acc51.getAccY() << "Z"<< acc51.getAccZ() << "\n\r" ;
rajkiran_anthapur 5:a2c3562689b1 65 }
rajkiran_anthapur 5:a2c3562689b1 66 if (M == 1 && extra_mag > 0){
rajkiran_anthapur 5:a2c3562689b1 67 extra_mag--;
rajkiran_anthapur 5:a2c3562689b1 68 cout << "M" << magMeter.getHeading() << "X" << magX << "Y" << magY << "Z" << magZ << "\n\r";
rajkiran_anthapur 5:a2c3562689b1 69 }
rajkiran_anthapur 5:a2c3562689b1 70 if (T == 1 && extra_touch > 0){
rajkiran_anthapur 5:a2c3562689b1 71 extra_touch--;
rajkiran_anthapur 5:a2c3562689b1 72 cout << "T" << tsi.readPercentage() << "\n\r" ;
rajkiran_anthapur 5:a2c3562689b1 73
rajkiran_anthapur 5:a2c3562689b1 74 }
rajkiran_anthapur 5:a2c3562689b1 75 if (L == 1 && extra_light > 0){
rajkiran_anthapur 5:a2c3562689b1 76 extra_light--;
rajkiran_anthapur 5:a2c3562689b1 77 cout << "L" << lightSensor << "\n\r";
rajkiran_anthapur 5:a2c3562689b1 78 }
rajkiran_anthapur 5:a2c3562689b1 79 if( extra_acc == 0 && extra_mag == 0 && extra_touch == 0 && extra_light == 0)
rajkiran_anthapur 5:a2c3562689b1 80 available = 0;
rajkiran_anthapur 5:a2c3562689b1 81
rajkiran_anthapur 5:a2c3562689b1 82 }
jppang 3:96fe777bad5a 83
rajkiran_anthapur 5:a2c3562689b1 84 if (pc.readable()){//
rajkiran_anthapur 5:a2c3562689b1 85 // NVIC_DisableIRQ(TIMER3_IRQn);
rajkiran_anthapur 5:a2c3562689b1 86 if(pc.getc() == 'i'){
rajkiran_anthapur 5:a2c3562689b1 87 pc.printf("\n#######################################\n");
rajkiran_anthapur 5:a2c3562689b1 88 pc.printf("Entered Sensor configuration Mode\n");
rajkiran_anthapur 5:a2c3562689b1 89 pc.printf("#######################################\n");
rajkiran_anthapur 5:a2c3562689b1 90 pc.printf("Present Active Sensors\n");
rajkiran_anthapur 5:a2c3562689b1 91 if(A == 1) pc.printf("Acccelerometer\n");
rajkiran_anthapur 5:a2c3562689b1 92 if(M == 1) pc.printf("Magnetometer\n");
rajkiran_anthapur 5:a2c3562689b1 93 if(T == 1) pc.printf("Touchglider\n");
rajkiran_anthapur 5:a2c3562689b1 94 if(L == 1) pc.printf("LightSensor\n");
rajkiran_anthapur 5:a2c3562689b1 95 pc.printf("#######################################\n");
rajkiran_anthapur 5:a2c3562689b1 96 pc.printf("Enable / Disable Sensors? (0-9)\n");
rajkiran_anthapur 5:a2c3562689b1 97 pc.printf("Acccelerometer - (0-9)");
rajkiran_anthapur 5:a2c3562689b1 98 count_acc = (int) pc.getc();
rajkiran_anthapur 5:a2c3562689b1 99 (count_acc != '0')? A = 1: A=0;
rajkiran_anthapur 5:a2c3562689b1 100 if ( A==1 ){
rajkiran_anthapur 5:a2c3562689b1 101 pc.printf("Acccelerometer - Enabled !\n");
rajkiran_anthapur 5:a2c3562689b1 102 // count_acc == 1 ? count_acc = 0: count_acc-=1;
rajkiran_anthapur 5:a2c3562689b1 103 }
rajkiran_anthapur 5:a2c3562689b1 104 else
rajkiran_anthapur 5:a2c3562689b1 105 pc.printf("Acccelerometer - Disabled !\n");
rajkiran_anthapur 5:a2c3562689b1 106 pc.printf("Magnetometer - (0-9)? ");
rajkiran_anthapur 5:a2c3562689b1 107 count_mag = (int) pc.getc();
rajkiran_anthapur 5:a2c3562689b1 108 (count_mag != '0')? M = 1: M=0;
rajkiran_anthapur 5:a2c3562689b1 109 if ( M==1 ){
rajkiran_anthapur 5:a2c3562689b1 110 pc.printf("Magnetometer - Enabled !\n");
rajkiran_anthapur 5:a2c3562689b1 111
rajkiran_anthapur 5:a2c3562689b1 112 // count_mag == 1 ? count_mag = 0: count_mag-=1;
rajkiran_anthapur 5:a2c3562689b1 113 }
rajkiran_anthapur 5:a2c3562689b1 114 else
rajkiran_anthapur 5:a2c3562689b1 115 pc.printf("Magnetometer - Disabled !\n");
rajkiran_anthapur 5:a2c3562689b1 116 pc.printf("Touchglider - (0-9)? ");
rajkiran_anthapur 5:a2c3562689b1 117 count_touch = (int) pc.getc();
rajkiran_anthapur 5:a2c3562689b1 118 (count_touch != '0')? T = 1: T=0;
rajkiran_anthapur 5:a2c3562689b1 119 if ( T==1 ){
rajkiran_anthapur 5:a2c3562689b1 120 pc.printf("Touchglider - Enabled !\n");
rajkiran_anthapur 5:a2c3562689b1 121
rajkiran_anthapur 5:a2c3562689b1 122 // count_touch == 1 ? count_touch = 0: count_touch-=1;
rajkiran_anthapur 5:a2c3562689b1 123 }
rajkiran_anthapur 5:a2c3562689b1 124 else
rajkiran_anthapur 5:a2c3562689b1 125 pc.printf("Touchglider - Disabled !\n");
rajkiran_anthapur 5:a2c3562689b1 126 pc.printf("LightSensor - (0-9)? ");
rajkiran_anthapur 5:a2c3562689b1 127 count_light = (int) pc.getc();
rajkiran_anthapur 5:a2c3562689b1 128 (count_light != '0')? L = 1: L=0;
rajkiran_anthapur 5:a2c3562689b1 129 if ( L==1 ){
rajkiran_anthapur 5:a2c3562689b1 130 pc.printf("LightSensor - Enabled !\n");
rajkiran_anthapur 5:a2c3562689b1 131
rajkiran_anthapur 5:a2c3562689b1 132 // count_light == 1 ? count_light = 0: count_light-=1;
rajkiran_anthapur 5:a2c3562689b1 133 }
rajkiran_anthapur 5:a2c3562689b1 134 else
rajkiran_anthapur 5:a2c3562689b1 135 pc.printf("LightSensor - Disabled !\n");
rajkiran_anthapur 5:a2c3562689b1 136 }
rajkiran_anthapur 5:a2c3562689b1 137 }
jppang 0:52fadadad843 138 }
jppang 0:52fadadad843 139 }