Final project for ECE 4180

Dependencies:   GPS mbed

Fork of GPS_HelloWorld by Simon Ford

Committer:
Gjika
Date:
Mon Nov 16 22:10:27 2015 +0000
Revision:
1:2c4f640a8104
Parent:
0:6b7345059afe
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:6b7345059afe 1 #include "mbed.h"
simon 0:6b7345059afe 2 #include "GPS.h"
simon 0:6b7345059afe 3
simon 0:6b7345059afe 4 Serial pc(USBTX, USBRX);
simon 0:6b7345059afe 5 GPS gps(p9, p10);
Gjika 1:2c4f640a8104 6 DigitalOut led1(LED1);
Gjika 1:2c4f640a8104 7 Timer T;
Gjika 1:2c4f640a8104 8 bool cutdown=0;
Gjika 1:2c4f640a8104 9 DigitalOut relay(p8);
Gjika 1:2c4f640a8104 10 bool attempted=0;
Gjika 1:2c4f640a8104 11 DigitalIn DTMF(p11);
Gjika 1:2c4f640a8104 12 AnalogIn Temp1(p18);
Gjika 1:2c4f640a8104 13 AnalogIn Temp2(p19);
Gjika 1:2c4f640a8104 14 AnalogIn Temp3(p20);
simon 0:6b7345059afe 15
simon 0:6b7345059afe 16 int main() {
Gjika 1:2c4f640a8104 17 T.start();
Gjika 1:2c4f640a8104 18 relay=0;
Gjika 1:2c4f640a8104 19 float tempC1, tempF1, tempC2, tempF2, tempC3, tempF3;
simon 0:6b7345059afe 20 while(1) {
Gjika 1:2c4f640a8104 21
Gjika 1:2c4f640a8104 22 pc.printf("----- %f -----\n\r",T.read());
Gjika 1:2c4f640a8104 23 if(T.read()>= 20){
Gjika 1:2c4f640a8104 24 cutdown=1;
Gjika 1:2c4f640a8104 25 }
Gjika 1:2c4f640a8104 26
Gjika 1:2c4f640a8104 27 gps.sample();
Gjika 1:2c4f640a8104 28 pc.printf("Long = %f\n\rLati = %f\n\r", gps.longitude, gps.latitude);
Gjika 1:2c4f640a8104 29 if(gps.longitude != 0){
Gjika 1:2c4f640a8104 30 led1=1;
Gjika 1:2c4f640a8104 31 }
Gjika 1:2c4f640a8104 32
Gjika 1:2c4f640a8104 33 tempC1 = ((Temp1*3.3)-0.600)*100.0;
Gjika 1:2c4f640a8104 34 tempC2 = ((Temp2*3.3)-0.600)*100.0;
Gjika 1:2c4f640a8104 35 tempC3 = ((Temp3*3.3)-0.600)*100.0;
Gjika 1:2c4f640a8104 36 tempF1 = (9.0*tempC1)/5.0 + 32;
Gjika 1:2c4f640a8104 37 tempF2 = (9.0*tempC2)/5.0 + 32;
Gjika 1:2c4f640a8104 38 tempF3 = (9.0*tempC3)/5.0 + 32;
Gjika 1:2c4f640a8104 39 pc.printf("Temp1 = %f\n\rTemp2 = %f\n\rTemp3 = %f\n\r",tempF1, tempF2, tempF3);
Gjika 1:2c4f640a8104 40
Gjika 1:2c4f640a8104 41 if (DTMF){
Gjika 1:2c4f640a8104 42 pc.printf("DTMF = True\n\r");
Gjika 1:2c4f640a8104 43 cutdown=1;
Gjika 1:2c4f640a8104 44 } else {
Gjika 1:2c4f640a8104 45 pc.printf("DTMF = False\n\r");
Gjika 1:2c4f640a8104 46 }
Gjika 1:2c4f640a8104 47
Gjika 1:2c4f640a8104 48 if (cutdown==1 && attempted != 1){
Gjika 1:2c4f640a8104 49 pc.printf("Cutdown Started = %f\n\r",T.read());
Gjika 1:2c4f640a8104 50 relay=1;
Gjika 1:2c4f640a8104 51 wait(20);
Gjika 1:2c4f640a8104 52 relay=0;
Gjika 1:2c4f640a8104 53 pc.printf("Cutdown Ended = %f\n\r",T.read());
Gjika 1:2c4f640a8104 54 attempted=1;
Gjika 1:2c4f640a8104 55 }
Gjika 1:2c4f640a8104 56
simon 0:6b7345059afe 57 }
simon 0:6b7345059afe 58 }
Gjika 1:2c4f640a8104 59