header file

Dependencies:   N5110 PowerControl SRF02 beep mbed

Committer:
probrania7
Date:
Mon May 11 18:47:19 2015 +0000
Revision:
3:bbfabbbc4291
Parent:
0:7a82ad48df33
Ultrasonic ver1

Who changed what in which revision?

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