Sfoglia il codice sorgente

Fix some MBL display issues for DOGLCD

Scott Lahteine 8 anni fa
parent
commit
3f6ae85748
1 ha cambiato i file con 9 aggiunte e 3 eliminazioni
  1. 9
    3
      Marlin/ultralcd.cpp

+ 9
- 3
Marlin/ultralcd.cpp Vedi File

1015
    */
1015
    */
1016
   static void _lcd_level_bed_homing() {
1016
   static void _lcd_level_bed_homing() {
1017
     if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_LEVEL_BED_HOMING), NULL);
1017
     if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_LEVEL_BED_HOMING), NULL);
1018
-    lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW;
1018
+    lcdDrawUpdate =
1019
+      #if ENABLED(DOGLCD)
1020
+        LCDVIEW_CALL_REDRAW_NEXT
1021
+      #else
1022
+        LCDVIEW_CALL_NO_REDRAW
1023
+      #endif
1024
+    ;
1019
     if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])
1025
     if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])
1020
       lcd_goto_menu(_lcd_level_bed_homing_done);
1026
       lcd_goto_menu(_lcd_level_bed_homing_done);
1021
   }
1027
   }
1157
     current_position[axis] += float((int32_t)encoderPosition) * move_menu_scale;
1163
     current_position[axis] += float((int32_t)encoderPosition) * move_menu_scale;
1158
     if (min_software_endstops) NOLESS(current_position[axis], min);
1164
     if (min_software_endstops) NOLESS(current_position[axis], min);
1159
     if (max_software_endstops) NOMORE(current_position[axis], max);
1165
     if (max_software_endstops) NOMORE(current_position[axis], max);
1160
-    encoderPosition = 0;
1161
     line_to_current(axis);
1166
     line_to_current(axis);
1162
     lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
1167
     lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
1163
   }
1168
   }
1169
+  encoderPosition = 0;
1164
   if (lcdDrawUpdate) lcd_implementation_drawedit(name, ftostr31(current_position[axis]));
1170
   if (lcdDrawUpdate) lcd_implementation_drawedit(name, ftostr31(current_position[axis]));
1165
   if (LCD_CLICKED) lcd_goto_previous_menu(true);
1171
   if (LCD_CLICKED) lcd_goto_previous_menu(true);
1166
 }
1172
 }
1186
   #endif
1192
   #endif
1187
   if (encoderPosition && movesplanned() <= 3) {
1193
   if (encoderPosition && movesplanned() <= 3) {
1188
     current_position[E_AXIS] += float((int32_t)encoderPosition) * move_menu_scale;
1194
     current_position[E_AXIS] += float((int32_t)encoderPosition) * move_menu_scale;
1189
-    encoderPosition = 0;
1190
     line_to_current(E_AXIS);
1195
     line_to_current(E_AXIS);
1191
     lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
1196
     lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
1192
   }
1197
   }
1198
+  encoderPosition = 0;
1193
   if (lcdDrawUpdate) {
1199
   if (lcdDrawUpdate) {
1194
     PGM_P pos_label;
1200
     PGM_P pos_label;
1195
     #if EXTRUDERS == 1
1201
     #if EXTRUDERS == 1

Loading…
Annulla
Salva