Pārlūkot izejas kodu

Fixes for G29, esp. 3POINT

Scott Lahteine 7 gadus atpakaļ
vecāks
revīzija
9e8008c49c
1 mainītis faili ar 11 papildinājumiem un 22 dzēšanām
  1. 11
    22
      Marlin/src/gcode/bedlevel/abl/G29.cpp

+ 11
- 22
Marlin/src/gcode/bedlevel/abl/G29.cpp Parādīt failu

292
 
292
 
293
     #endif
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
     verbose_level = parser.intval('V');
301
     verbose_level = parser.intval('V');
306
     if (!WITHIN(verbose_level, 0, 4)) {
302
     if (!WITHIN(verbose_level, 0, 4)) {
383
     #endif // ABL_GRID
379
     #endif // ABL_GRID
384
 
380
 
385
     if (verbose_level > 0) {
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
     stepper.synchronize();
387
     stepper.synchronize();
391
 
388
 
392
-    // Disable auto bed leveling during G29
389
+    // Disable auto bed leveling during G29.
393
     // Be formal so G29 can be done successively without G28.
390
     // Be formal so G29 can be done successively without G28.
394
     set_bed_leveling_enabled(false);
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
     #if HAS_BED_PROBE
393
     #if HAS_BED_PROBE
406
       // Deploy the probe. Probe will raise if needed.
394
       // Deploy the probe. Probe will raise if needed.
407
       if (DEPLOY_PROBE()) {
395
       if (DEPLOY_PROBE()) {
583
     #elif ENABLED(AUTO_BED_LEVELING_3POINT)
571
     #elif ENABLED(AUTO_BED_LEVELING_3POINT)
584
 
572
 
585
       // Probe at 3 arbitrary points
573
       // Probe at 3 arbitrary points
586
-      if (abl_probe_index < 3) {
574
+      if (abl_probe_index < abl2) {
587
         xProbe = points[abl_probe_index].x;
575
         xProbe = points[abl_probe_index].x;
588
         yProbe = points[abl_probe_index].y;
576
         yProbe = points[abl_probe_index].y;
577
+        _manual_goto_xy(xProbe, yProbe);
589
         #if HAS_SOFTWARE_ENDSTOPS
578
         #if HAS_SOFTWARE_ENDSTOPS
590
           // Disable software endstops to allow manual adjustment
579
           // Disable software endstops to allow manual adjustment
591
           // If G29 is not completed, they will not be re-enabled
580
           // If G29 is not completed, they will not be re-enabled

Notiek ielāde…
Atcelt
Saglabāt