From 4c388d711880d64b33be5d0d8a0366f4cf5fe498 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 15 Dec 2024 18:41:42 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20Limited=20number=20of=20DGUS=20f?= =?UTF-8?q?ans?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/lcd/extui/dgus/fysetc/DGUSDisplayDef.cpp | 9 ++++++++- .../src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp | 9 ++++++++- Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp | 15 +++++++++++---- .../src/lcd/extui/dgus/origin/DGUSDisplayDef.cpp | 9 ++++++++- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/Marlin/src/lcd/extui/dgus/fysetc/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus/fysetc/DGUSDisplayDef.cpp index 243dbfbab6..575e56103e 100644 --- a/Marlin/src/lcd/extui/dgus/fysetc/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus/fysetc/DGUSDisplayDef.cpp @@ -406,11 +406,18 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Fan Data #if HAS_FAN + #if HOTENDS <= 4 + #define FAN_CONTROL HOTENDS + #elif FAN_COUNT <= 4 + #define FAN_CONTROL FAN_COUNT + #else + #define FAN_CONTROL 4 + #endif #define FAN_VPHELPER(N) \ VPHELPER(VP_Fan##N##_Percentage, &thermalManager.fan_speed[N], screen.percentageToUint8, screen.sendPercentageToDisplay), \ VPHELPER(VP_FAN##N##_CONTROL, &thermalManager.fan_speed[N], screen.handleFanControl, nullptr), \ VPHELPER(VP_FAN##N##_STATUS, &thermalManager.fan_speed[N], nullptr, screen.sendFanStatusToDisplay), - REPEAT(FAN_COUNT, FAN_VPHELPER) + REPEAT(FAN_CONTROL, FAN_VPHELPER) #endif // Feedrate diff --git a/Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp index 56d58a19b0..338f6a319c 100644 --- a/Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus/hiprecy/DGUSDisplayDef.cpp @@ -399,11 +399,18 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Fan Data #if HAS_FAN + #if HOTENDS <= 2 + #define FAN_CONTROL HOTENDS + #elif FAN_COUNT <= 2 + #define FAN_CONTROL FAN_COUNT + #else + #define FAN_CONTROL 2 + #endif #define FAN_VPHELPER(N) \ VPHELPER(VP_Fan##N##_Percentage, &thermalManager.fan_speed[N], screen.percentageToUint8, screen.sendPercentageToDisplay), \ VPHELPER(VP_FAN##N##_CONTROL, &thermalManager.fan_speed[N], screen.handleFanControl, nullptr), \ VPHELPER(VP_FAN##N##_STATUS, &thermalManager.fan_speed[N], nullptr, screen.sendFanStatusToDisplay), - REPEAT(FAN_COUNT, FAN_VPHELPER) + REPEAT(FAN_CONTROL, FAN_VPHELPER) #endif // Feedrate diff --git a/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp index 6429ac07e5..4182c3f2ca 100644 --- a/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus/mks/DGUSDisplayDef.cpp @@ -602,11 +602,18 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Fan Data #if HAS_FAN - #define FAN_VPHELPER(N) \ - VPHELPER(VP_Fan##N##_Percentage, &thermalManager.fan_speed[N], screen.setUint8, screen.sendFanToDisplay), \ - VPHELPER(VP_FAN##N##_CONTROL, &thermalManager.fan_speed[N], screen.handleFanControl, nullptr), \ + #if HOTENDS <= 4 + #define FAN_CONTROL HOTENDS + #elif FAN_COUNT <= 4 + #define FAN_CONTROL FAN_COUNT + #else + #define FAN_CONTROL 4 + #endif + #define FAN_VPHELPER(N) \ + VPHELPER(VP_Fan##N##_Percentage, &thermalManager.fan_speed[N], screen.percentageToUint8, screen.sendFanToDisplay), \ + VPHELPER(VP_FAN##N##_CONTROL, &thermalManager.fan_speed[N], screen.handleFanControl, nullptr), \ VPHELPER(VP_FAN##N##_STATUS, &thermalManager.fan_speed[N], nullptr, screen.sendFanStatusToDisplay), - REPEAT(FAN_COUNT, FAN_VPHELPER) + REPEAT(FAN_CONTROL, FAN_VPHELPER) #endif // Feedrate diff --git a/Marlin/src/lcd/extui/dgus/origin/DGUSDisplayDef.cpp b/Marlin/src/lcd/extui/dgus/origin/DGUSDisplayDef.cpp index 8c82b63f3a..4875020f55 100644 --- a/Marlin/src/lcd/extui/dgus/origin/DGUSDisplayDef.cpp +++ b/Marlin/src/lcd/extui/dgus/origin/DGUSDisplayDef.cpp @@ -207,11 +207,18 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { // Fan Data #if HAS_FAN + #if HOTENDS <= 2 + #define FAN_CONTROL HOTENDS + #elif FAN_COUNT <= 2 + #define FAN_CONTROL FAN_COUNT + #else + #define FAN_CONTROL 2 + #endif #define FAN_VPHELPER(N) \ VPHELPER(VP_Fan##N##_Percentage, &thermalManager.fan_speed[N], screen.percentageToUint8, screen.sendPercentageToDisplay), \ VPHELPER(VP_FAN##N##_CONTROL, &thermalManager.fan_speed[N], screen.handleFanControl, nullptr), \ VPHELPER(VP_FAN##N##_STATUS, &thermalManager.fan_speed[N], nullptr, screen.sendFanStatusToDisplay), - REPEAT(FAN_COUNT, FAN_VPHELPER) + REPEAT(FAN_CONTROL, FAN_VPHELPER) #endif // Feedrate