Dependencies: MMA8452 N5110 PowerControl beep mbed
Clock.h
- Committer:
- stevenle93
- Date:
- 2015-05-04
- Revision:
- 3:1974db5993ef
- Parent:
- 2:57d1ed1f0ad3
- Child:
- 5:c0a58a6916f2
File content as of revision 3:1974db5993ef:
/** @ file Clock.h @ brief Header file of a count down clock containing Ticker on RTC and display time on N5110 Nokia Screen */ #ifndef CLOCK_H #define CLOCK_H #include "mbed.h" #include "N5110.h" #include "MMA8452.h" Ticker timer; int CClock; DigitalOut led(p22); BusOut leds(LED1, LED2, LED3, LED4); void knightrunner() { int t = 5; while(t > 0){ for(int i=1; i<=8; i=i*2) { leds = i; wait (0.05); } for(int j=4; j>=2; j=j/2) { leds = j; wait(0.05); } t = t - 2; } } void flashLed() { led =!led; } int timerFlag = 0; void timerExpired() { timerFlag = 1; //Set flag for timer of the countdown } class Clock { private: Ticker timer; public: void countDown(); void timeout(); }; void Clock::countDown() { if (timerFlag) { timerFlag = 0; if (CClock > 10) { CClock = CClock - 1; char Clockbuffer[14]; sprintf(Clockbuffer," %d", CClock); lcd.printString(Clockbuffer,33,2); } else if (CClock > 0) { //lcd.clear(); CClock = CClock - 1; char Clockbuffer[14]; sprintf(Clockbuffer," %d", CClock); lcd.printString(Clockbuffer,39,2); flashLed(); } } } void Clock::timeout() { lcd.clear(); lcd.printString("Time Out",16,3); knightrunner(); CClock = CClock - 1; leds = 0; } #endif