From 58f81f8e7ed43091d8589d6e1e972d750c6de987 Mon Sep 17 00:00:00 2001 From: LinFor Date: Tue, 8 Oct 2019 23:24:14 +0300 Subject: [PATCH] Followup to progress override (#15488) --- .../lib/dgus/DGUSDisplayDefinition.cpp | 2 +- Marlin/src/lcd/ultralcd.cpp | 17 ++++++++--------- Marlin/src/lcd/ultralcd.h | 6 +++--- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp index bc1296f2f5..0501bc635b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp @@ -200,7 +200,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = { VPHELPER(VP_ZPos, ¤t_position.z, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<2>), // Print Progress. - VPHELPER(VP_PrintProgress_Percentage, &ui.progress_bar_percent, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay ), + VPHELPER(VP_PrintProgress_Percentage, &ui.progress_override, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay ), // Print Time VPHELPER_STR(VP_PrintTime, nullptr, VP_PrintTime_LEN, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendPrintTimeToDisplay ), diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 9b6b475115..9ad92add0d 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -61,7 +61,7 @@ #endif #if ENABLED(LCD_SET_PROGRESS_MANUALLY) - uint8_t MarlinUI::progress_bar_percent; // = 0 + uint8_t MarlinUI::progress_override; // = 0 #endif #if HAS_BUZZER @@ -1539,16 +1539,15 @@ void MarlinUI::update() { #if HAS_PRINT_PROGRESS uint8_t MarlinUI::get_progress() { #if ENABLED(LCD_SET_PROGRESS_MANUALLY) - uint8_t &progress = progress_bar_percent; - #define _PLIMIT(P) ((P) & 0x7F) + const uint8_t p = progress_override & 0x7F; #else - #define _PLIMIT(P) P - uint8_t progress = 0; + constexpr uint8_t p = 0; #endif - #if ENABLED(SDSUPPORT) - if (!_PLIMIT(progress)) progress = card.percentDone(); - #endif - return _PLIMIT(progress); + return (p + #if ENABLED(SDSUPPORT) + ?: card.percentDone() + #endif + ); } #endif diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index c33337df8c..72f6ec2cb9 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -293,10 +293,10 @@ public: #if HAS_PRINT_PROGRESS #if ENABLED(LCD_SET_PROGRESS_MANUALLY) - static uint8_t progress_bar_percent; - static void set_progress(const uint8_t progress) { progress_bar_percent = _MIN(progress, 100); } + static uint8_t progress_override; + static void set_progress(const uint8_t progress) { progress_override = _MIN(progress, 100); } static void set_progress_done() { set_progress(0x80 + 100); } - static void progress_reset() { if (progress_bar_percent & 0x80) set_progress(0); } + static void progress_reset() { if (progress_override & 0x80) set_progress(0); } #endif static uint8_t get_progress(); #else