26 #include "SegmentDriver.h" 27 #include "LedMatrix.h" 33 if (mCurrentSegment != mPrevSegment) {
34 mLedMatrix->disableGroup(mPrevSegment);
38 if (digitPattern != mDigitPattern) {
39 mLedMatrix->drawElements(digitPattern);
40 mDigitPattern = digitPattern;
42 if (mCurrentSegment != mPrevSegment) {
43 mLedMatrix->enableGroup(mCurrentSegment);
46 mPrevSegment = mCurrentSegment;
54 for (uint8_t digit = 0; digit < mNumDigits; digit++) {
57 ? dimmingDigit.pattern : 0;
58 if (pattern & segmentMask) {
59 digitPattern |= digitMask;
uint8_t SegmentPatternType
Integer type used to store the segment bit patterns of a single digit.
virtual void displayCurrentField() override
Display the current field of the frame.
static void incrementMod(T &i, T m)
Increment i modulo m, avoiding expensive % operator on some 8-bit processors like AVR...
static const uint8_t kNumSegments
Number of segments on a single digit.
uint8_t DigitPatternType
Integer type used to store the digit bit patterns of a single segment.