header file
Dependencies: N5110 PowerControl SRF02 beep mbed
Diff: timeMgr.h
- Revision:
- 0:7a82ad48df33
- Child:
- 3:bbfabbbc4291
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/timeMgr.h Tue May 05 00:39:32 2015 +0000 @@ -0,0 +1,54 @@ +#include "mbed.h" +Serial serial(USBTX,USBRX); +void serialISR(); // ISR that is called when serial data is received +void setTime(); // function to set the UNIX time +int setTimeFlag = 0; // flag for ISR +char rxString[16]; // buffer to store received string +void timer2Expired(); +Ticker timer2; +int timer2Flag = 0; +char buffer2[30]; // buffer used to store time string +void getCurrentTime(); +void chkUpdateTime(); + + + +void setTime() +{ +// print time for debugging + serial.printf("\n\n\rset_time - %s",rxString); +// atoi() converts a string to an integer + int time = atoi(rxString); +// update the time + set_time(time); //string of numbers from epoch like "1430659413" +} +void serialISR() +{ + +// when a serial interrupt occurs, read rx string into buffer + serial.gets(rxString,16); +// set flag + setTimeFlag = 1; + +} +//ISR +void timer2Expired() +{ + timer2Flag = 1; +} + +void getCurrentTime() +{ + timer2Flag = 0; + time_t seconds = time(NULL); // get current time + // format time into a string (time and date) + strftime(buffer2, 30 , "%R %d %b", localtime(&seconds)); + // print over serial + serial.printf("\n\n\rTime = %s\n",buffer2); +} + +void chkUpdateTime() +{ // if updated time has been sent + setTimeFlag = 0; // clear flag + setTime(); // update time +} \ No newline at end of file