浏览代码

Allow ExtUI to use LCD_SET_PROGRESS_MANUALLY (#12628)

Marcio Teixeira 6 年前
父节点
当前提交
902d5b0f8b

+ 1
- 1
Marlin/src/gcode/gcode.cpp 查看文件

@@ -336,7 +336,7 @@ void GcodeSuite::process_parsed_command(
336 336
         case 49: M49(); break;                                    // M49: Turn on or off G26 debug flag for verbose output
337 337
       #endif
338 338
 
339
-      #if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY)
339
+      #if ENABLED(LCD_SET_PROGRESS_MANUALLY) && (ENABLED(ULTRA_LCD) || ENABLED(EXTENSIBLE_UI))
340 340
         case 73: M73(); break;                                    // M73: Set progress percentage (for display on LCD)
341 341
       #endif
342 342
 

+ 1
- 1
Marlin/src/gcode/gcode.h 查看文件

@@ -488,7 +488,7 @@ private:
488 488
     static void M49();
489 489
   #endif
490 490
 
491
-  #if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY)
491
+  #if ENABLED(LCD_SET_PROGRESS_MANUALLY) && (ENABLED(ULTRA_LCD) || ENABLED(EXTENSIBLE_UI))
492 492
     static void M73();
493 493
   #endif
494 494
 

+ 2
- 2
Marlin/src/gcode/lcd/M73.cpp 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 #include "../../inc/MarlinConfig.h"
24 24
 
25
-#if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY)
25
+#if ENABLED(LCD_SET_PROGRESS_MANUALLY) && (ENABLED(EXTENSIBLE_UI) || ENABLED(ULTRA_LCD))
26 26
 
27 27
 #include "../gcode.h"
28 28
 #include "../../lcd/ultralcd.h"
@@ -42,4 +42,4 @@ void GcodeSuite::M73() {
42 42
     ui.set_progress(parser.value_byte());
43 43
 }
44 44
 
45
-#endif // ULTRA_LCD && LCD_SET_PROGRESS_MANUALLY
45
+#endif // LCD_SET_PROGRESS_MANUALLY && (ENABLED(EXTENSIBLE_UI) || ENABLED(ULTRA_LCD))

+ 2
- 2
Marlin/src/inc/SanityCheck.h 查看文件

@@ -500,8 +500,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
500 500
   #elif PROGRESS_MSG_EXPIRE < 0
501 501
     #error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0."
502 502
   #endif
503
-#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && !HAS_GRAPHICAL_LCD
504
-  #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR or Graphical LCD."
503
+#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && !HAS_GRAPHICAL_LCD && DISABLED(EXTENSIBLE_UI)
504
+  #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, or EXTENSIBLE_UI."
505 505
 #endif
506 506
 
507 507
 /**

+ 4
- 4
Marlin/src/lcd/ultralcd.cpp 查看文件

@@ -52,6 +52,10 @@
52 52
   char MarlinUI::status_message[MAX_MESSAGE_LENGTH + 1];
53 53
 #endif
54 54
 
55
+#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
56
+  uint8_t MarlinUI::progress_bar_percent; // = 0
57
+#endif
58
+
55 59
 #if HAS_SPI_LCD
56 60
 
57 61
 #if HAS_GRAPHICAL_LCD
@@ -102,10 +106,6 @@ uint8_t MarlinUI::lcd_status_update_delay = 1; // First update one loop delayed
102 106
   millis_t MarlinUI::next_filament_display; // = 0
103 107
 #endif
104 108
 
105
-#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
106
-  uint8_t MarlinUI::progress_bar_percent; // = 0
107
-#endif
108
-
109 109
 millis_t next_button_update_ms;
110 110
 
111 111
 #if HAS_GRAPHICAL_LCD

+ 10
- 10
Marlin/src/lcd/ultralcd.h 查看文件

@@ -271,6 +271,16 @@ public:
271 271
     static uint8_t status_message_level;      // Higher levels block lower levels
272 272
     static inline void reset_alert_level() { status_message_level = 0; }
273 273
 
274
+    #if HAS_PRINT_PROGRESS
275
+      #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
276
+        static uint8_t progress_bar_percent;
277
+        static void set_progress(const uint8_t progress) { progress_bar_percent = MIN(progress, 100); }
278
+      #endif
279
+      static uint8_t get_progress();
280
+    #else
281
+      static constexpr uint8_t get_progress() { return 0; }
282
+    #endif
283
+
274 284
     #if HAS_SPI_LCD
275 285
 
276 286
       static bool detected();
@@ -312,16 +322,6 @@ public:
312 322
       #endif
313 323
       static uint8_t lcd_status_update_delay;
314 324
 
315
-      #if HAS_PRINT_PROGRESS
316
-        #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
317
-          static uint8_t progress_bar_percent;
318
-          static void set_progress(const uint8_t progress) { progress_bar_percent = MIN(progress, 100); }
319
-        #endif
320
-        static uint8_t get_progress();
321
-      #else
322
-        static constexpr uint8_t get_progress() { return 0; }
323
-      #endif
324
-
325 325
       #if HAS_LCD_CONTRAST
326 326
         static int16_t contrast;
327 327
         static void set_contrast(const int16_t value);

正在加载...
取消
保存