#include "alternate.h" #include void AlternateMode::init(IStairs* stairs, uint32_t currentTime) { stairs->setAll(0); this->lastChange = currentTime; this->even = false; } void AlternateMode::tick(IStairs* stairs, uint32_t currentTime) { if (currentTime - this->lastChange < this->parameters.interval) return; this->lastChange = currentTime; this->even = !this->even; uint8_t stepCount = stairs->getCount(); for (uint8_t step = 0; step < stepCount; step++) { stairs->set(step, ((step % 2) == 0) == this->even ? this->parameters.brightness : 0); } }