Whitworth-EN173-2016
/
SmartRise_MBED
Alarm Clock
Fork of SmartRise_MBED by
Diff: TimeControl.cpp
- Revision:
- 6:73866b51e0b7
- Parent:
- 4:33f3750fe70a
- Child:
- 7:5412a6d7ef6d
--- a/TimeControl.cpp Tue Jan 26 00:47:00 2016 +0000 +++ b/TimeControl.cpp Tue Jan 26 01:14:35 2016 +0000 @@ -6,7 +6,7 @@ DigitalIn HrAdjustUp(p6); DigitalIn HrAdjustDown(p7); DigitalIn MinAdjust(p8); //buttons for setting time and alarm -DigitalIn AlarmAdjust(p9); + DigitalOut arm(p12); struct tm* t; @@ -16,26 +16,25 @@ Timer set; void time_init(void){ //starting time and timers - time_t rawTime; set.start(); - + AHH=12;Amm=0; } -void timeDisplay(void){ +void timeDisplay(void){ //main time management function and display + time_t rawTime; time(&rawTime); t = localtime(&rawTime); HH=t->tm_hour; mm=t->tm_min; //updating local hr and min var - //TIME + //TIME format if(HH>12)hh=HH-12; else hh=HH+1; //convert 24 to 12 hr if(HH>=12) d='P'; else d='A'; //update am/pm - //Alarm + //Alarm format if(AHH>12)Ahh=AHH-12; else Ahh=AHH+1; //convert 24 to 12 hr if(AHH>=12) ad='P'; else ad='A'; - - + lcd.printf(" %2d/%.2d %2d:%.2d%cM Alarm-%2I:%.2I%cM " , t->tm_mon+1,t->tm_mday,hh,t->tm_min,d,Ahh,Amm,ad); //Print date(month/day), time - +} @@ -50,4 +49,21 @@ } } +void timeProg(void){ + time_t seconds = time(NULL); + if(set.read()>0.3){ + if(HrAdjustUp==1){ + set_time(seconds+60*60); + set.reset(); + } + if(HrAdjustDown==1){ + set_time(seconds-60*60); + set.reset(); + } + if(MinAdjust==1){ + set_time(seconds+60); + set.reset(); + } + } +}