85 SevenSegDigit(uint8_t bitmask, uint8_t brightness, uint8_t defaultBrightness = 0);
93 SevenSegDigit(
char letter, uint8_t brightness, uint8_t defaultBrightness = 0,
bool maintainCase =
false);
108 for (uint8_t iSegment = 0; iSegment <
Count; iSegment++)
120 return !(*
this == other);
170 void Darken(uint8_t delta);
209 template <
typename T_SET_TARGET>
214 uint8_t defaultBrightness = 0)
221 const char* pFirst = str;
222 const char* pIter = str;
226 while (*pIter !=
'\0')
233 while (pIter >= pFirst)
235 bool decimal =
false;
236 bool special =
false;
237 char value = *pIter--;
243 if (value ==
':' || value ==
';')
251 if (pIter >= pFirst && (value ==
'.' || value ==
','))
254 if (*(pIter) != value)
263 if (pIter >= pFirst && (*pIter ==
':' || *pIter ==
';'))
281 target.SetPixelColor(indexDigit, digit);
293 const static uint8_t
Max = 255;
303 void init(uint8_t bitmask, uint8_t brightness, uint8_t defaultBrightness);
307 return (
static_cast<uint16_t
>(value) * (
static_cast<uint16_t
>(ratio) + 1)) >> 8;
312 uint16_t element = ((
static_cast<uint16_t
>(value) + 1) << 8) / (
static_cast<uint16_t
>(ratio) + 1);
LedSegment
Definition: SegmentDigit.h:29
@ LedSegment_COUNT
Definition: SegmentDigit.h:39
@ LedSegment_E
Definition: SegmentDigit.h:34
@ LedSegment_G
Definition: SegmentDigit.h:36
@ LedSegment_D
Definition: SegmentDigit.h:33
@ LedSegment_F
Definition: SegmentDigit.h:35
@ LedSegment_Custom
Definition: SegmentDigit.h:38
@ LedSegment_B
Definition: SegmentDigit.h:31
@ LedSegment_C
Definition: SegmentDigit.h:32
@ LedSegment_Decimal
Definition: SegmentDigit.h:37
@ LedSegment_A
Definition: SegmentDigit.h:30
Definition: SegmentDigit.h:43
uint16_t SegmentTenthMilliAmpere
Definition: SegmentDigit.h:52
uint16_t SpecialTenthMilliAmpere
Definition: SegmentDigit.h:54
uint16_t DecimalTenthMilliAmpere
Definition: SegmentDigit.h:53
NeoSevenSegCurrentSettings(uint16_t segments, uint16_t decimal, uint16_t special=0)
Definition: SegmentDigit.h:45
Definition: SegmentDigit.h:67
static const uint8_t Max
Definition: SegmentDigit.h:293
SevenSegDigit()
Definition: SegmentDigit.h:99
static uint8_t _elementDim(uint8_t value, uint8_t ratio)
Definition: SegmentDigit.h:305
uint8_t & operator[](size_t idx)
Definition: SegmentDigit.h:138
uint32_t CalcTotalTenthMilliAmpere(const SettingsObject &settings)
Definition: SegmentDigit.h:194
SevenSegDigit(uint8_t defaultBrightness)
Definition: SegmentDigit.h:74
uint8_t Segment[Count]
Definition: SegmentDigit.h:291
static const uint8_t DecodeNumbers[10]
Definition: SegmentDigit.h:297
void Darken(uint8_t delta)
Definition: SegmentDigit.cpp:145
void Lighten(uint8_t delta)
Definition: SegmentDigit.cpp:162
uint8_t operator[](size_t idx) const
Definition: SegmentDigit.h:128
static const uint8_t Count
Definition: SegmentDigit.h:290
bool operator==(const SevenSegDigit &other) const
Definition: SegmentDigit.h:106
static const uint8_t DecodeAlpha[26]
Definition: SegmentDigit.h:299
static uint8_t _elementBrighten(uint8_t value, uint8_t ratio)
Definition: SegmentDigit.h:310
bool operator!=(const SevenSegDigit &other) const
Definition: SegmentDigit.h:118
static SevenSegDigit LinearBlend(const SevenSegDigit &left, const SevenSegDigit &right, float progress)
Definition: SegmentDigit.cpp:179
SevenSegDigit Brighten(uint8_t ratio) const
Definition: SegmentDigit.cpp:134
NeoSevenSegCurrentSettings SettingsObject
Definition: SegmentDigit.h:68
SevenSegDigit Dim(uint8_t ratio) const
Definition: SegmentDigit.cpp:123
static const uint8_t DecodeAlphaCaps[26]
Definition: SegmentDigit.h:298
uint8_t CalculateBrightness() const
Definition: SegmentDigit.cpp:111
static const uint8_t DecodeSpecial[4]
Definition: SegmentDigit.h:300
void init(uint8_t bitmask, uint8_t brightness, uint8_t defaultBrightness)
Definition: SegmentDigit.cpp:61
static void SetString(T_SET_TARGET &target, uint16_t indexDigit, const char *str, uint8_t brightness, uint8_t defaultBrightness=0)
Definition: SegmentDigit.h:210