25 #ifndef ACE_SEGMENT_BLINK_STYLER_H 26 #define ACE_SEGMENT_BLINK_STYLER_H 35 BlinkStyler(uint8_t framesPerSecond, uint16_t durationMillis):
36 mFramesPerBlink((uint32_t) framesPerSecond * durationMillis / 1000)
40 uint16_t middleOfBlink = mFramesPerBlink / 2;
41 mBlinkState = (mCurrentFrame < middleOfBlink) ? kOn : kOff;
45 virtual void apply(uint8_t* pattern, uint8_t* brightness)
override {
46 if (mBlinkState == kOff) {
54 static const uint8_t kOff = 0;
55 static const uint8_t kOn = 1;
57 const uint16_t mFramesPerBlink;
58 uint16_t mCurrentFrame = 0;
virtual bool requiresBrightness() override
Requires driver support for brightness control if true.
virtual void apply(uint8_t *pattern, uint8_t *brightness) override
Changes updates the brightness for current frame.
virtual void calcForFrame() override
Called once per frame to update the internal variables of the object.
Interface for classes which apply a style to the given bit pattern and brightness.
static void incrementMod(T &i, T m)
Increment i modulo m, avoiding expensive % operator on some 8-bit processors like AVR...