ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
wled_light_effect.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef USE_ARDUINO
4
7
8#include <vector>
9#include <memory>
10
11class UDP;
12
13namespace esphome::wled {
14
16 public:
17 WLEDLightEffect(const char *name);
18
19 void start() override;
20 void stop() override;
21 void apply(light::AddressableLight &it, const Color &current_color) override;
22 void set_port(uint16_t port) { this->port_ = port; }
23 void set_sync_group_mask(uint8_t mask) { this->sync_group_mask_ = mask; }
24 void set_blank_on_start(bool blank) { this->blank_on_start_ = blank; }
25
26 protected:
28 bool parse_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
29 bool parse_notifier_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
30 bool parse_warls_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
31 bool parse_drgb_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
32 bool parse_drgbw_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
33 bool parse_dnrgb_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size);
34
35 uint16_t port_{0};
36 std::unique_ptr<UDP> udp_;
37 optional<uint32_t> blank_start_{};
40 uint8_t sync_group_mask_{0};
41 bool blank_on_start_{true};
42};
43
44} // namespace esphome::wled
45
46#endif // USE_ARDUINO
bool parse_dnrgb_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
optional< uint32_t > blank_start_
bool parse_drgb_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
void set_sync_group_mask(uint8_t mask)
bool parse_notifier_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
void blank_all_leds_(light::AddressableLight &it)
bool parse_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
bool parse_warls_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
bool parse_drgbw_frame_(light::AddressableLight &it, const uint8_t *payload, uint16_t size)
uint16_t size
Definition helpers.cpp:25
static void uint32_t