#pragma once

#ifndef PLATFORM_NATIVE

#include "containers/LedStripRGBW.h"

class Esp32DriverRGBW
{
public:
  void begin(int gpio, int rmtChannel);
  void end();

  void writeSync(const uint32_t *rgbwData, int numLeds);

  void writeAsync(const uint32_t *rgbwData, int numLeds);
  bool waitForTransmissionToFinish(int waitMs = 1000);

private:
  int rmtChannel_;
  bool transmitting_;
};

#endif