#pragma once #ifndef PLATFORM_NATIVE #include "containers/LedStripRGBW.h" #include class Esp32DriverRGBW { public: // The RMT channel is picked by the driver; only the pin is ours to choose. void begin(int gpio); void end(); void writeSync(const uint32_t *rgbwData, int numLeds); void writeAsync(const uint32_t *rgbwData, int numLeds); bool waitForTransmissionToFinish(int waitMs = 1000); private: rmt_channel_handle_t channel_ = nullptr; rmt_encoder_handle_t encoder_ = nullptr; bool transmitting_ = false; }; #endif