This is the code for the monitoring center
Fork of Accel_Mag_Gyro_SensorStream_K64F_AGM01_M2X by
main.cpp@2:d0f21ffe5e3d, 2018-03-19 (annotated)
- Committer:
- natschwa
- Date:
- Mon Mar 19 17:24:39 2018 +0000
- Revision:
- 2:d0f21ffe5e3d
- Parent:
- 1:5e587e213940
Finished
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
natschwa | 2:d0f21ffe5e3d | 1 | //Monitoring Center |
natschwa | 2:d0f21ffe5e3d | 2 | |
AswinSivakumar | 0:4fd1b0bd1594 | 3 | #include "mbed.h" |
natschwa | 2:d0f21ffe5e3d | 4 | |
natschwa | 2:d0f21ffe5e3d | 5 | #define RX_ PTC14 |
natschwa | 2:d0f21ffe5e3d | 6 | #define TX_ PTC15 |
AswinSivakumar | 0:4fd1b0bd1594 | 7 | |
natschwa | 2:d0f21ffe5e3d | 8 | //Delay declared in seconds |
natschwa | 2:d0f21ffe5e3d | 9 | /*GPIO declaration*/ |
natschwa | 2:d0f21ffe5e3d | 10 | DigitalOut Red(LED1); |
natschwa | 2:d0f21ffe5e3d | 11 | DigitalOut Green(LED2); |
natschwa | 2:d0f21ffe5e3d | 12 | DigitalOut Blue(LED3); |
AswinSivakumar | 0:4fd1b0bd1594 | 13 | |
natschwa | 2:d0f21ffe5e3d | 14 | DigitalIn sw2(SW2); |
natschwa | 2:d0f21ffe5e3d | 15 | |
natschwa | 2:d0f21ffe5e3d | 16 | //DigitalOut buzzer(D2); |
natschwa | 2:d0f21ffe5e3d | 17 | PwmOut buzzer(D3); |
AswinSivakumar | 0:4fd1b0bd1594 | 18 | |
natschwa | 2:d0f21ffe5e3d | 19 | int on = 1, off = 0; |
AswinSivakumar | 0:4fd1b0bd1594 | 20 | |
natschwa | 2:d0f21ffe5e3d | 21 | Serial BlueTooth(TX_, RX_); // bluetooth serial port |
natschwa | 2:d0f21ffe5e3d | 22 | //Serial BlueTooth(USBTX, USBRX); // USB serial port |
AswinSivakumar | 0:4fd1b0bd1594 | 23 | |
AswinSivakumar | 0:4fd1b0bd1594 | 24 | |
natschwa | 2:d0f21ffe5e3d | 25 | int main(void) |
natschwa | 2:d0f21ffe5e3d | 26 | { |
AswinSivakumar | 0:4fd1b0bd1594 | 27 | |
natschwa | 2:d0f21ffe5e3d | 28 | int pause = 3000; |
natschwa | 2:d0f21ffe5e3d | 29 | int buzz_on = 0; |
natschwa | 2:d0f21ffe5e3d | 30 | int reset_flg = 1; |
AswinSivakumar | 0:4fd1b0bd1594 | 31 | |
natschwa | 2:d0f21ffe5e3d | 32 | /*LedsOFF (active low)*/ |
natschwa | 2:d0f21ffe5e3d | 33 | Red = 1; |
natschwa | 2:d0f21ffe5e3d | 34 | Green = 1; |
natschwa | 2:d0f21ffe5e3d | 35 | Blue = 1; |
AswinSivakumar | 0:4fd1b0bd1594 | 36 | |
natschwa | 2:d0f21ffe5e3d | 37 | BlueTooth.baud(9600); |
natschwa | 2:d0f21ffe5e3d | 38 | printf("Trying to Connect to Master\n\r"); |
natschwa | 2:d0f21ffe5e3d | 39 | buzzer.write(0.0); |
natschwa | 2:d0f21ffe5e3d | 40 | |
natschwa | 2:d0f21ffe5e3d | 41 | while (!BlueTooth.readable()){ // read data from the bluetooth serial port |
natschwa | 2:d0f21ffe5e3d | 42 | printf("Trying to c\n\r"); |
natschwa | 2:d0f21ffe5e3d | 43 | //wait(0.1); |
natschwa | 2:d0f21ffe5e3d | 44 | } |
natschwa | 2:d0f21ffe5e3d | 45 | while (BlueTooth.getc() != 'Z'){ // searching for starting byte from master |
natschwa | 2:d0f21ffe5e3d | 46 | printf("Searching for Z\n\r"); |
natschwa | 2:d0f21ffe5e3d | 47 | } |
natschwa | 2:d0f21ffe5e3d | 48 | |
natschwa | 2:d0f21ffe5e3d | 49 | //data[0] = BlueTooth.getc(); |
natschwa | 2:d0f21ffe5e3d | 50 | printf("Connected\n\rStarting byte= %c\n\r", BlueTooth.getc() ); |
natschwa | 2:d0f21ffe5e3d | 51 | |
natschwa | 2:d0f21ffe5e3d | 52 | printf("Sending Ack\n\r"); |
natschwa | 2:d0f21ffe5e3d | 53 | |
natschwa | 2:d0f21ffe5e3d | 54 | while(pause--){ // sending master acknowledgment |
natschwa | 2:d0f21ffe5e3d | 55 | BlueTooth.putc('X'); |
AswinSivakumar | 0:4fd1b0bd1594 | 56 | } |
natschwa | 2:d0f21ffe5e3d | 57 | |
natschwa | 2:d0f21ffe5e3d | 58 | printf("Ack Recived: System Ready\n\r"); // turn LGB LED blue upon Ack recived |
natschwa | 2:d0f21ffe5e3d | 59 | Red = 1; |
natschwa | 2:d0f21ffe5e3d | 60 | Green = 1; |
natschwa | 2:d0f21ffe5e3d | 61 | Blue = 0; |
natschwa | 2:d0f21ffe5e3d | 62 | |
natschwa | 2:d0f21ffe5e3d | 63 | while (true) |
natschwa | 2:d0f21ffe5e3d | 64 | { |
natschwa | 2:d0f21ffe5e3d | 65 | |
natschwa | 2:d0f21ffe5e3d | 66 | buzzer.write(0.0); |
natschwa | 2:d0f21ffe5e3d | 67 | if(BlueTooth.readable()) // read data from the bluetooth serial port |
natschwa | 2:d0f21ffe5e3d | 68 | { |
natschwa | 2:d0f21ffe5e3d | 69 | while(BlueTooth.getc() == 'A'){ // turn LGB LED yellow when Alert recived |
natschwa | 2:d0f21ffe5e3d | 70 | printf("Alert Recieved\n\r"); |
natschwa | 2:d0f21ffe5e3d | 71 | reset_flg = 1; |
natschwa | 2:d0f21ffe5e3d | 72 | Blue = 1; |
natschwa | 2:d0f21ffe5e3d | 73 | Red = 0; |
natschwa | 2:d0f21ffe5e3d | 74 | Green = 0; |
natschwa | 2:d0f21ffe5e3d | 75 | wait(.5); |
natschwa | 2:d0f21ffe5e3d | 76 | Red = 1; |
natschwa | 2:d0f21ffe5e3d | 77 | Green=1; |
natschwa | 2:d0f21ffe5e3d | 78 | wait(0.5); |
natschwa | 2:d0f21ffe5e3d | 79 | } |
natschwa | 2:d0f21ffe5e3d | 80 | buzzer.write(0.0); |
natschwa | 2:d0f21ffe5e3d | 81 | while(BlueTooth.getc() == 'C') // turn LGB LED green upon correct password |
natschwa | 2:d0f21ffe5e3d | 82 | { |
natschwa | 2:d0f21ffe5e3d | 83 | printf("Correct password\n\r"); |
natschwa | 2:d0f21ffe5e3d | 84 | Blue = 1; |
natschwa | 2:d0f21ffe5e3d | 85 | Red = 1; |
natschwa | 2:d0f21ffe5e3d | 86 | Green = 0; |
natschwa | 2:d0f21ffe5e3d | 87 | } |
natschwa | 2:d0f21ffe5e3d | 88 | |
natschwa | 2:d0f21ffe5e3d | 89 | while(BlueTooth.getc() == 'G') |
natschwa | 2:d0f21ffe5e3d | 90 | { |
natschwa | 2:d0f21ffe5e3d | 91 | printf("Alam TimeOut\n\r"); |
natschwa | 2:d0f21ffe5e3d | 92 | } |
natschwa | 2:d0f21ffe5e3d | 93 | |
natschwa | 2:d0f21ffe5e3d | 94 | buzz_on=1; |
natschwa | 2:d0f21ffe5e3d | 95 | while((BlueTooth.getc() == 'F') && reset_flg) // turn LGB LED Red, sound buzzer |
natschwa | 2:d0f21ffe5e3d | 96 | { |
natschwa | 2:d0f21ffe5e3d | 97 | printf("Incorrect Password\n\r"); |
natschwa | 2:d0f21ffe5e3d | 98 | |
natschwa | 2:d0f21ffe5e3d | 99 | Blue = 1; |
natschwa | 2:d0f21ffe5e3d | 100 | Red = 0; |
natschwa | 2:d0f21ffe5e3d | 101 | Green = 1; |
natschwa | 2:d0f21ffe5e3d | 102 | |
natschwa | 2:d0f21ffe5e3d | 103 | if(buzz_on) |
natschwa | 2:d0f21ffe5e3d | 104 | { |
natschwa | 2:d0f21ffe5e3d | 105 | printf("Buzzer On\n\r"); |
natschwa | 2:d0f21ffe5e3d | 106 | buzzer.period(1.0/8.0); |
natschwa | 2:d0f21ffe5e3d | 107 | buzzer.write(.5); |
natschwa | 2:d0f21ffe5e3d | 108 | buzz_on = 0; |
natschwa | 2:d0f21ffe5e3d | 109 | } |
natschwa | 2:d0f21ffe5e3d | 110 | if(sw2==0) // turn off buzzer when sw2 pressed |
natschwa | 2:d0f21ffe5e3d | 111 | { |
natschwa | 2:d0f21ffe5e3d | 112 | printf("Alarm Disabled\n\r"); |
natschwa | 2:d0f21ffe5e3d | 113 | buzzer.write(0.0); |
natschwa | 2:d0f21ffe5e3d | 114 | reset_flg = 0; |
natschwa | 2:d0f21ffe5e3d | 115 | wait(2); |
natschwa | 2:d0f21ffe5e3d | 116 | } |
natschwa | 2:d0f21ffe5e3d | 117 | }//end while |
natschwa | 2:d0f21ffe5e3d | 118 | |
natschwa | 2:d0f21ffe5e3d | 119 | |
natschwa | 2:d0f21ffe5e3d | 120 | //reset_flg = 1; |
natschwa | 2:d0f21ffe5e3d | 121 | printf("Alarm Off\n\r"); |
natschwa | 2:d0f21ffe5e3d | 122 | buzzer.write(0.0); |
natschwa | 2:d0f21ffe5e3d | 123 | Blue = 1; |
natschwa | 2:d0f21ffe5e3d | 124 | Red = 1; |
natschwa | 2:d0f21ffe5e3d | 125 | Green = 1; |
natschwa | 2:d0f21ffe5e3d | 126 | } |
natschwa | 2:d0f21ffe5e3d | 127 | |
natschwa | 2:d0f21ffe5e3d | 128 | }//end while(true) |
natschwa | 2:d0f21ffe5e3d | 129 | } |