35 return setTimer(interval_msec,
function, 0);
43 return setTimer(interval_msec,
function, 1);
58 _timer_info[id].setEnabled(
true);
66 _timer_info[id].setEnabled(
false);
74 _timer_info[id].toggle();
82 return ((uint_fast8_t)
id <
MAX_TIMERS) ? _timer_info[id].getEnabled() :
false;
101 void set(uint32_t interval_msec,
timer_callback function, uint32_t times);
102 bool run(uint32_t interval_msec);
105 inline timer_callback getCallback(
void)
const {
return _callback; }
106 inline bool getEnabled(
void)
const {
return _enabled; }
107 inline void setEnabled(
bool flg) { _enabled = flg; }
108 inline void toggle(
void) { _enabled = !_enabled; }
109 inline void setPreviousMsec(uint32_t msec) { _prev_msec = msec; }
113 uint32_t _prev_msec = 0;
114 uint32_t _interval = 0;
115 uint32_t _remain = 0;
116 bool _enabled =
false;
121 uint8_t _enable_count = 0;
std::function< void(void)> timer_callback
uint_fast8_t getNumTimers(void) const
void restartTimer(int_fast8_t id)
void toggle(int_fast8_t id)
int_fast8_t setTimeout(uint32_t interval_msec, timer_callback function)
void disable(int_fast8_t id)
int_fast8_t setInterval(uint32_t interval_msec, timer_callback function)
void deleteTimer(int_fast8_t id)
static constexpr const uint32_t MAX_TIMERS
maximum number of timers
void enable(int_fast8_t id)
uint_fast8_t getNumAvailableTimers(void) const
bool isEnabled(int_fast8_t id) const
void run(void)
this function must be called inside loop()
int_fast8_t setTimer(uint32_t interval_msec, timer_callback function, uint32_t times)