37 void ScaleColor(uint16_t scale,
typename T_COLOR_FEATURE::ColorObject* color)
43 uint8_t* ptr = (uint8_t*)color;
44 uint8_t* ptrEnd = ptr +
sizeof(
typename T_COLOR_FEATURE::ColorObject);
48 uint16_t value = *ptr;
49 *ptr++ = (value * scale) >> 8;
53 void ConvertColor(
typename T_COLOR_FEATURE::ColorObject* color)
56 uint16_t scale = _brightness + 1;
57 ScaleColor(scale, color);
60 void RecoverColor(
typename T_COLOR_FEATURE::ColorObject* color)
const
66 uint8_t* ptr = (uint8_t*)color;
67 uint8_t* ptrEnd = ptr +
sizeof(
typename T_COLOR_FEATURE::ColorObject);
68 uint16_t scale = _brightness + 1;
72 uint16_t value = *ptr;
73 *ptr++ = (value << 8) / scale;
97 LumitronixIFlexBus<T_COLOR_FEATURE, T_METHOD>(countPixels, pinClock, pinData, pinLatch, pinOutputEnable),
111 if (brightness != _brightness)
113 uint16_t scale = ((
static_cast<uint16_t
>(brightness) + 1) << 8) / (
static_cast<uint16_t
>(_brightness) + 1);
117 for (uint16_t indexPixel = 0; indexPixel < LumitronixIFlexBus<T_COLOR_FEATURE, T_METHOD>::PixelCount(); indexPixel++)
120 ScaleColor(scale, &color);
124 _brightness = brightness;
134 void SetPixelColor(uint16_t indexPixel,
typename T_COLOR_FEATURE::ColorObject color)
136 ConvertColor(&color);
140 typename T_COLOR_FEATURE::ColorObject
GetPixelColor(uint16_t indexPixel)
const
143 RecoverColor(&color);
147 void ClearTo(
typename T_COLOR_FEATURE::ColorObject color)
149 ConvertColor(&color);
153 void ClearTo(
typename T_COLOR_FEATURE::ColorObject color, uint16_t first, uint16_t last)
155 ConvertColor(&color);
NeoBusChannel
Definition: NeoBusChannel.h:12
Definition: LumitronixIFlexBrightnessBus.h:34
LumitronixIFlexBrightnessBus(uint16_t countPixels, uint8_t pin, NeoBusChannel channel)
Definition: LumitronixIFlexBrightnessBus.h:84
LumitronixIFlexBrightnessBus(uint16_t countPixels)
Definition: LumitronixIFlexBrightnessBus.h:102
uint8_t GetBrightness() const
Definition: LumitronixIFlexBrightnessBus.h:129
void SetPixelColor(uint16_t indexPixel, typename T_COLOR_FEATURE::ColorObject color)
Definition: LumitronixIFlexBrightnessBus.h:134
void ClearTo(typename T_COLOR_FEATURE::ColorObject color)
Definition: LumitronixIFlexBrightnessBus.h:147
T_COLOR_FEATURE::ColorObject GetPixelColor(uint16_t indexPixel) const
Definition: LumitronixIFlexBrightnessBus.h:140
uint8_t _brightness
Definition: LumitronixIFlexBrightnessBus.h:161
void ClearTo(typename T_COLOR_FEATURE::ColorObject color, uint16_t first, uint16_t last)
Definition: LumitronixIFlexBrightnessBus.h:153
LumitronixIFlexBrightnessBus(uint16_t countPixels, uint8_t pin)
Definition: LumitronixIFlexBrightnessBus.h:78
LumitronixIFlexBrightnessBus(uint16_t countPixels, uint8_t pinClock, uint8_t pinData)
Definition: LumitronixIFlexBrightnessBus.h:90
LumitronixIFlexBrightnessBus(uint16_t countPixels, uint8_t pinClock, uint8_t pinData, uint8_t pinLatch, uint8_t pinOutputEnable=NOT_A_PIN)
Definition: LumitronixIFlexBrightnessBus.h:96
void SetBrightness(uint8_t brightness)
Definition: LumitronixIFlexBrightnessBus.h:108
Definition: LumitronixIFlexBusLg.h:42
Definition: LumitronixIFlexBus.h:47
void Dirty()
Definition: LumitronixIFlexBus.h:146
T_COLOR_FEATURE::ColorObject GetPixelColor(uint16_t indexPixel) const
Definition: LumitronixIFlexBus.h:185
void SetPixelColor(uint16_t indexPixel, typename T_COLOR_FEATURE::ColorObject color)
Definition: LumitronixIFlexBus.h:176
void ClearTo(typename T_COLOR_FEATURE::ColorObject color)
Definition: LumitronixIFlexBus.h:199