10uint8_t
time_alpha8(uint32_t now, uint32_t start, uint32_t end);
12uint16_t
time_alpha16(uint32_t now, uint32_t start, uint32_t end);
19 virtual uint8_t
update(uint32_t now) = 0;
21 return static_cast<uint16_t
>(
update(now) << 8);
47 TimeRamp(uint32_t risingTime, uint32_t latchMs, uint32_t fallingTime);
50 void trigger(uint32_t now)
override;
52 void trigger(uint32_t now, uint32_t risingTime, uint32_t latchMs,
53 uint32_t fallingTime);
56 bool isActive(uint32_t now)
const override;
60 uint8_t
update(uint32_t now)
override;
100 bool not_started = (
mEnd == 0) && (
mStart == 0);
117 bool not_started = (
mEnd == 0) && (
mStart == 0);
virtual uint16_t update16(uint32_t now)
virtual bool isActive(uint32_t now) const =0
virtual void trigger(uint32_t now)=0
virtual ~TimeAlpha()=default
virtual uint8_t update(uint32_t now)=0
void trigger(uint32_t now) override
TimeLinear(uint32_t duration)
bool isActive(uint32_t now) const override
uint8_t update(uint32_t now) override
uint8_t update(uint32_t now) override
Compute current 0–255 output based on how much time has elapsed since trigger().
bool isActive(uint32_t now) const override
void trigger(uint32_t now) override
Call this when you want to (re)start the ramp cycle.
uint32_t mFinishedFallingTime
TimeRamp(uint32_t risingTime, uint32_t latchMs, uint32_t fallingTime)
uint32_t mFinishedPlateauTime
uint32_t mFinishedRisingTime
uint8_t time_alpha8(uint32_t now, uint32_t start, uint32_t end)
uint16_t time_alpha16(uint32_t now, uint32_t start, uint32_t end)
Implements a simple red square effect for 2D LED grids.