26 #include "DigitDriver.h" 27 #include "LedMatrix.h" 33 if (mCurrentDigit != mPrevDigit) {
34 mLedMatrix->disableGroup(mPrevDigit);
35 mIsCurrentDigitOn =
false;
38 DimmingDigit& dimmingDigit = mDimmingDigits[mCurrentDigit];
39 if (dimmingDigit.brightness == 0) {
40 if (mIsCurrentDigitOn) {
41 mLedMatrix->disableGroup(mCurrentDigit);
42 mIsCurrentDigitOn =
false;
45 if (!mIsCurrentDigitOn) {
47 if (segmentPattern != mSegmentPattern) {
48 mLedMatrix->drawElements(segmentPattern);
49 mSegmentPattern = segmentPattern;
51 mLedMatrix->enableGroup(mCurrentDigit);
52 mIsCurrentDigitOn =
true;
56 mPrevDigit = mCurrentDigit;
uint8_t SegmentPatternType
Integer type used to store the segment bit patterns of a single digit.
static void incrementMod(T &i, T m)
Increment i modulo m, avoiding expensive % operator on some 8-bit processors like AVR...
virtual void displayCurrentField() override
Display the current field of the frame.