|
@@ -292,15 +292,11 @@ void GcodeSuite::G29() {
|
292
|
292
|
|
293
|
293
|
#endif
|
294
|
294
|
|
295
|
|
- #if HAS_LEVELING
|
296
|
|
-
|
297
|
|
- // Jettison bed leveling data
|
298
|
|
- if (parser.seen('J')) {
|
299
|
|
- reset_bed_level();
|
300
|
|
- return;
|
301
|
|
- }
|
302
|
|
-
|
303
|
|
- #endif
|
|
295
|
+ // Jettison bed leveling data
|
|
296
|
+ if (parser.seen('J')) {
|
|
297
|
+ reset_bed_level();
|
|
298
|
+ return;
|
|
299
|
+ }
|
304
|
300
|
|
305
|
301
|
verbose_level = parser.intval('V');
|
306
|
302
|
if (!WITHIN(verbose_level, 0, 4)) {
|
|
@@ -383,25 +379,17 @@ void GcodeSuite::G29() {
|
383
|
379
|
#endif // ABL_GRID
|
384
|
380
|
|
385
|
381
|
if (verbose_level > 0) {
|
386
|
|
- SERIAL_PROTOCOLLNPGM("G29 Auto Bed Leveling");
|
387
|
|
- if (dryrun) SERIAL_PROTOCOLLNPGM("Running in DRY-RUN mode");
|
|
382
|
+ SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling");
|
|
383
|
+ if (dryrun) SERIAL_PROTOCOLPGM(" (DRYRUN)");
|
|
384
|
+ SERIAL_EOL();
|
388
|
385
|
}
|
389
|
386
|
|
390
|
387
|
stepper.synchronize();
|
391
|
388
|
|
392
|
|
- // Disable auto bed leveling during G29
|
|
389
|
+ // Disable auto bed leveling during G29.
|
393
|
390
|
// Be formal so G29 can be done successively without G28.
|
394
|
391
|
set_bed_leveling_enabled(false);
|
395
|
392
|
|
396
|
|
- if (!dryrun) {
|
397
|
|
- // Re-orient the current position without leveling
|
398
|
|
- // based on where the steppers are positioned.
|
399
|
|
- set_current_from_steppers_for_axis(ALL_AXES);
|
400
|
|
-
|
401
|
|
- // Sync the planner to where the steppers stopped
|
402
|
|
- SYNC_PLAN_POSITION_KINEMATIC();
|
403
|
|
- }
|
404
|
|
-
|
405
|
393
|
#if HAS_BED_PROBE
|
406
|
394
|
// Deploy the probe. Probe will raise if needed.
|
407
|
395
|
if (DEPLOY_PROBE()) {
|
|
@@ -583,9 +571,10 @@ void GcodeSuite::G29() {
|
583
|
571
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
584
|
572
|
|
585
|
573
|
// Probe at 3 arbitrary points
|
586
|
|
- if (abl_probe_index < 3) {
|
|
574
|
+ if (abl_probe_index < abl2) {
|
587
|
575
|
xProbe = points[abl_probe_index].x;
|
588
|
576
|
yProbe = points[abl_probe_index].y;
|
|
577
|
+ _manual_goto_xy(xProbe, yProbe);
|
589
|
578
|
#if HAS_SOFTWARE_ENDSTOPS
|
590
|
579
|
// Disable software endstops to allow manual adjustment
|
591
|
580
|
// If G29 is not completed, they will not be re-enabled
|