From e7d50d2614203921b2291da51a67498df225052d Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Wed, 8 Feb 2023 10:18:41 +0100 Subject: [PATCH 1/4] Bugfix. - respect net debug on/off state --- wled00/net_debug.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wled00/net_debug.cpp b/wled00/net_debug.cpp index 6bcbe1e2..4d9552a8 100644 --- a/wled00/net_debug.cpp +++ b/wled00/net_debug.cpp @@ -3,7 +3,7 @@ #ifdef WLED_DEBUG_HOST size_t NetworkDebugPrinter::write(uint8_t c) { - if (!WLED_CONNECTED) return 0; + if (!WLED_CONNECTED || !netDebugEnabled) return 0; if (!debugPrintHostIP && !debugPrintHostIP.fromString(netDebugPrintHost)) { #ifdef ESP8266 @@ -24,7 +24,7 @@ size_t NetworkDebugPrinter::write(uint8_t c) { } size_t NetworkDebugPrinter::write(const uint8_t *buf, size_t size) { - if (!WLED_CONNECTED || buf == nullptr) return 0; + if (!WLED_CONNECTED || buf == nullptr || !netDebugEnabled) return 0; if (!debugPrintHostIP && !debugPrintHostIP.fromString(netDebugPrintHost)) { #ifdef ESP8266 From b14c8e82a00a2d4147e2f2e16fd31ac0b8c854fb Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Wed, 8 Feb 2023 10:25:59 +0100 Subject: [PATCH 2/4] Bugfix. - correct WLED_DEBUG_PORT override --- wled00/wled.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/wled00/wled.h b/wled00/wled.h index 36582d57..7e947dec 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2302050 +#define VERSION 2302080 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG @@ -726,11 +726,10 @@ WLED_GLOBAL volatile uint8_t jsonBufferLock _INIT(0); #define DEBUGOUT NetDebug WLED_GLOBAL bool netDebugEnabled _INIT(true); WLED_GLOBAL char netDebugPrintHost[33] _INIT(WLED_DEBUG_HOST); - #if defined(WLED_DEBUG_NET_PORT) - WLED_GLOBAL int netDebugPrintPort _INIT(WLED_DEBUG_PORT); - #else - WLED_GLOBAL int netDebugPrintPort _INIT(7868); + #ifndef WLED_DEBUG_PORT + #define WLED_DEBUG_PORT 7868 #endif + WLED_GLOBAL int netDebugPrintPort _INIT(WLED_DEBUG_PORT); #else #define DEBUGOUT Serial #endif From e2215ced34d6b7dde6f3e145c2c305fc8b4ddb13 Mon Sep 17 00:00:00 2001 From: Ulrich Baumann <43571251+f-zappa@users.noreply.github.com> Date: Thu, 9 Feb 2023 00:23:53 +0100 Subject: [PATCH 3/4] allow alternative northern style ("viertel vor ..." instead of (#3085) "dreiviertel ..") Co-authored-by: Uli Baumann --- .../usermod_v2_word_clock.h | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h index 1068cd96..c825a7af 100644 --- a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h +++ b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h @@ -25,6 +25,7 @@ class WordClockUsermod : public Usermod bool displayItIs = false; int ledOffset = 100; bool meander = false; + bool nord = false; // defines for mask sizes #define maskSizeLeds 114 @@ -37,7 +38,7 @@ class WordClockUsermod : public Usermod // "minute" masks // Normal wiring - const int maskMinutes[12][maskSizeMinutes] = + const int maskMinutes[14][maskSizeMinutes] = { {107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // :00 { 7, 8, 9, 10, 40, 41, 42, 43, -1, -1, -1, -1}, // :05 fünf nach @@ -50,11 +51,13 @@ class WordClockUsermod : public Usermod { 15, 16, 17, 18, 19, 20, 21, 33, 34, 35, -1, -1}, // :40 zwanzig vor { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1}, // :45 dreiviertel { 11, 12, 13, 14, 33, 34, 35, -1, -1, -1, -1, -1}, // :50 zehn vor - { 7, 8, 9, 10, 33, 34, 35, -1, -1, -1, -1, -1} // :55 fünf vor + { 7, 8, 9, 10, 33, 34, 35, -1, -1, -1, -1, -1}, // :55 fünf vor + { 26, 27, 28, 29, 30, 31, 32, 40, 41, 42, 43, -1}, // :15 alternative viertel nach + { 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1} // :45 alternative viertel vor }; // Meander wiring - const int maskMinutesMea[12][maskSizeMinutesMea] = + const int maskMinutesMea[14][maskSizeMinutesMea] = { { 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // :00 { 7, 8, 9, 10, 33, 34, 35, 36, -1, -1, -1, -1}, // :05 fünf nach @@ -67,9 +70,12 @@ class WordClockUsermod : public Usermod { 11, 12, 13, 14, 15, 16, 17, 41, 42, 43, -1, -1}, // :40 zwanzig vor { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1}, // :45 dreiviertel { 18, 19, 20, 21, 41, 42, 43, -1, -1, -1, -1, -1}, // :50 zehn vor - { 7, 8, 9, 10, 41, 42, 43, -1, -1, -1, -1, -1} // :55 fünf vor + { 7, 8, 9, 10, 41, 42, 43, -1, -1, -1, -1, -1}, // :55 fünf vor + { 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1}, // :15 alternative viertel nach + { 26, 27, 28, 29, 30, 31, 32, 41, 42, 43, -1, -1} // :45 alternative viertel vor }; + // hour masks // Normal wiring const int maskHours[13][maskSizeHours] = @@ -242,9 +248,15 @@ class WordClockUsermod : public Usermod setHours(hours, false); break; case 3: - // viertel - setMinutes(3); - setHours(hours + 1, false); + if (nord) { + // viertel nach + setMinutes(12); + setHours(hours, false); + } else { + // viertel + setMinutes(3); + setHours(hours + 1, false); + }; break; case 4: // 20 nach @@ -272,8 +284,13 @@ class WordClockUsermod : public Usermod setHours(hours + 1, false); break; case 9: - // viertel vor - setMinutes(9); + // viertel vor bzw dreiviertel + if (nord) { + setMinutes(9); + } + else { + setMinutes(12); + } setHours(hours + 1, false); break; case 10: @@ -410,6 +427,7 @@ class WordClockUsermod : public Usermod top["displayItIs"] = displayItIs; top["ledOffset"] = ledOffset; top["Meander wiring?"] = meander; + top["Norddeutsch"] = nord; } /* @@ -440,6 +458,7 @@ class WordClockUsermod : public Usermod configComplete &= getJsonValue(top["displayItIs"], displayItIs); configComplete &= getJsonValue(top["ledOffset"], ledOffset); configComplete &= getJsonValue(top["Meander wiring?"], meander); + configComplete &= getJsonValue(top["Norddeutsch"], nord); return configComplete; } From f2459ea90499b6e3583b8bf3ce8abf0e77e6ad8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Kristan?= Date: Fri, 10 Feb 2023 09:33:27 +0100 Subject: [PATCH 4/4] Add ability to use SHT temp. sensor in PWM fan --- usermods/PWM_fan/usermod_PWM_fan.h | 10 +++++++--- usermods/sht/usermod_sht.h | 6 +++--- wled00/usermods_list.cpp | 9 +++++---- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/usermods/PWM_fan/usermod_PWM_fan.h b/usermods/PWM_fan/usermod_PWM_fan.h index 153a5f63..f7fe0e10 100644 --- a/usermods/PWM_fan/usermod_PWM_fan.h +++ b/usermods/PWM_fan/usermod_PWM_fan.h @@ -1,7 +1,7 @@ #pragma once -#ifndef USERMOD_DALLASTEMPERATURE -#error The "PWM fan" usermod requires "Dallas Temeprature" usermod to function properly. +#if !defined(USERMOD_DALLASTEMPERATURE) && !defined(USERMOD_SHT) +#error The "PWM fan" usermod requires "Dallas Temeprature" or "SHT" usermod to function properly. #endif #include "wled.h" @@ -42,6 +42,8 @@ class PWMFanUsermod : public Usermod { #ifdef USERMOD_DALLASTEMPERATURE UsermodTemperature* tempUM; + #elif defined(USERMOD_SHT) + ShtUsermod* tempUM; #endif // configurable parameters @@ -145,7 +147,7 @@ class PWMFanUsermod : public Usermod { } float getActualTemperature(void) { - #ifdef USERMOD_DALLASTEMPERATURE + #if defined(USERMOD_DALLASTEMPERATURE) || defined(USERMOD_SHT) if (tempUM != nullptr) return tempUM->getTemperatureC(); #endif @@ -189,6 +191,8 @@ class PWMFanUsermod : public Usermod { #ifdef USERMOD_DALLASTEMPERATURE // This Usermod requires Temperature usermod tempUM = (UsermodTemperature*) usermods.lookup(USERMOD_ID_TEMPERATURE); + #elif defined(USERMOD_SHT) + tempUM = (ShtUsermod*) usermods.lookup(USERMOD_ID_SHT); #endif initTacho(); initPWMfan(); diff --git a/usermods/sht/usermod_sht.h b/usermods/sht/usermod_sht.h index 4637d7a3..1123a10a 100644 --- a/usermods/sht/usermod_sht.h +++ b/usermods/sht/usermod_sht.h @@ -62,9 +62,9 @@ class ShtUsermod : public Usermod bool isEnabled() { return enabled; } float getTemperature(); - float getTemperatureC() { return shtCurrentTempC; } - float getTemperatureF() { return (shtCurrentTempC * 1.8f) + 32.0f; } - float getHumidity() { return shtCurrentHumidity; } + float getTemperatureC() { return roundf(shtCurrentTempC * 10.0f) / 10.0f; } + float getTemperatureF() { return (getTemperatureC() * 1.8f) + 32.0f; } + float getHumidity() { return roundf(shtCurrentHumidity * 10.0f) / 10.0f; } const char* getUnitString(); uint16_t getId() { return USERMOD_ID_SHT; } diff --git a/wled00/usermods_list.cpp b/wled00/usermods_list.cpp index 667e8c50..09052b83 100644 --- a/wled00/usermods_list.cpp +++ b/wled00/usermods_list.cpp @@ -19,11 +19,16 @@ #include "../usermods/Temperature/usermod_temperature.h" #endif +#ifdef USERMOD_SHT +#include "../usermods/sht/usermod_sht.h" +#endif + #ifdef USERMOD_SN_PHOTORESISTOR #include "../usermods/SN_Photoresistor/usermod_sn_photoresistor.h" #endif #ifdef USERMOD_PWM_FAN + // requires DALLASTEMPERATURE or SHT included before it #include "../usermods/PWM_fan/usermod_PWM_fan.h" #endif @@ -180,10 +185,6 @@ #include "../usermods/pwm_outputs/usermod_pwm_outputs.h" #endif -#ifdef USERMOD_SHT -#include "../usermods/sht/usermod_sht.h" -#endif - void registerUsermods() {