26 #include "SegmentDriver.h" 27 #include "LedMatrix.h" 33 if (mPreparedToSleep)
return;
35 if (mCurrentSegment != mPrevSegment) {
36 mLedMatrix->disableGroup(mPrevSegment);
40 if (digitPattern != mDigitPattern) {
41 mLedMatrix->drawElements(digitPattern);
42 mDigitPattern = digitPattern;
44 if (mCurrentSegment != mPrevSegment) {
45 mLedMatrix->enableGroup(mCurrentSegment);
48 mPrevSegment = mCurrentSegment;
56 for (uint8_t digit = 0; digit < mNumDigits; digit++) {
59 ? dimmablePattern.pattern : 0;
60 if (pattern & segmentMask) {
61 digitPattern |= digitMask;
70 if (mCurrentSegment != mPrevSegment) {
71 mLedMatrix->disableGroup(mPrevSegment);
uint8_t SegmentPatternType
Integer type used to store the segment bit patterns of a single digit.
virtual void prepareToSleep() override
Prepare to go to sleep by clearing the frame, and setting a flag so that it doesn't turn itself back ...
virtual void prepareToSleep()
Prepare to go to sleep by clearing the frame, and setting a flag so that it doesn't turn itself back ...
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.