Dependencies: MMA8452 N5110 PowerControl beep mbed
Clock.h
- Committer:
- stevenle93
- Date:
- 2015-05-09
- Revision:
- 8:aebb468546c5
- Parent:
- 5:c0a58a6916f2
- Child:
- 9:522f9311ff4b
File content as of revision 8:aebb468546c5:
/** @ 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" #include "beep.h" Ticker timer; int CClock; DigitalOut led(p22); BusOut leds(LED1, LED2, LED3, LED4); Beep beep(p26); int timerFlag = 0; void timerExpired() { timerFlag = 1; //Set flag for timer of the countdown } class Clock { public: void flashLed(); void knightrunner(); void countDown(); void timeout(); }; void Clock::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 Clock::flashLed() { led =!led; } 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) { CClock = CClock - 1; char Clockbuffer[14]; sprintf(Clockbuffer," %d", CClock); lcd.printString(Clockbuffer,39,2); beep.beep(1000,0.2); wait(0.1); beep.beep(10000,0.2); wait(0.1); beep.beep(600,0.2); flashLed(); } } } void Clock::timeout() { lcd.clear(); lcd.printString("Time Out",16,3); knightrunner(); CClock = CClock - 1; leds = 0; } #endif