#include "CyanStripe.hpp"

// C++ system level
// #include <cstring>     // memset, strncmp
// #include <cstdlib>     // TODO: is this for memcpy?
// #include <functional>

// ESP32 specific
#include "esp_log.h"

// project specific
#include <Types.hpp>
#include "SiliconTorch/NVSExplorer.hpp"

// qthing stuff
// #include <qthing>




// TODO: implement!





  //cyanBus = new SiliconTorch::CyanBus::CyanBus(13, 14, 12, 15, 2000000);  // Pinout of CyanStripe


  /* auto led0 = cfg.add<qthing::leds::WS2812B_V3>(GPIO_NUM_27, 8);

  cyanRGB = new SiliconTorch::FxCyanRGB8::FxCyanRGB8(8);
  cyanRGB->registerUDPHandler();
  cyanRGB->registerAtCyanBus(*cyanBus);

  auto bullshitPtr = std::shared_ptr<qthing::Animation<qthing::RGB>>(cyanRGB, [](void*){});
  cfg.add<qthing::Animator<qthing::RGBW8>>(led0)->setAnimation(bullshitPtr); */









namespace SiliconTorch {

  namespace Service {

    void CyanStripe::init() {
      setName("CyanStripe");
      setNameSpace("CyanStripe");  // TODO: "FxCyanF"
    }

    void CyanStripe::start() {
      ESP_LOGW(getName().c_str(), "Starting service[ %s ]  *WHOOP* *WHOOP*", getName().c_str());
    }



  }
}