AceSegment
0.11.0
A library for rendering seven segment LED displays using the TM1637, TM1638, MAX7219, HT16K33, or 74HC595 controller chips
|
25 #ifndef ACE_SEGMENT_LED_MODULE_H
26 #define ACE_SEGMENT_LED_MODULE_H
30 namespace ace_segment {
58 explicit LedModule(uint8_t* patterns, uint8_t numDigits) :
68 mPatterns[pos] = pattern;
74 return mPatterns[pos];
82 mBrightness = brightness;
83 mIsBrightnessDirty =
true;
97 mDigitDirtyBits = 0xFF;
98 mIsBrightnessDirty =
true;
112 mDigitDirtyBits |= (1 << pos);
117 mDigitDirtyBits &= ~(1 << pos);
122 return mDigitDirtyBits & (1 << pos);
127 mDigitDirtyBits = 0x0;
132 return mDigitDirtyBits != 0;
137 return mIsBrightnessDirty;
142 mIsBrightnessDirty =
true;
147 mIsBrightnessDirty =
false;
158 uint8_t*
const mPatterns;
159 uint8_t
const mNumDigits;
161 uint8_t mDigitDirtyBits;
163 bool mIsBrightnessDirty;
void clearDigitsDirty()
Clear dirty bits of all digits.
void setBrightnessDirty()
Mark the brightness as dirty.
General interface that represents a generic seven-segment LED module with multiple digits.
bool isAnyDigitDirty() const
Return true if any digits are dirty.
void setDigitDirty(uint8_t pos)
Set the dirty bit of digit pos.
void clearDigitDirty(uint8_t pos)
Clear the dirty bit of digit pos.
void begin()
Subclasses should call this from its own begin().
void clearBrightnessDirty()
Clear the dirty bit for brightness.
void setBrightness(uint8_t brightness)
Set global brightness of all digits.
uint8_t getNumDigits() const
Return the number of digits supported by this display instance.
void setPatternAt(uint8_t pos, uint8_t pattern)
Set the led digit pattern at position pos.
void end()
Subclasses should call this from its own end().
LedModule(uint8_t *patterns, uint8_t numDigits)
Constructor.
uint8_t getBrightness() const
Get the current brightness.
bool isBrightnessDirty() const
Check if the brightness level is dirty.
bool isDigitDirty(uint8_t pos) const
Check the dirty bit of digit pos.
uint8_t getPatternAt(uint8_t pos) const
Get the led digit pattern at position pos.