display timer for 10 secs when started and then continuously when 16 mins are left
This commit is contained in:
parent
06cdca9036
commit
70f92f4d7e
@ -78,25 +78,41 @@ namespace Display {
|
||||
}
|
||||
|
||||
namespace Timer {
|
||||
int8 timer = 0, currentTimer = 0;
|
||||
|
||||
void start() {
|
||||
currentTimer = timer;
|
||||
auto displayTimer = []{
|
||||
if (currentTimer >= 0) {
|
||||
clockDisplay.print(currentTimer--, DEC);
|
||||
int8 timer = 0, current = 0;
|
||||
Task tDisplayTimer(SECONDS(10), 2,
|
||||
[]{
|
||||
if (current >= 0) {
|
||||
clockDisplay.print(current, DEC);
|
||||
clockDisplay.writeDisplay();
|
||||
}
|
||||
};
|
||||
tDisplayTime.setInterval(MINUTES(1));
|
||||
tDisplayTime.setCallback(displayTimer);
|
||||
tDisplayTime.restart();
|
||||
}, &ts, false,
|
||||
[]{
|
||||
tDisplayTime.disable();
|
||||
return true;
|
||||
},
|
||||
[]{
|
||||
tDisplayTime.enable();
|
||||
});
|
||||
Task tTimer(MINUTES(1), TASK_FOREVER,
|
||||
[]{
|
||||
current--;
|
||||
if (current == timer) tDisplayTimer.restart();
|
||||
if (current == 16) {
|
||||
tDisplayTimer.setIterations(TASK_FOREVER);
|
||||
tDisplayTimer.restart();
|
||||
}
|
||||
}, &ts, false, nullptr,
|
||||
[]{
|
||||
tDisplayTimer.disable();
|
||||
});
|
||||
|
||||
void start() {
|
||||
current = timer+1;
|
||||
tTimer.restart();
|
||||
}
|
||||
|
||||
void stop() {
|
||||
tDisplayTime.setInterval(MILLISECONDS(500));
|
||||
tDisplayTime.setCallback(displayTime);
|
||||
tDisplayTime.restart();
|
||||
tTimer.disable();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user