From c13bc0912911c002987723bae7131bcf3ed4534c Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:35:54 +0200 Subject: [PATCH 01/16] Create usermod_rotaryrackdimmer.h --- usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h new file mode 100644 index 0000000000..01bd8933f5 --- /dev/null +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h @@ -0,0 +1,5 @@ +#include "usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" + +void registerUsermods() { + usermods.add(new Usermod_RotaryRackDimmer()); +} From e7601f99c259964e60150bd931087805670092ed Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:36:48 +0200 Subject: [PATCH 02/16] Update usermod_rotaryrackdimmer.h --- .../usermod_rotaryrackdimmer.h | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h index 01bd8933f5..486d989e42 100644 --- a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h @@ -1,5 +1,18 @@ -#include "usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" +#pragma once +#include "wled.h" -void registerUsermods() { - usermods.add(new Usermod_RotaryRackDimmer()); -} +class Usermod_RotaryRackDimmer : public Usermod { + public: + void setup() override { + Serial.println("RotaryRackDimmer setup klaar!"); + } + + void loop() override { + // Simuleer helderheid verhogen (test!) + if (millis() % 5000 < 50) { + bri = (bri + 10) % 255; + applyBri(); + Serial.printf("Helderheid aangepast naar: %d\n", bri); + } + } +}; From 2892926046c61ba01e1341c53d25513bdf07d88f Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:37:35 +0200 Subject: [PATCH 03/16] Update usermod.cpp --- wled00/usermod.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index 40fda83b07..d0b40cc57e 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,4 +1,10 @@ #include "wled.h" +#include "usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" + +void registerUsermods() { + usermods.add(new Usermod_RotaryRackDimmer()); +} + /* * This v1 usermod file allows you to add own functionality to WLED more easily * See: https://github.com/wled-dev/WLED/wiki/Add-own-functionality From fb44de335a38438eae7d66809198b215b8cafee4 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:40:27 +0200 Subject: [PATCH 04/16] Update platformio.ini --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 9bdf58d341..4362909984 100644 --- a/platformio.ini +++ b/platformio.ini @@ -10,7 +10,7 @@ # ------------------------------------------------------------------------------ # CI/release binaries -default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, nodemcuv2_160, esp8266_2m_160, esp01_1m_full_160, nodemcuv2_compat, esp8266_2m_compat, esp01_1m_full_compat, esp32dev, esp32dev_V4, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_16MB_opi, esp32s3dev_8MB_opi, esp32s3_4M_qspi, esp32_wrover, usermods +default_envs = esp32dev src_dir = ./wled00 data_dir = ./wled00/data From 5803f8faec99eddd6ba1935812031cfcc67762b8 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:45:41 +0200 Subject: [PATCH 05/16] Update usermod.cpp --- wled00/usermod.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index d0b40cc57e..a4d5f872fb 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,5 +1,5 @@ #include "wled.h" -#include "usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" +#include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" void registerUsermods() { usermods.add(new Usermod_RotaryRackDimmer()); From 0de3278e312e7a51c316c5e025840ca0e3872dbe Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:50:33 +0200 Subject: [PATCH 06/16] Update usermod.cpp --- wled00/usermod.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index a4d5f872fb..19ccf030ee 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,4 +1,5 @@ #include "wled.h" +#include "usermod_manager.h" #include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" void registerUsermods() { From caad4094db26ef5800a89d5a3a2ba6b85219d348 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:56:01 +0200 Subject: [PATCH 07/16] Update usermod_rotaryrackdimmer.h --- .../usermod_rotaryrackdimmer.h | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h index 486d989e42..5146e79c96 100644 --- a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h @@ -2,17 +2,13 @@ #include "wled.h" class Usermod_RotaryRackDimmer : public Usermod { - public: - void setup() override { - Serial.println("RotaryRackDimmer setup klaar!"); - } +private: + int pinA = 33; // aanpassen naar jouw GPIO + int pinB = 13; - void loop() override { - // Simuleer helderheid verhogen (test!) - if (millis() % 5000 < 50) { - bri = (bri + 10) % 255; - applyBri(); - Serial.printf("Helderheid aangepast naar: %d\n", bri); - } - } + int lastState = 0; + +public: + void setup() override; + void loop() override; }; From 6c89395d5c420c35a9ccbb62c13122f3852a6035 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:56:46 +0200 Subject: [PATCH 08/16] Create usermod_rotaryrackdimmer.cpp --- .../usermod_rotaryrackdimmer.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp new file mode 100644 index 0000000000..36fe306164 --- /dev/null +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp @@ -0,0 +1,17 @@ +#include "wled.h" +#include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" + +Usermod* usermod_rotary = nullptr; + +void userSetup() { + usermod_rotary = new Usermod_RotaryRackDimmer(); + usermods.add(usermod_rotary); +} + +void userConnected() { + // Optioneel +} + +void userLoop() { + // Optioneel, laat usermod zelf zijn werk doen +} From 8ad82398a1021fcf2077f574cb2126feb7c56ec3 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 14:58:49 +0200 Subject: [PATCH 09/16] Update platformio.ini --- platformio.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 4362909984..317d137ef9 100644 --- a/platformio.ini +++ b/platformio.ini @@ -445,7 +445,8 @@ platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} custom_usermods = audioreactive build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=\"ESP32\" #-D WLED_DISABLE_BROWNOUT_DET +build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=\"ESP32\" #-D WLED_DISABLE_BROWNOUT_DET + -D USERMOD_ROTARYRACKDIMMER lib_deps = ${esp32.lib_deps} monitor_filters = esp32_exception_decoder board_build.partitions = ${esp32.default_partitions} From b3fd774d53f22cf797bee35b1eebe102904367c4 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 15:30:27 +0200 Subject: [PATCH 10/16] Update usermod.cpp --- wled00/usermod.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index 19ccf030ee..a4d5f872fb 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,5 +1,4 @@ #include "wled.h" -#include "usermod_manager.h" #include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" void registerUsermods() { From 4ae3e849272a9e4ff4f406cd676aa5f7d912e91c Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 15:37:26 +0200 Subject: [PATCH 11/16] Update usermod.cpp --- wled00/usermod.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index a4d5f872fb..4ea243f44e 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -2,7 +2,7 @@ #include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" void registerUsermods() { - usermods.add(new Usermod_RotaryRackDimmer()); + userMods.add(new Usermod_RotaryRackDimmer()); } /* From 25e69951b3b62d79295a46e016fcaa579e00b1a2 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 16:45:39 +0200 Subject: [PATCH 12/16] Update usermod.cpp --- wled00/usermod.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index 4ea243f44e..f8993f82d0 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,4 +1,5 @@ #include "wled.h" +#include "usermod_manager.h" #include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" void registerUsermods() { From 68459852fa405c75b9883280e96e403c5f64cef0 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 16:52:37 +0200 Subject: [PATCH 13/16] Update usermod.cpp --- wled00/usermod.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/wled00/usermod.cpp b/wled00/usermod.cpp index f8993f82d0..7651cd696d 100644 --- a/wled00/usermod.cpp +++ b/wled00/usermod.cpp @@ -1,10 +1,4 @@ #include "wled.h" -#include "usermod_manager.h" -#include "../usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h" - -void registerUsermods() { - userMods.add(new Usermod_RotaryRackDimmer()); -} /* * This v1 usermod file allows you to add own functionality to WLED more easily From e7a5bce10ff242136b9c42b0b7910178eda2912a Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 17:13:58 +0200 Subject: [PATCH 14/16] Update usermod_rotaryrackdimmer.h --- .../usermod_rotaryrackdimmer.h | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h index 5146e79c96..0e8bf550f6 100644 --- a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h @@ -1,14 +1,37 @@ #pragma once + #include "wled.h" class Usermod_RotaryRackDimmer : public Usermod { private: - int pinA = 33; // aanpassen naar jouw GPIO - int pinB = 13; - + int pinA = 33; // A (CLK) pin van de encoder + int pinB = 13; // B (DT) pin van de encoder int lastState = 0; public: - void setup() override; - void loop() override; + void setup() override { + pinMode(pinA, INPUT_PULLUP); + pinMode(pinB, INPUT_PULLUP); + lastState = digitalRead(pinA); + } + + void loop() override { + int currentState = digitalRead(pinA); + if (currentState != lastState) { + if (digitalRead(pinB) != currentState) { + // Rechtsom → dim omhoog + bri = min(255, bri + 5); + } else { + // Linksom → dim omlaag + bri = max(0, bri - 5); + } + lastState = currentState; + colorUpdated(CALL_MODE_DIRECT_CHANGE); + } + } + + void addToConfig(JsonObject &root) override {} + bool readFromConfig(JsonObject &root) override { return true; } + + String getId() override { return F("RotaryRackDimmer"); } }; From d7554b8afec7871bcc3d55ee26608261d79a650e Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 17:37:41 +0200 Subject: [PATCH 15/16] Update usermod_rotaryrackdimmer.h --- usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h index 0e8bf550f6..57595df544 100644 --- a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.h @@ -35,3 +35,4 @@ class Usermod_RotaryRackDimmer : public Usermod { String getId() override { return F("RotaryRackDimmer"); } }; + From 304adc839c35d184311962641db19ed05e21c716 Mon Sep 17 00:00:00 2001 From: MarcelMuxio Date: Thu, 24 Jul 2025 17:54:11 +0200 Subject: [PATCH 16/16] Update usermod_rotaryrackdimmer.cpp --- .../usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp index 36fe306164..824cd31b98 100644 --- a/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp +++ b/usermods/usermod_rotaryrackdimmer/usermod_rotaryrackdimmer.cpp @@ -6,6 +6,7 @@ Usermod* usermod_rotary = nullptr; void userSetup() { usermod_rotary = new Usermod_RotaryRackDimmer(); usermods.add(usermod_rotary); + Serial.println(F("[RotaryRackDimmer] usermod geladen!")); } void userConnected() { @@ -15,3 +16,8 @@ void userConnected() { void userLoop() { // Optioneel, laat usermod zelf zijn werk doen } + +void Usermod_RotaryRackDimmer::addToJsonInfo(JsonObject &root) { + JsonObject user = root["usermod"]; + user["RotaryRackDimmer"] = "Actief"; +}