27 lines
593 B
C++
27 lines
593 B
C++
#include "alternate.h"
|
|
#include <Stream.h>
|
|
|
|
|
|
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);
|
|
}
|
|
} |