header file

Dependencies:   N5110 PowerControl SRF02 beep mbed

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