27 #include "LedMatrix.h" 28 #include "ModulatingDigitDriver.h" 33 if (mPreparedToSleep)
return;
35 bool isCurrentDigitOn;
37 uint8_t brightness = dimmablePattern.brightness;
47 isCurrentDigitOn =
false;
48 mCurrentSubFieldMax = ((uint16_t) mNumSubFields * brightness) / 256;
56 if (brightness < 255 && mCurrentSubField >= mCurrentSubFieldMax) {
58 if (isCurrentDigitOn) {
60 isCurrentDigitOn =
false;
64 if (!isCurrentDigitOn) {
66 if (segmentPattern != mSegmentPattern) {
67 mLedMatrix->drawElements(segmentPattern);
68 mSegmentPattern = segmentPattern;
71 isCurrentDigitOn =
true;
78 if (mCurrentSubField >= mNumSubFields) {
uint8_t SegmentPatternType
Integer type used to store the segment bit patterns of a single digit.
uint8_t mPrevDigit
Within the displayCurrentField() method, the mPrevDigit is the digit that was displayed on the previo...
static void incrementMod(T &i, T m)
Increment i modulo m, avoiding expensive % operator on some 8-bit processors like AVR...
uint8_t mCurrentDigit
Within the displayCurrentField() method, mCurrentDigit is the current digit that is being drawn...
bool mIsPrevDigitOn
Whether the previous digit was turned on or off.
virtual void displayCurrentField() override
Display the current field of the frame.