|
@@ -68,6 +68,8 @@
|
68
|
68
|
*
|
69
|
69
|
* Enhanced G29 Auto Bed Leveling Probe Routine
|
70
|
70
|
*
|
|
71
|
+ * O Auto-level only if needed
|
|
72
|
+ *
|
71
|
73
|
* D Dry-Run mode. Just evaluate the bed Topology - Don't apply
|
72
|
74
|
* or alter the bed level data. Useful to check the topology
|
73
|
75
|
* after a first run of G29.
|
|
@@ -174,6 +176,15 @@ void GcodeSuite::G29() {
|
174
|
176
|
// Don't allow auto-leveling without homing first
|
175
|
177
|
if (axis_unhomed_error()) return;
|
176
|
178
|
|
|
179
|
+ if (!no_action && planner.leveling_active && parser.boolval('O')) { // Auto-level only if needed
|
|
180
|
+ #if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
181
|
+ if (DEBUGGING(LEVELING)) {
|
|
182
|
+ SERIAL_ECHOLNPGM("> Auto-level not needed, skip");
|
|
183
|
+ SERIAL_ECHOLNPGM("<<< G29");
|
|
184
|
+ }
|
|
185
|
+ #endif
|
|
186
|
+ return;
|
|
187
|
+ }
|
177
|
188
|
// Define local vars 'static' for manual probing, 'auto' otherwise
|
178
|
189
|
#if ENABLED(PROBE_MANUALLY)
|
179
|
190
|
#define ABL_VAR static
|