esp-clock/include/timer.h

24 lines
405 B
C++

#pragma once
#include "helper.h"
typedef void (*remaining_callback_t)(int8);
struct : public CallbackAware<remaining_callback_t> {
void operator=(int8 value) {
remaining = value;
if (callback) callback(remaining);
}
operator int8_t() {
return remaining;
}
void decrease() {
*this = remaining - 1;
}
private:
int8_t remaining = 0;
} timer;