LoRa_APRS_iGate/src/System/Timer.cpp

31 wiersze
502 B
C++
Czysty Zwykły widok Historia

2021-05-18 23:17:23 +00:00
#include <Arduino.h>
2021-03-12 19:01:47 +00:00
#include "Timer.h"
Timer::Timer() : _timeout_ms(0), _nextTimeout(0) {
2021-03-12 19:01:47 +00:00
}
void Timer::setTimeout(const uint32_t timeout_ms) {
_timeout_ms = timeout_ms;
2021-03-12 19:01:47 +00:00
}
2021-05-18 23:17:23 +00:00
uint32_t Timer::getTriggerTimeInSec() const {
return (_nextTimeout - millis()) / 1000;
2021-03-12 19:01:47 +00:00
}
bool Timer::isActive() const {
return _nextTimeout != 0;
2021-03-12 19:01:47 +00:00
}
void Timer::reset() {
_nextTimeout = 0;
2021-03-12 19:01:47 +00:00
}
bool Timer::check() {
return millis() > _nextTimeout;
2021-03-12 19:01:47 +00:00
}
void Timer::start() {
_nextTimeout = millis() + _timeout_ms;
2021-03-12 19:01:47 +00:00
}