header file
Dependencies: N5110 PowerControl SRF02 beep mbed
timeMgr.h@3:bbfabbbc4291, 2015-05-11 (annotated)
- 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?
User | Revision | Line number | New 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 |