12#include "NeoPixelBus.h"
15namespace neopixelbus {
50template<
typename T_METHOD,
typename T_COLOR_FEATURE>
56 for (
int i = 0; i < this->
size(); i++)
61 void add_leds(uint16_t count_pixels, uint8_t pin) {
62 this->
add_leds(
new NeoPixelBus<T_COLOR_FEATURE, T_METHOD>(count_pixels, pin));
64 void add_leds(uint16_t count_pixels, uint8_t pin_clock, uint8_t pin_data) {
65 this->
add_leds(
new NeoPixelBus<T_COLOR_FEATURE, T_METHOD>(count_pixels, pin_clock, pin_data));
67 void add_leds(uint16_t count_pixels) { this->
add_leds(
new NeoPixelBus<T_COLOR_FEATURE, T_METHOD>(count_pixels)); }
68 void add_leds(NeoPixelBus<T_COLOR_FEATURE, T_METHOD> *controller) {
76 for (
int i = 0; i < this->
size(); i++) {
77 (*this)[i] =
Color(0, 0, 0, 0);
96 uint8_t u_order =
static_cast<uint8_t
>(order);
109template<
typename T_METHOD,
typename T_COLOR_FEATURE = NeoRgbFeature>
120 uint8_t *base = this->
controller_->Pixels() + 3ULL * index;
126template<
typename T_METHOD,
typename T_COLOR_FEATURE = NeoRgbwFeature>
137 uint8_t *base = this->
controller_->Pixels() + 4ULL * index;
ESPColorCorrection correction_
This class represents the communication layer between the front-end MQTT layer and the hardware outpu...
This class is used to represent the capabilities of a light.
void set_pixel_order(ESPNeoPixelOrder order)
void add_leds(uint16_t count_pixels, uint8_t pin)
Add some LEDS, can only be called once.
void add_leds(uint16_t count_pixels)
NeoPixelBus< T_COLOR_FEATURE, T_METHOD > * get_controller() const
void clear_effect_data() override
int32_t size() const override
NeoPixelBus< T_COLOR_FEATURE, T_METHOD > * controller_
void write_state(light::LightState *state) override
void add_leds(NeoPixelBus< T_COLOR_FEATURE, T_METHOD > *controller)
void add_leds(uint16_t count_pixels, uint8_t pin_clock, uint8_t pin_data)
float get_setup_priority() const override
light::ESPColorView get_view_internal(int32_t index) const override
light::LightTraits get_traits() override
light::ESPColorView get_view_internal(int32_t index) const override
light::LightTraits get_traits() override
@ RGB_WHITE
RGB color output and a separate white output.
const float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Providing packet encoding functions for exchanging data with a remote host.