Browse Source

Fix Tramming Wizard behavior (#20796)

zeleps 4 years ago
parent
commit
1b19eed195
No account linked to committer's email address

+ 4
- 0
Marlin/src/feature/bedlevel/bedlevel.h View File

23
 
23
 
24
 #include "../../inc/MarlinConfigPre.h"
24
 #include "../../inc/MarlinConfigPre.h"
25
 
25
 
26
+#if EITHER(RESTORE_LEVELING_AFTER_G28, ENABLE_LEVELING_AFTER_G28)
27
+  #define G28_L0_ENSURES_LEVELING_OFF 1
28
+#endif
29
+
26
 #if ENABLED(PROBE_MANUALLY)
30
 #if ENABLED(PROBE_MANUALLY)
27
   extern bool g29_in_progress;
31
   extern bool g29_in_progress;
28
 #else
32
 #else

+ 2
- 3
Marlin/src/gcode/calibrate/G28.cpp View File

241
 
241
 
242
   // Disable the leveling matrix before homing
242
   // Disable the leveling matrix before homing
243
   #if HAS_LEVELING
243
   #if HAS_LEVELING
244
-    IF_ENABLED(RESTORE_LEVELING_AFTER_G28, const bool leveling_restore_state = planner.leveling_active);
244
+    const bool leveling_restore_state = parser.boolval('L', TERN(RESTORE_LEVELING_AFTER_G28, planner.leveling_active, ENABLED(ENABLE_LEVELING_AFTER_G28)));
245
     IF_ENABLED(PROBE_MANUALLY, g29_in_progress = false); // Cancel the active G29 session
245
     IF_ENABLED(PROBE_MANUALLY, g29_in_progress = false); // Cancel the active G29 session
246
     set_bed_leveling_enabled(false);
246
     set_bed_leveling_enabled(false);
247
   #endif
247
   #endif
440
     do_blocking_move_to_z(delta_clip_start_height);
440
     do_blocking_move_to_z(delta_clip_start_height);
441
   #endif
441
   #endif
442
 
442
 
443
-  IF_ENABLED(RESTORE_LEVELING_AFTER_G28, set_bed_leveling_enabled(leveling_restore_state));
444
-  IF_ENABLED(ENABLE_LEVELING_AFTER_G28, set_bed_leveling_enabled(true));
443
+  TERN_(HAS_LEVELING, set_bed_leveling_enabled(leveling_restore_state));
445
 
444
 
446
   restore_feedrate_and_scaling();
445
   restore_feedrate_and_scaling();
447
 
446
 

+ 7
- 2
Marlin/src/lcd/menu/menu_tramming.cpp View File

42
 float z_measured[G35_PROBE_COUNT] = { 0 };
42
 float z_measured[G35_PROBE_COUNT] = { 0 };
43
 static uint8_t tram_index = 0;
43
 static uint8_t tram_index = 0;
44
 
44
 
45
+#if HAS_LEVELING
46
+  #include "../../feature/bedlevel/bedlevel.h"
47
+#endif
48
+
45
 static bool probe_single_point() {
49
 static bool probe_single_point() {
46
   do_blocking_move_to_z(TERN(BLTOUCH, Z_CLEARANCE_DEPLOY_PROBE, Z_CLEARANCE_BETWEEN_PROBES));
50
   do_blocking_move_to_z(TERN(BLTOUCH, Z_CLEARANCE_DEPLOY_PROBE, Z_CLEARANCE_BETWEEN_PROBES));
47
   // Stow after each point with BLTouch "HIGH SPEED" mode for push-pin safety
51
   // Stow after each point with BLTouch "HIGH SPEED" mode for push-pin safety
60
   STATIC_ITEM(MSG_LEVEL_CORNERS, SS_LEFT);
64
   STATIC_ITEM(MSG_LEVEL_CORNERS, SS_LEFT);
61
   STATIC_ITEM(MSG_LAST_VALUE_SP, SS_LEFT, ftostr42_52(z_measured[0] - z_measured[point])); // Print diff
65
   STATIC_ITEM(MSG_LAST_VALUE_SP, SS_LEFT, ftostr42_52(z_measured[0] - z_measured[point])); // Print diff
62
   ACTION_ITEM(MSG_UBL_BC_INSERT2, []{ if (probe_single_point()) ui.refresh(); });
66
   ACTION_ITEM(MSG_UBL_BC_INSERT2, []{ if (probe_single_point()) ui.refresh(); });
63
-  ACTION_ITEM(MSG_BUTTON_DONE, []{ ui.goto_previous_screen_no_defer(); }); // Back
67
+  ACTION_ITEM(MSG_BUTTON_DONE, []{ ui.goto_previous_screen(); }); // Back
64
   END_MENU();
68
   END_MENU();
65
 }
69
 }
66
 
70
 
88
 
92
 
89
   // Inject G28, wait for homing to complete,
93
   // Inject G28, wait for homing to complete,
90
   set_all_unhomed();
94
   set_all_unhomed();
91
-  queue.inject_P(G28_STR);
95
+  queue.inject_P(TERN(G28_L0_ENSURES_LEVELING_OFF, PSTR("G28L0"), G28_STR));
96
+
92
   ui.goto_screen([]{
97
   ui.goto_screen([]{
93
     _lcd_draw_homing();
98
     _lcd_draw_homing();
94
     if (all_axes_homed())
99
     if (all_axes_homed())

+ 1
- 1
Marlin/src/module/tool_change.cpp View File

918
       DEBUG_ECHOLNPGM("No move (not homed)");
918
       DEBUG_ECHOLNPGM("No move (not homed)");
919
     }
919
     }
920
 
920
 
921
-    TERN_(HAS_LCD_MENU, if (!no_move) ui.return_to_status());
921
+    TERN_(HAS_LCD_MENU, if (!no_move) ui.update());
922
 
922
 
923
     #if ENABLED(DUAL_X_CARRIAGE)
923
     #if ENABLED(DUAL_X_CARRIAGE)
924
       const bool idex_full_control = dual_x_carriage_mode == DXC_FULL_CONTROL_MODE;
924
       const bool idex_full_control = dual_x_carriage_mode == DXC_FULL_CONTROL_MODE;

Loading…
Cancel
Save