header file

Dependencies:   N5110 PowerControl SRF02 beep mbed

Committer:
probrania7
Date:
Tue May 05 00:39:32 2015 +0000
Revision:
0:7a82ad48df33
Child:
3:bbfabbbc4291
rev1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
probrania7 0:7a82ad48df33 1 #include "mbed.h"
probrania7 0:7a82ad48df33 2 Serial serial(USBTX,USBRX);
probrania7 0:7a82ad48df33 3 void serialISR(); // ISR that is called when serial data is received
probrania7 0:7a82ad48df33 4 void setTime(); // function to set the UNIX time
probrania7 0:7a82ad48df33 5 int setTimeFlag = 0; // flag for ISR
probrania7 0:7a82ad48df33 6 char rxString[16]; // buffer to store received string
probrania7 0:7a82ad48df33 7 void timer2Expired();
probrania7 0:7a82ad48df33 8 Ticker timer2;
probrania7 0:7a82ad48df33 9 int timer2Flag = 0;
probrania7 0:7a82ad48df33 10 char buffer2[30]; // buffer used to store time string
probrania7 0:7a82ad48df33 11 void getCurrentTime();
probrania7 0:7a82ad48df33 12 void chkUpdateTime();
probrania7 0:7a82ad48df33 13
probrania7 0:7a82ad48df33 14
probrania7 0:7a82ad48df33 15
probrania7 0:7a82ad48df33 16 void setTime()
probrania7 0:7a82ad48df33 17 {
probrania7 0:7a82ad48df33 18 // print time for debugging
probrania7 0:7a82ad48df33 19 serial.printf("\n\n\rset_time - %s",rxString);
probrania7 0:7a82ad48df33 20 // atoi() converts a string to an integer
probrania7 0:7a82ad48df33 21 int time = atoi(rxString);
probrania7 0:7a82ad48df33 22 // update the time
probrania7 0:7a82ad48df33 23 set_time(time); //string of numbers from epoch like "1430659413"
probrania7 0:7a82ad48df33 24 }
probrania7 0:7a82ad48df33 25 void serialISR()
probrania7 0:7a82ad48df33 26 {
probrania7 0:7a82ad48df33 27
probrania7 0:7a82ad48df33 28 // when a serial interrupt occurs, read rx string into buffer
probrania7 0:7a82ad48df33 29 serial.gets(rxString,16);
probrania7 0:7a82ad48df33 30 // set flag
probrania7 0:7a82ad48df33 31 setTimeFlag = 1;
probrania7 0:7a82ad48df33 32
probrania7 0:7a82ad48df33 33 }
probrania7 0:7a82ad48df33 34 //ISR
probrania7 0:7a82ad48df33 35 void timer2Expired()
probrania7 0:7a82ad48df33 36 {
probrania7 0:7a82ad48df33 37 timer2Flag = 1;
probrania7 0:7a82ad48df33 38 }
probrania7 0:7a82ad48df33 39
probrania7 0:7a82ad48df33 40 void getCurrentTime()
probrania7 0:7a82ad48df33 41 {
probrania7 0:7a82ad48df33 42 timer2Flag = 0;
probrania7 0:7a82ad48df33 43 time_t seconds = time(NULL); // get current time
probrania7 0:7a82ad48df33 44 // format time into a string (time and date)
probrania7 0:7a82ad48df33 45 strftime(buffer2, 30 , "%R %d %b", localtime(&seconds));
probrania7 0:7a82ad48df33 46 // print over serial
probrania7 0:7a82ad48df33 47 serial.printf("\n\n\rTime = %s\n",buffer2);
probrania7 0:7a82ad48df33 48 }
probrania7 0:7a82ad48df33 49
probrania7 0:7a82ad48df33 50 void chkUpdateTime()
probrania7 0:7a82ad48df33 51 { // if updated time has been sent
probrania7 0:7a82ad48df33 52 setTimeFlag = 0; // clear flag
probrania7 0:7a82ad48df33 53 setTime(); // update time
probrania7 0:7a82ad48df33 54 }