Browse Source

Followup to progress override (#15488)

pull/1/head
LinFor 5 years ago
committed by Scott Lahteine
parent
commit
58f81f8e7e
  1. 2
      Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp
  2. 13
      Marlin/src/lcd/ultralcd.cpp
  3. 6
      Marlin/src/lcd/ultralcd.h

2
Marlin/src/lcd/extensible_ui/lib/dgus/DGUSDisplayDefinition.cpp

@ -200,7 +200,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
VPHELPER(VP_ZPos, &current_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 ),

13
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
return (p
#if ENABLED(SDSUPPORT)
if (!_PLIMIT(progress)) progress = card.percentDone();
?: card.percentDone()
#endif
return _PLIMIT(progress);
);
}
#endif

6
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

Loading…
Cancel
Save