From 3402a052c0b60266b742ce99d9b41a412f286dd0 Mon Sep 17 00:00:00 2001 From: Arthur Suzuki Date: Tue, 24 Dec 2024 19:04:36 +0100 Subject: [PATCH] fix POV Display usermod --- usermods/pov_display/usermod_pov_display.h | 24 +++++++++++++++------- wled00/usermods_list.cpp | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/usermods/pov_display/usermod_pov_display.h b/usermods/pov_display/usermod_pov_display.h index b1fc0dba60..897a385e25 100644 --- a/usermods/pov_display/usermod_pov_display.h +++ b/usermods/pov_display/usermod_pov_display.h @@ -2,6 +2,10 @@ #include "wled.h" #include +PNG png; +File f; +static const char _data_FX_mode_pov_image[] PROGMEM = "POV Image@!;;;1"; + void * openFile(const char *filename, int32_t *size) { f = WLED_FS.open(filename); *size = f.size(); @@ -61,16 +65,22 @@ uint16_t mode_pov_image(void) { return FRAMETIME; } -class PovDisplayUsermod : public Usermod -{ - public: - static const char _data_FX_MODE_POV_IMAGE[] PROGMEM = "POV Image@!;;;1"; +class PovDisplayUsermod : public Usermod { + protected: + bool enabled = false; //WLEDMM + const char *_name; //WLEDMM + bool initDone = false; //WLEDMM + unsigned long lastTime = 0; //WLEDMM - PNG png; - File f; + public: + PovDisplayUsermod(const char *name, bool enabled) { + this->_name = name; + this->enabled = enabled; + } //WLEDMM void setup() { - strip.addEffect(255, &mode_pov_image, _data_FX_MODE_POV_IMAGE); + strip.addEffect(255, &mode_pov_image, _data_FX_mode_pov_image); + initDone = true; } void loop() { diff --git a/wled00/usermods_list.cpp b/wled00/usermods_list.cpp index 3283e013b2..a91cc42698 100644 --- a/wled00/usermods_list.cpp +++ b/wled00/usermods_list.cpp @@ -468,6 +468,6 @@ void registerUsermods() #endif #ifdef USERMOD_POV_DISPLAY - UsermodManager::add(new PovDisplayUsermod()); + UsermodManager::add(new PovDisplayUsermod("Pov Display", false)); #endif }