Quellcode durchsuchen

Fix lcd_synchronize with message

Scott Lahteine vor 8 Jahren
Ursprung
Commit
78d8c598e1
1 geänderte Dateien mit 11 neuen und 4 gelöschten Zeilen
  1. 11
    4
      Marlin/ultralcd.cpp

+ 11
- 4
Marlin/ultralcd.cpp Datei anzeigen

@@ -481,21 +481,28 @@ uint16_t max_display_update_time = 0;
481 481
   /**
482 482
    * Show "Moving..." till moves are done, then revert to previous display.
483 483
    */
484
-  inline void lcd_synchronize(const char * const msg=NULL) {
484
+  static const char moving[] PROGMEM = MSG_MOVING;
485
+  static const char *sync_message = moving;
486
+
487
+  void _lcd_synchronize() {
485 488
     static bool no_reentry = false;
486
-    const static char moving[] PROGMEM = MSG_MOVING;
487
-    lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, msg ? msg : moving);
489
+    if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, sync_message);
488 490
     if (no_reentry) return;
489 491
 
490 492
     // Make this the current handler till all moves are done
491 493
     no_reentry = true;
492 494
     screenFunc_t old_screen = currentScreen;
493
-    lcd_goto_screen(lcd_synchronize);
495
+    lcd_goto_screen(_lcd_synchronize);
494 496
     stepper.synchronize();
495 497
     no_reentry = false;
496 498
     lcd_goto_screen(old_screen);
497 499
   }
498 500
 
501
+  void lcd_synchronize(const char * const msg=NULL) {
502
+    sync_message = msg ? msg : moving;
503
+    _lcd_synchronize();
504
+  }
505
+
499 506
   void lcd_return_to_status() { lcd_goto_screen(lcd_status_screen); }
500 507
 
501 508
   void lcd_save_previous_screen() {

Laden…
Abbrechen
Speichern