8 static const char *
const TAG =
"e131_addressable_light_effect";
28 AddressableLightEffect::start();
40 AddressableLightEffect::stop();
58 auto *input_data = packet.
values + 1;
60 ESP_LOGV(TAG,
"Applying data for '%s' on %d universe, for %" PRId32
"-%d.",
get_name().c_str(), universe,
61 output_offset, output_end);
65 for (; output_offset < output_end; output_offset++, input_data++) {
66 auto output = (*it)[output_offset];
67 output.set(
Color(input_data[0], input_data[0], input_data[0], input_data[0]));
72 for (; output_offset < output_end; output_offset++, input_data += 3) {
73 auto output = (*it)[output_offset];
75 Color(input_data[0], input_data[1], input_data[2], (input_data[0] + input_data[1] + input_data[2]) / 3));
80 for (; output_offset < output_end; output_offset++, input_data += 4) {
81 auto output = (*it)[output_offset];
82 output.set(
Color(input_data[0], input_data[1], input_data[2], input_data[3]));
int get_lights_per_universe() const
bool process_(int universe, const E131Packet &packet)
E131AddressableLightEffect(const std::string &name)
AddressableLight * get_addressable_() const
uint8_t values[E131_MAX_PROPERTY_VALUES_COUNT]
int get_last_universe() const
int get_data_per_universe() const
const std::string & get_name()
int get_first_universe() const
void add_effect(E131AddressableLightEffect *light_effect)
void remove_effect(E131AddressableLightEffect *light_effect)
E131LightChannels channels_
This is a workaround until we can figure out a way to get the tflite-micro idf component code availab...
int get_universe_count() const