#pragma once #include "wled.h" #include "MY92xx.h" #define MY92XX_MODEL MY92XX_MODEL_MY9291 #define MY92XX_CHIPS 1 #define MY92XX_DI_PIN 13 #define MY92XX_DCKI_PIN 15 #define MY92XX_RED 0 #define MY92XX_GREEN 1 #define MY92XX_BLUE 2 #define MY92XX_WHITE 3 class MY9291Usermod : public Usermod { private: my92xx _my92xx = my92xx(MY92XX_MODEL, MY92XX_CHIPS, MY92XX_DI_PIN, MY92XX_DCKI_PIN, MY92XX_COMMAND_DEFAULT); public: void setup() { _my92xx.setState(true); } void connected() { } void loop() { uint32_t c = strip.getPixelColor(0); int w = ((c >> 24) & 0xff) * bri / 255.0; int r = ((c >> 16) & 0xff) * bri / 255.0; int g = ((c >> 8) & 0xff) * bri / 255.0; int b = (c & 0xff) * bri / 255.0; _my92xx.setChannel(MY92XX_RED, r); _my92xx.setChannel(MY92XX_GREEN, g); _my92xx.setChannel(MY92XX_BLUE, b); _my92xx.setChannel(MY92XX_WHITE, w); _my92xx.update(); } uint16_t getId() { return USERMOD_ID_MY9291; } };