4#include <soc/soc_caps.h>
7#if defined(USE_ESP32) && SOC_I2S_SUPPORTS_TDM
17#include <driver/i2s_types.h>
28 void setup()
override;
std::atomic< bool > i2s_data_ready_
void clear_effect_data() override
int32_t size() const override
void dump_config() override
const light::ChannelColors channel_colors_
i2s_chan_handle_t tx_handle_
void write_state(light::LightState *state) override
const size_t color_data_bytes_
light::ESPColorView get_view_internal(int32_t index) const override
float get_setup_priority() const override
light::LightTraits get_traits() override
I2SClocklessLedStrip(uint8_t pin, uint16_t num_leds, light::ChannelColors channel_colors)
static bool i2s_on_sent_callback(i2s_chan_handle_t handle, i2s_event_data_t *event, void *user_ctx)
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.
Which byte of an addressable LED's data carries each colour.
spi_device_handle_t handle