unify periodic timers

This commit is contained in:
geeksville
2020-02-21 08:41:36 -08:00
parent 132e54ecc5
commit 5f3e8b5309
7 changed files with 76 additions and 58 deletions

19
src/PeriodicTask.cpp Normal file
View File

@@ -0,0 +1,19 @@
#include "PeriodicTask.h"
#include "Periodic.h"
PeriodicTask::PeriodicTask(uint32_t initialPeriod) : period(initialPeriod)
{
}
/// call this from loop
void PeriodicTask::loop()
{
uint32_t now = millis();
if (period && (now - lastMsec) >= period)
{
lastMsec = now;
period = doTask();
}
}
uint32_t Periodic::doTask() { return callback(); }