holiday-lights/pulse.cpp

27 lines
449 B
C++

#include "pulse.h"
#include <Arduino.h>
Pulse::Pulse(unsigned long period) {
this->period = period;
this->nextEventMillis = 0;
}
bool Pulse::Ticked() {
unsigned long now = millis();
if (now >= nextEventMillis) {
Until(period, now);
return true;
}
return false;
}
void Pulse::Until(unsigned long next, unsigned long now) {
nextEventMillis = now + next;
}
void Pulse::Until(unsigned long next) {
Until(next, millis());
}