ttt2/my_src/timer.c
Wolfgang Hottgenroth 4739491654 alarm stuff
2017-06-02 17:30:39 +02:00

49 lines
791 B
C

/*
* timer.c
*
* Created on: May 31, 2017
* Author: wn
*/
#include "timer.h"
#include "display.h"
#include "alarm.h"
extern tDisplay display;
void startTimer() {
display.timerState = STARTED;
}
void stopTimer() {
display.timerState = IDLE;
}
void secondTick(void *handle) {
tDisplay *lDisplay = (tDisplay*) handle;
switch (lDisplay->timerState) {
case STARTED:
lDisplay->currentTime = lDisplay->targetTime;
lDisplay->overrunTime = 0;
lDisplay->timerState = RUNNING;
break;
case RUNNING:
lDisplay->currentTime -= 1;
if (lDisplay->currentTime == 0) {
enableAlarm();
lDisplay->timerState = OVERRUN;
}
break;
case OVERRUN:
lDisplay->overrunTime += 1;
break;
case IDLE:
;
break;
default:
;
}
}