Browse Source

Update ABL comments (PR#95)

* Updates the auto bed leveling comments ONLY.
* Renames "Z probe" word usage in //comments and #errors properly.
Christian Lefrançois 10 years ago
parent
commit
9897a9147c

+ 72
- 55
Marlin/Configuration.h View File

@@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
341 341
 //#define DISABLE_MAX_ENDSTOPS
342 342
 //#define DISABLE_MIN_ENDSTOPS
343 343
 
344
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
345
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
346
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
344
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
345
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
346
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
347 347
 // this has no effect.
348 348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349 349
 
@@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
419 419
 //=========================== Manual Bed Leveling ===========================
420 420
 //===========================================================================
421 421
 
422
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
423
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
422
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
423
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
424 424
 
425 425
 #if ENABLED(MANUAL_BED_LEVELING)
426
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
426
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
427 427
 #endif  // MANUAL_BED_LEVELING
428 428
 
429 429
 #if ENABLED(MESH_BED_LEVELING)
@@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
431 431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432 432
   #define MESH_MIN_Y 10
433 433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
434
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
434
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
435 435
   #define MESH_NUM_Y_POINTS 3
436
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
436
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
437 437
 #endif  // MESH_BED_LEVELING
438 438
 
439 439
 //===========================================================================
@@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
442 442
 
443 443
 // @section bedlevel
444 444
 
445
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
446
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
445
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
446
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
447 447
 
448 448
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
449 449
 
450
-  // There are 2 different ways to specify probing locations
450
+  // There are 2 different ways to specify probing locations:
451 451
   //
452 452
   // - "grid" mode
453 453
   //   Probe several points in a rectangular grid.
@@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
458 458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459 459
   //   You specify the XY coordinates of all 3 points.
460 460
 
461
-  // Enable this to sample the bed in a grid (least squares solution)
462
-  // Note: this feature generates 10KB extra code size
461
+  // Enable this to sample the bed in a grid (least squares solution).
462
+  // Note: this feature generates 10KB extra code size.
463 463
   #define AUTO_BED_LEVELING_GRID
464 464
 
465 465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
469 469
     #define FRONT_PROBE_BED_POSITION 20
470 470
     #define BACK_PROBE_BED_POSITION 170
471 471
 
472
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
472
+    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
473 473
 
474
-    // Set the number of grid points per dimension
475
-    // You probably don't need more than 3 (squared=9)
474
+    // Set the number of grid points per dimension.
475
+    // You probably don't need more than 3 (squared=9).
476 476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477 477
 
478 478
   #else  // !AUTO_BED_LEVELING_GRID
479 479
 
480
-      // Arbitrary points to probe. A simple cross-product
481
-      // is used to estimate the plane of the bed.
480
+      // Arbitrary points to probe.
481
+      // A simple cross-product is used to estimate the plane of the bed.
482 482
       #define ABL_PROBE_PT_1_X 15
483 483
       #define ABL_PROBE_PT_1_Y 180
484 484
       #define ABL_PROBE_PT_2_X 15
@@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
488 488
 
489 489
   #endif // AUTO_BED_LEVELING_GRID
490 490
 
491
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
492
-  // X and Y offsets must be integers
493
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
494
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
495
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
491
+  // Offsets to the Z probe relative to the nozzle tip.
492
+  // X and Y offsets must be integers.
493
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
494
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
495
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
496 496
 
497
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
498
-                                        // Be sure you have this distance over your Z_MAX_POS in case
497
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
498
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
499 499
 
500
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
500
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
501 501
 
502
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
503
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
504
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
502
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
503
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
504
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
505 505
 
506
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
507
-                                                                            //Useful to retract a deployable probe.
506
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
507
+                                                                            // Useful to retract a deployable Z probe.
508 508
 
509
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
510
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
509
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
510
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
511 511
 
512
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
513
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
512
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
513
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
514 514
 
515
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
515
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
516 516
                           // When defined, it will:
517
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
518
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
519
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
520
-                          // - Block Z homing only when the probe is outside bed area.
517
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
518
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
519
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
520
+                          // - Block Z homing only when the Z probe is outside bed area.
521 521
 
522 522
   #if ENABLED(Z_SAFE_HOMING)
523 523
 
524
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
525
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
524
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
525
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
526 526
 
527 527
   #endif
528 528
 
529
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
530
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
531
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
532
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
533
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
534
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
535
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
536
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
537
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
538
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
539
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
540
-
529
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
530
+  // If you would like to use both a Z probe and a Z min endstop together,
531
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
532
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
533
+  // Example: To park the head outside the bed area when homing with G28.
534
+  //
535
+  // WARNING:
536
+  // The Z min endstop will need to set properly as it would without a Z probe
537
+  // to prevent head crashes and premature stopping during a print.
538
+  //
539
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
540
+  // defined in the pins_XXXXX.h file for your control board.
541
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
542
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
543
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
544
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
545
+  // otherwise connect to ground and D32 for normally closed configuration
546
+  // and 5V and D32 for normally open configurations.
547
+  // Normally closed configuration is advised and assumed.
548
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
549
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
550
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
551
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
552
+  // All other boards will need changes to the respective pins_XXXXX.h file.
553
+  //
554
+  // WARNING:
555
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
556
+  // Use with caution and do your homework.
557
+  //
541 558
   //#define Z_MIN_PROBE_ENDSTOP
542 559
 
543 560
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
785 802
 // Servo Endstops
786 803
 //
787 804
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
788
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
805
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
789 806
 //
790 807
 //#define X_ENDSTOP_SERVO_NR 1
791 808
 //#define Y_ENDSTOP_SERVO_NR 2

+ 37
- 37
Marlin/Marlin_main.cpp View File

@@ -88,8 +88,8 @@
88 88
  * G10 - retract filament according to settings of M207
89 89
  * G11 - retract recover filament according to settings of M208
90 90
  * G28 - Home one or more axes
91
- * G29 - Detailed Z-Probe, probes the bed at 3 or more points.  Will fail if you haven't homed yet.
92
- * G30 - Single Z Probe, probes bed at current XY location.
91
+ * G29 - Detailed Z probe, probes the bed at 3 or more points.  Will fail if you haven't homed yet.
92
+ * G30 - Single Z probe, probes bed at current XY location.
93 93
  * G31 - Dock sled (Z_PROBE_SLED only)
94 94
  * G32 - Undock sled (Z_PROBE_SLED only)
95 95
  * G90 - Use Absolute Coordinates
@@ -179,8 +179,8 @@
179 179
  * M380 - Activate solenoid on active extruder
180 180
  * M381 - Disable all solenoids
181 181
  * M400 - Finish all moves
182
- * M401 - Lower z-probe if present
183
- * M402 - Raise z-probe if present
182
+ * M401 - Lower Z probe if present
183
+ * M402 - Raise Z probe if present
184 184
  * M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters
185 185
  * M405 - Turn on Filament Sensor extrusion control.  Optional D<delay in cm> to set delay in centimeters between sensor and extruder
186 186
  * M406 - Turn off Filament Sensor extrusion control
@@ -214,7 +214,7 @@
214 214
  *
215 215
  * ************ Custom codes - This can change to suit future G-code regulations
216 216
  * M100 - Watch Free Memory (For Debugging Only)
217
- * M851 - Set probe's Z offset (mm above extruder -- The value will always be negative)
217
+ * M851 - Set Z probe's Z offset (mm above extruder -- The value will always be negative)
218 218
 
219 219
 
220 220
  * M928 - Start SD logging (M928 filename.g) - ended by M29
@@ -1239,7 +1239,7 @@ static void setup_for_endstop_move() {
1239 1239
       plan_bed_level_matrix.set_to_identity();
1240 1240
       feedrate = homing_feedrate[Z_AXIS];
1241 1241
 
1242
-      // Move down until the probe (or endstop?) is triggered
1242
+      // Move down until the Z probe (or endstop?) is triggered
1243 1243
       float zPosition = -(Z_MAX_LENGTH + 10);
1244 1244
       line_to_z(zPosition);
1245 1245
       st_synchronize();
@@ -1329,7 +1329,7 @@ static void setup_for_endstop_move() {
1329 1329
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
1330 1330
       feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE;
1331 1331
 
1332
-      // If endstop is already false, the probe is deployed
1332
+      // If endstop is already false, the Z probe is deployed
1333 1333
       #if ENABLED(Z_MIN_PROBE_ENDSTOP)
1334 1334
         bool z_probe_endstop = (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING);
1335 1335
         if (z_probe_endstop)
@@ -1443,7 +1443,7 @@ static void setup_for_endstop_move() {
1443 1443
       destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z;
1444 1444
       prepare_move_raw();
1445 1445
 
1446
-      // Move the nozzle down to push the probe into retracted position
1446
+      // Move the nozzle down to push the Z probe into retracted position
1447 1447
       if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) {
1448 1448
         feedrate = Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE;
1449 1449
       }
@@ -1506,7 +1506,7 @@ static void setup_for_endstop_move() {
1506 1506
 
1507 1507
   // Probe bed height at position (x,y), returns the measured z value
1508 1508
   static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) {
1509
-    // Move Z up to the z_before height, then move the probe to the given XY
1509
+    // Move Z up to the z_before height, then move the Z probe to the given XY
1510 1510
     do_blocking_move_to_z(z_before); // this also updates current_position
1511 1511
     do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position
1512 1512
 
@@ -1678,7 +1678,7 @@ static void homeaxis(AxisEnum axis) {
1678 1678
     
1679 1679
     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
1680 1680
 
1681
-      // Deploy a probe if there is one, and homing towards the bed
1681
+      // Deploy a Z probe if there is one, and homing towards the bed
1682 1682
       if (axis == Z_AXIS) {
1683 1683
         if (axis_home_dir < 0) deploy_z_probe();
1684 1684
       }
@@ -1770,7 +1770,7 @@ static void homeaxis(AxisEnum axis) {
1770 1770
     axis_known_position[axis] = true;
1771 1771
 
1772 1772
     #if ENABLED(Z_PROBE_SLED)
1773
-    // bring probe back
1773
+    // bring Z probe back
1774 1774
       if (axis == Z_AXIS) {
1775 1775
         if (axis_home_dir < 0) dock_sled(true);
1776 1776
       } 
@@ -1778,7 +1778,7 @@ static void homeaxis(AxisEnum axis) {
1778 1778
 
1779 1779
     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
1780 1780
 
1781
-      // Deploy a probe if there is one, and homing towards the bed
1781
+      // Deploy a Z probe if there is one, and homing towards the bed
1782 1782
       if (axis == Z_AXIS) {
1783 1783
         if (axis_home_dir < 0) stow_z_probe();
1784 1784
       }
@@ -2157,7 +2157,7 @@ inline void gcode_G28() {
2157 2157
             sync_plan_position();
2158 2158
 
2159 2159
             //
2160
-            // Set the probe (or just the nozzle) destination to the safe homing point
2160
+            // Set the Z probe (or just the nozzle) destination to the safe homing point
2161 2161
             //
2162 2162
             // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above
2163 2163
             // then this may not work as expected.
@@ -2182,8 +2182,8 @@ inline void gcode_G28() {
2182 2182
             // Let's see if X and Y are homed
2183 2183
             if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) {
2184 2184
 
2185
-              // Make sure the probe is within the physical limits
2186
-              // NOTE: This doesn't necessarily ensure the probe is also within the bed!
2185
+              // Make sure the Z probe is within the physical limits
2186
+              // NOTE: This doesn't necessarily ensure the Z probe is also within the bed!
2187 2187
               float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS];
2188 2188
               if (   cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER
2189 2189
                   && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER
@@ -2265,7 +2265,7 @@ inline void gcode_G28() {
2265 2265
   enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet };
2266 2266
 
2267 2267
   /**
2268
-   * G29: Mesh-based Z-Probe, probes a grid and produces a
2268
+   * G29: Mesh-based Z probe, probes a grid and produces a
2269 2269
    *      mesh to compensate for variable bed height
2270 2270
    *
2271 2271
    * Parameters With MESH_BED_LEVELING:
@@ -2404,7 +2404,7 @@ inline void gcode_G28() {
2404 2404
   }
2405 2405
 
2406 2406
   /**
2407
-   * G29: Detailed Z-Probe, probes the bed at 3 or more points.
2407
+   * G29: Detailed Z probe, probes the bed at 3 or more points.
2408 2408
    *      Will fail if the printer has not been homed with G28.
2409 2409
    *
2410 2410
    * Enhanced G29 Auto Bed Leveling Probe Routine
@@ -2435,9 +2435,9 @@ inline void gcode_G28() {
2435 2435
    *
2436 2436
    * Global Parameters:
2437 2437
    *
2438
-   * E/e By default G29 will engage the probe, test the bed, then disengage.
2439
-   *     Include "E" to engage/disengage the probe for each sample.
2440
-   *     There's no extra effect if you have a fixed probe.
2438
+   * E/e By default G29 will engage the Z probe, test the bed, then disengage.
2439
+   *     Include "E" to engage/disengage the Z probe for each sample.
2440
+   *     There's no extra effect if you have a fixed Z probe.
2441 2441
    *     Usage: "G29 E" or "G29 e"
2442 2442
    *
2443 2443
    */
@@ -2519,7 +2519,7 @@ inline void gcode_G28() {
2519 2519
     #endif // AUTO_BED_LEVELING_GRID
2520 2520
 
2521 2521
     #if ENABLED(Z_PROBE_SLED)
2522
-      dock_sled(false); // engage (un-dock) the probe
2522
+      dock_sled(false); // engage (un-dock) the Z probe
2523 2523
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2524 2524
       deploy_z_probe();
2525 2525
     #endif
@@ -2755,23 +2755,23 @@ inline void gcode_G28() {
2755 2755
         plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:");
2756 2756
 
2757 2757
       if (!dryrun) {
2758
-        // Correct the Z height difference from z-probe position and hotend tip position.
2759
-        // The Z height on homing is measured by Z-Probe, but the probe is quite far from the hotend.
2758
+        // Correct the Z height difference from Z probe position and nozzle tip position.
2759
+        // The Z height on homing is measured by Z probe, but the Z probe is quite far from the nozzle.
2760 2760
         // When the bed is uneven, this height must be corrected.
2761 2761
         float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,
2762 2762
               y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER,
2763 2763
               z_tmp = current_position[Z_AXIS],
2764 2764
               real_z = st_get_position_mm(Z_AXIS);  //get the real Z (since plan_get_position is now correcting the plane)
2765 2765
 
2766
-        apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the probe offset
2766
+        apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the Z probe offset
2767 2767
 
2768 2768
         // Get the current Z position and send it to the planner.
2769 2769
         //
2770 2770
         // >> (z_tmp - real_z) : The rotated current Z minus the uncorrected Z (most recent plan_set_position/sync_plan_position)
2771 2771
         //
2772
-        // >> zprobe_zoffset : Z distance from nozzle to probe (set by default, M851, EEPROM, or Menu)
2772
+        // >> zprobe_zoffset : Z distance from nozzle to Z probe (set by default, M851, EEPROM, or Menu)
2773 2773
         //
2774
-        // >> Z_RAISE_AFTER_PROBING : The distance the probe will have lifted after the last probe
2774
+        // >> Z_RAISE_AFTER_PROBING : The distance the Z probe will have lifted after the last probe
2775 2775
         //
2776 2776
         // >> Should home_offset[Z_AXIS] be included?
2777 2777
         //
@@ -2786,13 +2786,13 @@ inline void gcode_G28() {
2786 2786
              + Z_RAISE_AFTER_PROBING
2787 2787
           #endif
2788 2788
           ;
2789
-        // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The probe determines Z=0, not "Z home"
2789
+        // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The Z probe determines Z=0, not "Z home"
2790 2790
         sync_plan_position();
2791 2791
       }
2792 2792
     #endif // !DELTA
2793 2793
 
2794 2794
     #if ENABLED(Z_PROBE_SLED)
2795
-      dock_sled(true); // dock the probe
2795
+      dock_sled(true); // dock the Z probe
2796 2796
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2797 2797
       stow_z_probe();
2798 2798
     #endif
@@ -3121,14 +3121,14 @@ inline void gcode_M42() {
3121 3121
   // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity.
3122 3122
   #if ENABLED(Z_MIN_PROBE_ENDSTOP)
3123 3123
     #if !HAS_Z_PROBE
3124
-      #error You must define Z_MIN_PROBE_PIN to enable Z-Probe repeatability calculation.
3124
+      #error You must define Z_MIN_PROBE_PIN to enable Z probe repeatability calculation.
3125 3125
     #endif
3126 3126
   #elif !HAS_Z_MIN
3127
-    #error You must define Z_MIN_PIN to enable Z-Probe repeatability calculation.
3127
+    #error You must define Z_MIN_PIN to enable Z probe repeatability calculation.
3128 3128
   #endif
3129 3129
 
3130 3130
   /**
3131
-   * M48: Z-Probe repeatability measurement function.
3131
+   * M48: Z probe repeatability measurement function.
3132 3132
    *
3133 3133
    * Usage:
3134 3134
    *   M48 <P#> <X#> <Y#> <V#> <E> <L#>
@@ -3136,11 +3136,11 @@ inline void gcode_M42() {
3136 3136
    *     X = Sample X position
3137 3137
    *     Y = Sample Y position
3138 3138
    *     V = Verbose level (0-4, default=1)
3139
-   *     E = Engage probe for each reading
3139
+   *     E = Engage Z probe for each reading
3140 3140
    *     L = Number of legs of movement before probe
3141 3141
    *  
3142 3142
    * This function assumes the bed has been homed.  Specifically, that a G28 command
3143
-   * as been issued prior to invoking the M48 Z-Probe repeatability measurement function.
3143
+   * as been issued prior to invoking the M48 Z probe repeatability measurement function.
3144 3144
    * Any information generated by a prior G29 Bed leveling command will be lost and need to be
3145 3145
    * regenerated.
3146 3146
    */
@@ -3203,7 +3203,7 @@ inline void gcode_M42() {
3203 3203
     }
3204 3204
 
3205 3205
     //
3206
-    // Do all the preliminary setup work.   First raise the probe.
3206
+    // Do all the preliminary setup work.   First raise the Z probe.
3207 3207
     //
3208 3208
 
3209 3209
     st_synchronize();
@@ -5283,7 +5283,7 @@ void process_next_command() {
5283 5283
         break;
5284 5284
 
5285 5285
       #if ENABLED(ENABLE_AUTO_BED_LEVELING) || ENABLED(MESH_BED_LEVELING)
5286
-        case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points.
5286
+        case 29: // G29 Detailed Z probe, probes the bed at 3 or more points.
5287 5287
           gcode_G29();
5288 5288
           break;
5289 5289
       #endif
@@ -5292,7 +5292,7 @@ void process_next_command() {
5292 5292
 
5293 5293
         #if DISABLED(Z_PROBE_SLED)
5294 5294
 
5295
-          case 30: // G30 Single Z Probe
5295
+          case 30: // G30 Single Z probe
5296 5296
             gcode_G30();
5297 5297
             break;
5298 5298
 
@@ -5378,7 +5378,7 @@ void process_next_command() {
5378 5378
         break;
5379 5379
 
5380 5380
       #if ENABLED(ENABLE_AUTO_BED_LEVELING) && ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
5381
-        case 48: // M48 Z-Probe repeatability
5381
+        case 48: // M48 Z probe repeatability
5382 5382
           gcode_M48();
5383 5383
           break;
5384 5384
       #endif // ENABLE_AUTO_BED_LEVELING && Z_MIN_PROBE_REPEATABILITY_TEST

+ 16
- 16
Marlin/SanityCheck.h View File

@@ -130,20 +130,20 @@
130 130
   #if ENABLED(ENABLE_AUTO_BED_LEVELING)
131 131
 
132 132
     /**
133
-     * Require a Z Min pin
133
+     * Require a Z min pin
134 134
      */
135 135
     #if !PIN_EXISTS(Z_MIN)
136
-      #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z Probe, but not enable it.
136
+      #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z probe, but not enable it.
137 137
         #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
138
-          #error You must have a Z_MIN or Z_PROBE endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST.
138
+          #error You must have a Z min or Z probe endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST.
139 139
         #else
140
-          #error ENABLE_AUTO_BED_LEVELING requires a Z_MIN or Z_PROBE endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin.
140
+          #error ENABLE_AUTO_BED_LEVELING requires a Z min or Z probe endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin.
141 141
         #endif
142 142
       #endif
143 143
     #endif
144 144
 
145 145
     /**
146
-     * Require a Z Probe Pin if Z_MIN_PROBE_ENDSTOP is enabled.
146
+     * Require a Z probe pin if Z_MIN_PROBE_ENDSTOP is enabled.
147 147
      */
148 148
     #if ENABLED(Z_MIN_PROBE_ENDSTOP)
149 149
       #ifndef Z_MIN_PROBE_PIN
@@ -179,30 +179,30 @@
179 179
         #endif
180 180
         // Make sure probing points are reachable
181 181
         #if LEFT_PROBE_BED_POSITION < MIN_PROBE_X
182
-          #error "The given LEFT_PROBE_BED_POSITION can't be reached by the probe."
182
+          #error "The given LEFT_PROBE_BED_POSITION can't be reached by the Z probe."
183 183
         #elif RIGHT_PROBE_BED_POSITION > MAX_PROBE_X
184
-          #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the probe."
184
+          #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the Z probe."
185 185
         #elif FRONT_PROBE_BED_POSITION < MIN_PROBE_Y
186
-          #error "The given FRONT_PROBE_BED_POSITION can't be reached by the probe."
186
+          #error "The given FRONT_PROBE_BED_POSITION can't be reached by the Z probe."
187 187
         #elif BACK_PROBE_BED_POSITION > MAX_PROBE_Y
188
-          #error "The given BACK_PROBE_BED_POSITION can't be reached by the probe."
188
+          #error "The given BACK_PROBE_BED_POSITION can't be reached by the Z probe."
189 189
         #endif
190 190
       #endif
191 191
     #else // !AUTO_BED_LEVELING_GRID
192 192
 
193 193
       // Check the triangulation points
194 194
       #if ABL_PROBE_PT_1_X < MIN_PROBE_X || ABL_PROBE_PT_1_X > MAX_PROBE_X
195
-        #error "The given ABL_PROBE_PT_1_X can't be reached by the probe."
195
+        #error "The given ABL_PROBE_PT_1_X can't be reached by the Z probe."
196 196
       #elif ABL_PROBE_PT_2_X < MIN_PROBE_X || ABL_PROBE_PT_2_X > MAX_PROBE_X
197
-        #error "The given ABL_PROBE_PT_2_X can't be reached by the probe."
197
+        #error "The given ABL_PROBE_PT_2_X can't be reached by the Z probe."
198 198
       #elif ABL_PROBE_PT_3_X < MIN_PROBE_X || ABL_PROBE_PT_3_X > MAX_PROBE_X
199
-        #error "The given ABL_PROBE_PT_3_X can't be reached by the probe."
199
+        #error "The given ABL_PROBE_PT_3_X can't be reached by the Z probe."
200 200
       #elif ABL_PROBE_PT_1_Y < MIN_PROBE_Y || ABL_PROBE_PT_1_Y > MAX_PROBE_Y
201
-        #error "The given ABL_PROBE_PT_1_Y can't be reached by the probe."
201
+        #error "The given ABL_PROBE_PT_1_Y can't be reached by the Z probe."
202 202
       #elif ABL_PROBE_PT_2_Y < MIN_PROBE_Y || ABL_PROBE_PT_2_Y > MAX_PROBE_Y
203
-        #error "The given ABL_PROBE_PT_2_Y can't be reached by the probe."
203
+        #error "The given ABL_PROBE_PT_2_Y can't be reached by the Z probe."
204 204
       #elif ABL_PROBE_PT_3_Y < MIN_PROBE_Y || ABL_PROBE_PT_3_Y > MAX_PROBE_Y
205
-        #error "The given ABL_PROBE_PT_3_Y can't be reached by the probe."
205
+        #error "The given ABL_PROBE_PT_3_Y can't be reached by the Z probe."
206 206
       #endif
207 207
 
208 208
     #endif // !AUTO_BED_LEVELING_GRID
@@ -240,7 +240,7 @@
240 240
   #endif
241 241
 
242 242
   /**
243
-   * Allen Key Z Probe requires Auto Bed Leveling grid and Delta
243
+   * Allen Key Z probe requires Auto Bed Leveling grid and Delta
244 244
    */
245 245
   #if ENABLED(Z_PROBE_ALLEN_KEY) && !(ENABLED(AUTO_BED_LEVELING_GRID) && ENABLED(DELTA))
246 246
     #error Invalid use of Z_PROBE_ALLEN_KEY.

+ 72
- 55
Marlin/configurator/config/Configuration.h View File

@@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
341 341
 //#define DISABLE_MAX_ENDSTOPS
342 342
 //#define DISABLE_MIN_ENDSTOPS
343 343
 
344
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
345
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
346
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
344
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
345
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
346
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
347 347
 // this has no effect.
348 348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349 349
 
@@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
419 419
 //=========================== Manual Bed Leveling ===========================
420 420
 //===========================================================================
421 421
 
422
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
423
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
422
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
423
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
424 424
 
425 425
 #if ENABLED(MANUAL_BED_LEVELING)
426
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
426
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
427 427
 #endif  // MANUAL_BED_LEVELING
428 428
 
429 429
 #if ENABLED(MESH_BED_LEVELING)
@@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
431 431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432 432
   #define MESH_MIN_Y 10
433 433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
434
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
434
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
435 435
   #define MESH_NUM_Y_POINTS 3
436
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
436
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
437 437
 #endif  // MESH_BED_LEVELING
438 438
 
439 439
 //===========================================================================
@@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
442 442
 
443 443
 // @section bedlevel
444 444
 
445
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
446
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
445
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
446
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
447 447
 
448 448
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
449 449
 
450
-  // There are 2 different ways to specify probing locations
450
+  // There are 2 different ways to specify probing locations:
451 451
   //
452 452
   // - "grid" mode
453 453
   //   Probe several points in a rectangular grid.
@@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
458 458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459 459
   //   You specify the XY coordinates of all 3 points.
460 460
 
461
-  // Enable this to sample the bed in a grid (least squares solution)
462
-  // Note: this feature generates 10KB extra code size
461
+  // Enable this to sample the bed in a grid (least squares solution).
462
+  // Note: this feature generates 10KB extra code size.
463 463
   #define AUTO_BED_LEVELING_GRID
464 464
 
465 465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
469 469
     #define FRONT_PROBE_BED_POSITION 20
470 470
     #define BACK_PROBE_BED_POSITION 170
471 471
 
472
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
472
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
473 473
 
474
-    // Set the number of grid points per dimension
475
-    // You probably don't need more than 3 (squared=9)
474
+    // Set the number of grid points per dimension.
475
+    // You probably don't need more than 3 (squared=9).
476 476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477 477
 
478 478
   #else  // !AUTO_BED_LEVELING_GRID
479 479
 
480
-      // Arbitrary points to probe. A simple cross-product
481
-      // is used to estimate the plane of the bed.
480
+      // Arbitrary points to probe.
481
+      // A simple cross-product is used to estimate the plane of the bed.
482 482
       #define ABL_PROBE_PT_1_X 15
483 483
       #define ABL_PROBE_PT_1_Y 180
484 484
       #define ABL_PROBE_PT_2_X 15
@@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
488 488
 
489 489
   #endif // AUTO_BED_LEVELING_GRID
490 490
 
491
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
492
-  // X and Y offsets must be integers
493
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
494
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
495
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
491
+  // Offsets to the Z probe relative to the nozzle tip.
492
+  // X and Y offsets must be integers.
493
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
494
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
495
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
496 496
 
497
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
498
-                                        // Be sure you have this distance over your Z_MAX_POS in case
497
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
498
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
499 499
 
500
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
500
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
501 501
 
502
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
503
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
504
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
502
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
503
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
504
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
505 505
 
506
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
507
-                                                                            //Useful to retract a deployable probe.
506
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
507
+                                                                            // Useful to retract a deployable Z probe.
508 508
 
509
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
510
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
509
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
510
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
511 511
 
512
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
513
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
512
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
513
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
514 514
 
515
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
515
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
516 516
                           // When defined, it will:
517
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
518
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
519
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
520
-                          // - Block Z homing only when the probe is outside bed area.
517
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
518
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
519
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
520
+                          // - Block Z homing only when the Z probe is outside bed area.
521 521
 
522 522
   #if ENABLED(Z_SAFE_HOMING)
523 523
 
524
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
525
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
524
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
525
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
526 526
 
527 527
   #endif
528 528
 
529
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
530
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
531
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
532
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
533
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
534
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
535
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
536
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
537
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
538
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
539
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
540
-
529
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
530
+  // If you would like to use both a Z probe and a Z min endstop together,
531
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
532
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
533
+  // Example: To park the head outside the bed area when homing with G28.
534
+  //
535
+  // WARNING:
536
+  // The Z min endstop will need to set properly as it would without a Z probe
537
+  // to prevent head crashes and premature stopping during a print.
538
+  //
539
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
540
+  // defined in the pins_XXXXX.h file for your control board.
541
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
542
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
543
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
544
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
545
+  // otherwise connect to ground and D32 for normally closed configuration
546
+  // and 5V and D32 for normally open configurations.
547
+  // Normally closed configuration is advised and assumed.
548
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
549
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
550
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
551
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
552
+  // All other boards will need changes to the respective pins_XXXXX.h file.
553
+  //
554
+  // WARNING:
555
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
556
+  // Use with caution and do your homework.
557
+  //
541 558
   //#define Z_MIN_PROBE_ENDSTOP
542 559
 
543 560
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
785 802
 // Servo Endstops
786 803
 //
787 804
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
788
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
805
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
789 806
 //
790 807
 //#define X_ENDSTOP_SERVO_NR 1
791 808
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/Felix/Configuration.h View File

@@ -323,9 +323,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
323 323
 #define DISABLE_MAX_ENDSTOPS
324 324
 //#define DISABLE_MIN_ENDSTOPS
325 325
 
326
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
327
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
328
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
326
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
327
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
328
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
329 329
 // this has no effect.
330 330
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
331 331
 
@@ -401,11 +401,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
401 401
 //=========================== Manual Bed Leveling ===========================
402 402
 //===========================================================================
403 403
 
404
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
405
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
404
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
405
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
406 406
 
407 407
 #if ENABLED(MANUAL_BED_LEVELING)
408
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
408
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
409 409
 #endif  // MANUAL_BED_LEVELING
410 410
 
411 411
 #if ENABLED(MESH_BED_LEVELING)
@@ -413,9 +413,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
413 413
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
414 414
   #define MESH_MIN_Y 10
415 415
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
416
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
416
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
417 417
   #define MESH_NUM_Y_POINTS 3
418
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
418
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
419 419
 #endif  // MESH_BED_LEVELING
420 420
 
421 421
 //===========================================================================
@@ -424,12 +424,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
424 424
 
425 425
 // @section bedlevel
426 426
 
427
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
428
-//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
427
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
428
+//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
429 429
 
430 430
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
431 431
 
432
-  // There are 2 different ways to specify probing locations
432
+  // There are 2 different ways to specify probing locations:
433 433
   //
434 434
   // - "grid" mode
435 435
   //   Probe several points in a rectangular grid.
@@ -440,8 +440,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
440 440
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
441 441
   //   You specify the XY coordinates of all 3 points.
442 442
 
443
-  // Enable this to sample the bed in a grid (least squares solution)
444
-  // Note: this feature generates 10KB extra code size
443
+  // Enable this to sample the bed in a grid (least squares solution).
444
+  // Note: this feature generates 10KB extra code size.
445 445
   #define AUTO_BED_LEVELING_GRID
446 446
 
447 447
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -451,16 +451,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
451 451
     #define FRONT_PROBE_BED_POSITION 20
452 452
     #define BACK_PROBE_BED_POSITION 180
453 453
 
454
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
454
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
455 455
 
456
-    // Set the number of grid points per dimension
457
-    // You probably don't need more than 3 (squared=9)
456
+    // Set the number of grid points per dimension.
457
+    // You probably don't need more than 3 (squared=9).
458 458
     #define AUTO_BED_LEVELING_GRID_POINTS 2
459 459
 
460 460
   #else  // !AUTO_BED_LEVELING_GRID
461 461
 
462
-      // Arbitrary points to probe. A simple cross-product
463
-      // is used to estimate the plane of the bed.
462
+      // Arbitrary points to probe.
463
+      // A simple cross-product is used to estimate the plane of the bed.
464 464
       #define ABL_PROBE_PT_1_X 15
465 465
       #define ABL_PROBE_PT_1_Y 180
466 466
       #define ABL_PROBE_PT_2_X 15
@@ -470,56 +470,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
470 470
 
471 471
   #endif // AUTO_BED_LEVELING_GRID
472 472
 
473
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
474
-  // X and Y offsets must be integers
475
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
476
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
477
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
473
+  // Offsets to the Z probe relative to the nozzle tip.
474
+  // X and Y offsets must be integers.
475
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
476
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
477
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
478 478
 
479
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
480
-                                        // Be sure you have this distance over your Z_MAX_POS in case
479
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
480
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
481 481
 
482
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
482
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
483 483
 
484
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
485
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
486
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
484
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
485
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
486
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
487 487
 
488
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
489
-                                                                            //Useful to retract a deployable probe.
488
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
489
+                                                                            // Useful to retract a deployable Z probe.
490 490
 
491
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
492
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
491
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
492
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
493 493
 
494
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
495
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
494
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
495
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
496 496
 
497
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
497
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
498 498
                           // When defined, it will:
499
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
500
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
501
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
502
-                          // - Block Z homing only when the probe is outside bed area.
499
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
500
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
501
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
502
+                          // - Block Z homing only when the Z probe is outside bed area.
503 503
 
504 504
   #if ENABLED(Z_SAFE_HOMING)
505 505
 
506
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
507
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
506
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
507
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
508 508
 
509 509
   #endif
510 510
 
511
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
512
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
513
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
514
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
515
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
516
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
517
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
518
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
519
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
520
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
521
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
522
-
511
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
512
+  // If you would like to use both a Z probe and a Z min endstop together,
513
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
514
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
515
+  // Example: To park the head outside the bed area when homing with G28.
516
+  //
517
+  // WARNING:
518
+  // The Z min endstop will need to set properly as it would without a Z probe
519
+  // to prevent head crashes and premature stopping during a print.
520
+  //
521
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
522
+  // defined in the pins_XXXXX.h file for your control board.
523
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
524
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
525
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
526
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
527
+  // otherwise connect to ground and D32 for normally closed configuration
528
+  // and 5V and D32 for normally open configurations.
529
+  // Normally closed configuration is advised and assumed.
530
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
531
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
532
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
533
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
534
+  // All other boards will need changes to the respective pins_XXXXX.h file.
535
+  //
536
+  // WARNING:
537
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
538
+  // Use with caution and do your homework.
539
+  //
523 540
   //#define Z_MIN_PROBE_ENDSTOP
524 541
 
525 542
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -596,6 +613,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
596 613
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
597 614
 #endif
598 615
 
616
+//
617
+// M100 Free Memory Watcher
618
+//
619
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
620
+
599 621
 // @section temperature
600 622
 
601 623
 // Preheat Constants
@@ -763,7 +785,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
763 785
 // Servo Endstops
764 786
 //
765 787
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
766
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
788
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
767 789
 //
768 790
 //#define X_ENDSTOP_SERVO_NR 1
769 791
 //#define Y_ENDSTOP_SERVO_NR 2

+ 87
- 55
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

@@ -308,6 +308,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
308 308
 #define DISABLE_MAX_ENDSTOPS
309 309
 //#define DISABLE_MIN_ENDSTOPS
310 310
 
311
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
312
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
313
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
314
+// this has no effect.
315
+//#define DISABLE_Z_MIN_PROBE_ENDSTOP
316
+
311 317
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
312 318
 #define X_ENABLE_ON 0
313 319
 #define Y_ENABLE_ON 0
@@ -365,29 +371,35 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
365 371
 //=========================== Manual Bed Leveling ===========================
366 372
 //===========================================================================
367 373
 
368
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
369
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
374
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
375
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
376
+
377
+#if ENABLED(MANUAL_BED_LEVELING)
378
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
379
+#endif  // MANUAL_BED_LEVELING
370 380
 
371 381
 #if ENABLED(MESH_BED_LEVELING)
372 382
   #define MESH_MIN_X 10
373 383
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
374 384
   #define MESH_MIN_Y 10
375 385
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
376
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
386
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
377 387
   #define MESH_NUM_Y_POINTS 3
378
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
388
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
379 389
 #endif  // MESH_BED_LEVELING
380 390
 
381 391
 //===========================================================================
382 392
 //============================ Bed Auto Leveling ============================
383 393
 //===========================================================================
384 394
 
385
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
386
-//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
395
+// @section bedlevel
396
+
397
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
398
+//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
387 399
 
388 400
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
389 401
 
390
-  // There are 2 different ways to specify probing locations
402
+  // There are 2 different ways to specify probing locations:
391 403
   //
392 404
   // - "grid" mode
393 405
   //   Probe several points in a rectangular grid.
@@ -398,8 +410,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
398 410
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
399 411
   //   You specify the XY coordinates of all 3 points.
400 412
 
401
-  // Enable this to sample the bed in a grid (least squares solution)
402
-  // Note: this feature generates 10KB extra code size
413
+  // Enable this to sample the bed in a grid (least squares solution).
414
+  // Note: this feature generates 10KB extra code size.
403 415
   #define AUTO_BED_LEVELING_GRID
404 416
 
405 417
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -409,16 +421,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
409 421
     #define FRONT_PROBE_BED_POSITION 20
410 422
     #define BACK_PROBE_BED_POSITION 180
411 423
 
412
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this      
424
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
413 425
 
414
-    // Set the number of grid points per dimension
415
-    // You probably don't need more than 3 (squared=9)
426
+    // Set the number of grid points per dimension.
427
+    // You probably don't need more than 3 (squared=9).
416 428
     #define AUTO_BED_LEVELING_GRID_POINTS 2
417 429
 
418 430
   #else  // !AUTO_BED_LEVELING_GRID
419 431
 
420
-      // Arbitrary points to probe. A simple cross-product
421
-      // is used to estimate the plane of the bed.
432
+      // Arbitrary points to probe.
433
+      // A simple cross-product is used to estimate the plane of the bed.
422 434
       #define ABL_PROBE_PT_1_X 15
423 435
       #define ABL_PROBE_PT_1_Y 180
424 436
       #define ABL_PROBE_PT_2_X 15
@@ -428,60 +440,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
428 440
 
429 441
   #endif // AUTO_BED_LEVELING_GRID
430 442
 
431
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
432
-  // X and Y offsets must be integers
433
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
434
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
435
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
443
+  // Offsets to the Z probe relative to the nozzle tip.
444
+  // X and Y offsets must be integers.
445
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
446
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
447
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
436 448
 
437
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
438
-                                        // Be sure you have this distance over your Z_MAX_POS in case
449
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
450
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
439 451
 
440
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
452
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
441 453
 
442
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
443
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
444
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
454
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
455
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
456
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
445 457
 
446
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
447
-                                                                            //Useful to retract a deployable probe.
458
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
459
+                                                                            // Useful to retract a deployable Z probe.
448 460
                                                                            
449
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
450
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
451
-
452
-  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
453
-  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
461
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
462
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
454 463
 
464
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
465
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
455 466
 
456
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
457
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
458
-
459
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
467
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
460 468
                           // When defined, it will:
461
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
462
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
463
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
464
-                          // - Block Z homing only when the probe is outside bed area.
469
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
470
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
471
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
472
+                          // - Block Z homing only when the Z probe is outside bed area.
465 473
 
466 474
   #if ENABLED(Z_SAFE_HOMING)
467 475
 
468
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
469
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
476
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
477
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
470 478
 
471 479
   #endif
472 480
 
473
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
474
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
475
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
476
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
477
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
478
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
479
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
480
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
481
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
482
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
483
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
484
-
481
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
482
+  // If you would like to use both a Z probe and a Z min endstop together,
483
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
484
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
485
+  // Example: To park the head outside the bed area when homing with G28.
486
+  //
487
+  // WARNING:
488
+  // The Z min endstop will need to set properly as it would without a Z probe
489
+  // to prevent head crashes and premature stopping during a print.
490
+  //
491
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
492
+  // defined in the pins_XXXXX.h file for your control board.
493
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
494
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
495
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
496
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
497
+  // otherwise connect to ground and D32 for normally closed configuration
498
+  // and 5V and D32 for normally open configurations.
499
+  // Normally closed configuration is advised and assumed.
500
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
501
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
502
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
503
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
504
+  // All other boards will need changes to the respective pins_XXXXX.h file.
505
+  //
506
+  // WARNING:
507
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
508
+  // Use with caution and do your homework.
509
+  //
485 510
   //#define Z_MIN_PROBE_ENDSTOP
486 511
 
487 512
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -557,6 +582,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
557 582
   #define EEPROM_CHITCHAT // please keep turned on if you can.
558 583
 #endif
559 584
 
585
+//
586
+// M100 Free Memory Watcher
587
+//
588
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
589
+
590
+// @section temperature
591
+
560 592
 // Preheat Constants
561 593
 #define PLA_PREHEAT_HOTEND_TEMP 180
562 594
 #define PLA_PREHEAT_HPB_TEMP 70
@@ -716,7 +748,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
716 748
 // Servo Endstops
717 749
 //
718 750
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
719
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
751
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
720 752
 //
721 753
 //#define X_ENDSTOP_SERVO_NR 1
722 754
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/Hephestos/Configuration.h View File

@@ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
333 333
 //#define DISABLE_MAX_ENDSTOPS
334 334
 //#define DISABLE_MIN_ENDSTOPS
335 335
 
336
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
336
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
337
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
338
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
339 339
 // this has no effect.
340 340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
341 341
 
@@ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
411 411
 //=========================== Manual Bed Leveling ===========================
412 412
 //===========================================================================
413 413
 
414
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
415
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
414
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
415
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
416 416
 
417 417
 #if ENABLED(MANUAL_BED_LEVELING)
418
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
418
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
419 419
 #endif  // MANUAL_BED_LEVELING
420 420
 
421 421
 #if ENABLED(MESH_BED_LEVELING)
@@ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
423 423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
424 424
   #define MESH_MIN_Y 10
425 425
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
426
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
426
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
427 427
   #define MESH_NUM_Y_POINTS 3
428
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
428
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
429 429
 #endif  // MESH_BED_LEVELING
430 430
 
431 431
 //===========================================================================
@@ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
434 434
 
435 435
 // @section bedlevel
436 436
 
437
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
438
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
437
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
438
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
439 439
 
440 440
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
441 441
 
442
-  // There are 2 different ways to specify probing locations
442
+  // There are 2 different ways to specify probing locations:
443 443
   //
444 444
   // - "grid" mode
445 445
   //   Probe several points in a rectangular grid.
@@ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
450 450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
451 451
   //   You specify the XY coordinates of all 3 points.
452 452
 
453
-  // Enable this to sample the bed in a grid (least squares solution)
454
-  // Note: this feature generates 10KB extra code size
453
+  // Enable this to sample the bed in a grid (least squares solution).
454
+  // Note: this feature generates 10KB extra code size.
455 455
   #define AUTO_BED_LEVELING_GRID
456 456
 
457 457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
461 461
     #define FRONT_PROBE_BED_POSITION 20
462 462
     #define BACK_PROBE_BED_POSITION 170
463 463
 
464
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
464
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
465 465
 
466
-    // Set the number of grid points per dimension
467
-    // You probably don't need more than 3 (squared=9)
466
+    // Set the number of grid points per dimension.
467
+    // You probably don't need more than 3 (squared=9).
468 468
     #define AUTO_BED_LEVELING_GRID_POINTS 2
469 469
 
470 470
   #else  // !AUTO_BED_LEVELING_GRID
471 471
 
472
-      // Arbitrary points to probe. A simple cross-product
473
-      // is used to estimate the plane of the bed.
472
+      // Arbitrary points to probe.
473
+      // A simple cross-product is used to estimate the plane of the bed.
474 474
       #define ABL_PROBE_PT_1_X 15
475 475
       #define ABL_PROBE_PT_1_Y 180
476 476
       #define ABL_PROBE_PT_2_X 15
@@ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
480 480
 
481 481
   #endif // AUTO_BED_LEVELING_GRID
482 482
 
483
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
484
-  // X and Y offsets must be integers
485
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
486
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
487
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
483
+  // Offsets to the Z probe relative to the nozzle tip.
484
+  // X and Y offsets must be integers.
485
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
486
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
487
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
488 488
 
489
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
490
-                                        // Be sure you have this distance over your Z_MAX_POS in case
489
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
490
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
491 491
 
492
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
492
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
493 493
 
494
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
495
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
496
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
494
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
495
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
496
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
497 497
 
498
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
499
-                                                                            //Useful to retract a deployable probe.
498
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
499
+                                                                            // Useful to retract a deployable Z probe.
500 500
 
501
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
501
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
502
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
503 503
 
504
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
505
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
504
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
505
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
506 506
 
507
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
507
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
508 508
                           // When defined, it will:
509
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
510
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
511
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
512
-                          // - Block Z homing only when the probe is outside bed area.
509
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
510
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
511
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
512
+                          // - Block Z homing only when the Z probe is outside bed area.
513 513
 
514 514
   #if ENABLED(Z_SAFE_HOMING)
515 515
 
516
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
517
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
516
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
517
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
518 518
 
519 519
   #endif
520 520
 
521
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
522
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
523
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
524
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
525
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
526
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
527
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
528
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
529
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
530
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
531
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
532
-
521
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
522
+  // If you would like to use both a Z probe and a Z min endstop together,
523
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
524
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
525
+  // Example: To park the head outside the bed area when homing with G28.
526
+  //
527
+  // WARNING:
528
+  // The Z min endstop will need to set properly as it would without a Z probe
529
+  // to prevent head crashes and premature stopping during a print.
530
+  //
531
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
532
+  // defined in the pins_XXXXX.h file for your control board.
533
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
534
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
535
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
536
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
537
+  // otherwise connect to ground and D32 for normally closed configuration
538
+  // and 5V and D32 for normally open configurations.
539
+  // Normally closed configuration is advised and assumed.
540
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
541
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
542
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
543
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
544
+  // All other boards will need changes to the respective pins_XXXXX.h file.
545
+  //
546
+  // WARNING:
547
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
548
+  // Use with caution and do your homework.
549
+  //
533 550
   //#define Z_MIN_PROBE_ENDSTOP
534 551
 
535 552
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
605 622
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
606 623
 #endif
607 624
 
625
+//
626
+// M100 Free Memory Watcher
627
+//
628
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
629
+
608 630
 // @section temperature
609 631
 
610 632
 // Preheat Constants
@@ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
772 794
 // Servo Endstops
773 795
 //
774 796
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
775
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
797
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
776 798
 //
777 799
 //#define X_ENDSTOP_SERVO_NR 1
778 800
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/K8200/Configuration.h View File

@@ -329,9 +329,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
329 329
 #define DISABLE_MAX_ENDSTOPS
330 330
 //#define DISABLE_MIN_ENDSTOPS
331 331
 
332
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
333
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
334
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
332
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
333
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
334
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
335 335
 // this has no effect.
336 336
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
337 337
 
@@ -407,11 +407,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
407 407
 //=========================== Manual Bed Leveling ===========================
408 408
 //===========================================================================
409 409
 
410
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
411
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
410
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
411
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
412 412
 
413 413
 #if ENABLED(MANUAL_BED_LEVELING)
414
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
414
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
415 415
 #endif  // MANUAL_BED_LEVELING
416 416
 
417 417
 #if ENABLED(MESH_BED_LEVELING)
@@ -419,9 +419,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
419 419
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
420 420
   #define MESH_MIN_Y 10
421 421
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
422
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
422
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
423 423
   #define MESH_NUM_Y_POINTS 3
424
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
424
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
425 425
 #endif  // MESH_BED_LEVELING
426 426
 
427 427
 //===========================================================================
@@ -430,12 +430,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
430 430
 
431 431
 // @section bedlevel
432 432
 
433
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
434
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
433
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
434
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
435 435
 
436 436
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
437 437
 
438
-  // There are 2 different ways to specify probing locations
438
+  // There are 2 different ways to specify probing locations:
439 439
   //
440 440
   // - "grid" mode
441 441
   //   Probe several points in a rectangular grid.
@@ -446,8 +446,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
446 446
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
447 447
   //   You specify the XY coordinates of all 3 points.
448 448
 
449
-  // Enable this to sample the bed in a grid (least squares solution)
450
-  // Note: this feature generates 10KB extra code size
449
+  // Enable this to sample the bed in a grid (least squares solution).
450
+  // Note: this feature generates 10KB extra code size.
451 451
   #define AUTO_BED_LEVELING_GRID
452 452
 
453 453
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -457,16 +457,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
457 457
     #define FRONT_PROBE_BED_POSITION 20
458 458
     #define BACK_PROBE_BED_POSITION 170
459 459
 
460
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
460
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
461 461
 
462
-    // Set the number of grid points per dimension
463
-    // You probably don't need more than 3 (squared=9)
462
+    // Set the number of grid points per dimension.
463
+    // You probably don't need more than 3 (squared=9).
464 464
     #define AUTO_BED_LEVELING_GRID_POINTS 2
465 465
 
466 466
   #else  // !AUTO_BED_LEVELING_GRID
467 467
 
468
-      // Arbitrary points to probe. A simple cross-product
469
-      // is used to estimate the plane of the bed.
468
+      // Arbitrary points to probe.
469
+      // A simple cross-product is used to estimate the plane of the bed.
470 470
       #define ABL_PROBE_PT_1_X 15
471 471
       #define ABL_PROBE_PT_1_Y 180
472 472
       #define ABL_PROBE_PT_2_X 15
@@ -476,56 +476,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
476 476
 
477 477
   #endif // AUTO_BED_LEVELING_GRID
478 478
 
479
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
480
-  // X and Y offsets must be integers
481
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
482
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
483
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
479
+  // Offsets to the Z probe relative to the nozzle tip.
480
+  // X and Y offsets must be integers.
481
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
482
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
483
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
484 484
 
485
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
486
-                                        // Be sure you have this distance over your Z_MAX_POS in case
485
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
486
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
487 487
 
488
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
488
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
489 489
 
490
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
491
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
492
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
490
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
491
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
492
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
493 493
 
494
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
495
-                                                                            //Useful to retract a deployable probe.
494
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
495
+                                                                            // Useful to retract a deployable Z probe.
496 496
 
497
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
498
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
497
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
498
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
499 499
 
500
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
501
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
500
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
501
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
502 502
 
503
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
503
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
504 504
                           // When defined, it will:
505
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
506
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
507
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
508
-                          // - Block Z homing only when the probe is outside bed area.
505
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
506
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
507
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
508
+                          // - Block Z homing only when the Z probe is outside bed area.
509 509
 
510 510
   #if ENABLED(Z_SAFE_HOMING)
511 511
 
512
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
513
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
512
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
513
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
514 514
 
515 515
   #endif
516 516
 
517
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
518
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
519
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
520
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
521
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
522
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
523
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
524
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
525
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
526
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
527
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
528
-
517
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
518
+  // If you would like to use both a Z probe and a Z min endstop together,
519
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
520
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
521
+  // Example: To park the head outside the bed area when homing with G28.
522
+  //
523
+  // WARNING:
524
+  // The Z min endstop will need to set properly as it would without a Z probe
525
+  // to prevent head crashes and premature stopping during a print.
526
+  //
527
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
528
+  // defined in the pins_XXXXX.h file for your control board.
529
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
530
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
531
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
532
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
533
+  // otherwise connect to ground and D32 for normally closed configuration
534
+  // and 5V and D32 for normally open configurations.
535
+  // Normally closed configuration is advised and assumed.
536
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
537
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
538
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
539
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
540
+  // All other boards will need changes to the respective pins_XXXXX.h file.
541
+  //
542
+  // WARNING:
543
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
544
+  // Use with caution and do your homework.
545
+  //
529 546
   //#define Z_MIN_PROBE_ENDSTOP
530 547
 
531 548
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -601,6 +618,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
601 618
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
602 619
 #endif
603 620
 
621
+//
622
+// M100 Free Memory Watcher
623
+//
624
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
625
+
604 626
 // @section temperature
605 627
 
606 628
 // Preheat Constants
@@ -768,7 +790,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
768 790
 // Servo Endstops
769 791
 //
770 792
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
771
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
793
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
772 794
 //
773 795
 //#define X_ENDSTOP_SERVO_NR 1
774 796
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

@@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
341 341
 //#define DISABLE_MAX_ENDSTOPS
342 342
 //#define DISABLE_MIN_ENDSTOPS
343 343
 
344
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
345
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
346
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
344
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
345
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
346
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
347 347
 // this has no effect.
348 348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349 349
 
@@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
419 419
 //=========================== Manual Bed Leveling ===========================
420 420
 //===========================================================================
421 421
 
422
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
423
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
422
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
423
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
424 424
 
425 425
 #if ENABLED(MANUAL_BED_LEVELING)
426
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
426
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
427 427
 #endif  // MANUAL_BED_LEVELING
428 428
 
429 429
 #if ENABLED(MESH_BED_LEVELING)
@@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
431 431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432 432
   #define MESH_MIN_Y 10
433 433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
434
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
434
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
435 435
   #define MESH_NUM_Y_POINTS 3
436
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
436
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
437 437
 #endif  // MESH_BED_LEVELING
438 438
 
439 439
 //===========================================================================
@@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
442 442
 
443 443
 // @section bedlevel
444 444
 
445
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
446
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
445
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
446
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
447 447
 
448 448
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
449 449
 
450
-  // There are 2 different ways to specify probing locations
450
+  // There are 2 different ways to specify probing locations:
451 451
   //
452 452
   // - "grid" mode
453 453
   //   Probe several points in a rectangular grid.
@@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
458 458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459 459
   //   You specify the XY coordinates of all 3 points.
460 460
 
461
-  // Enable this to sample the bed in a grid (least squares solution)
462
-  // Note: this feature generates 10KB extra code size
461
+  // Enable this to sample the bed in a grid (least squares solution).
462
+  // Note: this feature generates 10KB extra code size.
463 463
   #define AUTO_BED_LEVELING_GRID
464 464
 
465 465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
469 469
     #define FRONT_PROBE_BED_POSITION 20
470 470
     #define BACK_PROBE_BED_POSITION 170
471 471
 
472
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
472
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
473 473
 
474
-    // Set the number of grid points per dimension
475
-    // You probably don't need more than 3 (squared=9)
474
+    // Set the number of grid points per dimension.
475
+    // You probably don't need more than 3 (squared=9).
476 476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477 477
 
478 478
   #else  // !AUTO_BED_LEVELING_GRID
479 479
 
480
-      // Arbitrary points to probe. A simple cross-product
481
-      // is used to estimate the plane of the bed.
480
+      // Arbitrary points to probe.
481
+      // A simple cross-product is used to estimate the plane of the bed.
482 482
       #define ABL_PROBE_PT_1_X 15
483 483
       #define ABL_PROBE_PT_1_Y 180
484 484
       #define ABL_PROBE_PT_2_X 15
@@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
488 488
 
489 489
   #endif // AUTO_BED_LEVELING_GRID
490 490
 
491
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
492
-  // X and Y offsets must be integers
493
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
494
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
495
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
491
+  // Offsets to the Z probe relative to the nozzle tip.
492
+  // X and Y offsets must be integers.
493
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
494
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
495
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
496 496
 
497
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
498
-                                        // Be sure you have this distance over your Z_MAX_POS in case
497
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
498
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
499 499
 
500
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
500
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
501 501
 
502
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
503
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
504
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
502
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
503
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
504
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
505 505
 
506
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
507
-                                                                            //Useful to retract a deployable probe.
506
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
507
+                                                                            // Useful to retract a deployable Z probe.
508 508
 
509
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
510
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
509
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
510
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
511 511
 
512
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
513
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
512
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
513
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
514 514
 
515
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
515
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
516 516
                           // When defined, it will:
517
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
518
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
519
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
520
-                          // - Block Z homing only when the probe is outside bed area.
517
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
518
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
519
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
520
+                          // - Block Z homing only when the Z probe is outside bed area.
521 521
 
522 522
   #if ENABLED(Z_SAFE_HOMING)
523 523
 
524
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
525
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
524
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
525
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
526 526
 
527 527
   #endif
528 528
 
529
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
530
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
531
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
532
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
533
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
534
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
535
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
536
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
537
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
538
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
539
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
540
-
529
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
530
+  // If you would like to use both a Z probe and a Z min endstop together,
531
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
532
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
533
+  // Example: To park the head outside the bed area when homing with G28.
534
+  //
535
+  // WARNING:
536
+  // The Z min endstop will need to set properly as it would without a Z probe
537
+  // to prevent head crashes and premature stopping during a print.
538
+  //
539
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
540
+  // defined in the pins_XXXXX.h file for your control board.
541
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
542
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
543
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
544
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
545
+  // otherwise connect to ground and D32 for normally closed configuration
546
+  // and 5V and D32 for normally open configurations.
547
+  // Normally closed configuration is advised and assumed.
548
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
549
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
550
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
551
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
552
+  // All other boards will need changes to the respective pins_XXXXX.h file.
553
+  //
554
+  // WARNING:
555
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
556
+  // Use with caution and do your homework.
557
+  //
541 558
   //#define Z_MIN_PROBE_ENDSTOP
542 559
 
543 560
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
613 630
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
614 631
 #endif
615 632
 
633
+//
634
+// M100 Free Memory Watcher
635
+//
636
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
637
+
616 638
 // @section temperature
617 639
 
618 640
 // Preheat Constants
@@ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
780 802
 // Servo Endstops
781 803
 //
782 804
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
783
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
805
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
784 806
 //
785 807
 //#define X_ENDSTOP_SERVO_NR 1
786 808
 //#define Y_ENDSTOP_SERVO_NR 2

+ 72
- 55
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -327,9 +327,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
327 327
 //#define DISABLE_MAX_ENDSTOPS
328 328
 //#define DISABLE_MIN_ENDSTOPS
329 329
 
330
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
331
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
332
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
330
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
331
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
332
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
333 333
 // this has no effect.
334 334
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
335 335
 
@@ -405,11 +405,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
405 405
 //=========================== Manual Bed Leveling ===========================
406 406
 //===========================================================================
407 407
 
408
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
409
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
408
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
409
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
410 410
 
411 411
 #if ENABLED(MANUAL_BED_LEVELING)
412
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
412
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
413 413
 #endif  // MANUAL_BED_LEVELING
414 414
 
415 415
 #if ENABLED(MESH_BED_LEVELING)
@@ -417,9 +417,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
417 417
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
418 418
   #define MESH_MIN_Y 10
419 419
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
420
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
420
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
421 421
   #define MESH_NUM_Y_POINTS 3
422
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
422
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
423 423
 #endif  // MESH_BED_LEVELING
424 424
 
425 425
 //===========================================================================
@@ -428,12 +428,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
428 428
 
429 429
 // @section bedlevel
430 430
 
431
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
432
-//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
431
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
432
+//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
433 433
 
434 434
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
435 435
 
436
-  // There are 2 different ways to specify probing locations
436
+  // There are 2 different ways to specify probing locations:
437 437
   //
438 438
   // - "grid" mode
439 439
   //   Probe several points in a rectangular grid.
@@ -444,8 +444,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
444 444
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
445 445
   //   You specify the XY coordinates of all 3 points.
446 446
 
447
-  // Enable this to sample the bed in a grid (least squares solution)
448
-  // Note: this feature generates 10KB extra code size
447
+  // Enable this to sample the bed in a grid (least squares solution).
448
+  // Note: this feature generates 10KB extra code size.
449 449
   #define AUTO_BED_LEVELING_GRID
450 450
 
451 451
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -455,16 +455,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
455 455
     #define FRONT_PROBE_BED_POSITION 20
456 456
     #define BACK_PROBE_BED_POSITION 170
457 457
 
458
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
458
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
459 459
 
460
-    // Set the number of grid points per dimension
461
-    // You probably don't need more than 3 (squared=9)
460
+    // Set the number of grid points per dimension.
461
+    // You probably don't need more than 3 (squared=9).
462 462
     #define AUTO_BED_LEVELING_GRID_POINTS 2
463 463
 
464 464
   #else  // !AUTO_BED_LEVELING_GRID
465 465
 
466
-      // Arbitrary points to probe. A simple cross-product
467
-      // is used to estimate the plane of the bed.
466
+      // Arbitrary points to probe.
467
+      // A simple cross-product is used to estimate the plane of the bed.
468 468
       #define ABL_PROBE_PT_1_X 15
469 469
       #define ABL_PROBE_PT_1_Y 180
470 470
       #define ABL_PROBE_PT_2_X 15
@@ -474,56 +474,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
474 474
 
475 475
   #endif // AUTO_BED_LEVELING_GRID
476 476
 
477
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
478
-  // X and Y offsets must be integers
479
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
480
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
481
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
477
+  // Offsets to the Z probe relative to the nozzle tip.
478
+  // X and Y offsets must be integers.
479
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
480
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
481
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
482 482
 
483
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
484
-                                        // Be sure you have this distance over your Z_MAX_POS in case
483
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
484
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
485 485
 
486
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
486
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
487 487
 
488
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
489
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
490
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
488
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
489
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
490
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
491 491
 
492
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
493
-                                                                            //Useful to retract a deployable probe.
492
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
493
+                                                                            // Useful to retract a deployable Z probe.
494 494
 
495
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
496
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
495
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
496
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
497 497
 
498
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
499
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
498
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
499
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
500 500
 
501
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
501
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
502 502
                           // When defined, it will:
503
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
504
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
505
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
506
-                          // - Block Z homing only when the probe is outside bed area.
503
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
504
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
505
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
506
+                          // - Block Z homing only when the Z probe is outside bed area.
507 507
 
508 508
   #if ENABLED(Z_SAFE_HOMING)
509 509
 
510
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
511
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
510
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
511
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
512 512
 
513 513
   #endif
514 514
 
515
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
516
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
517
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
518
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
519
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
520
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
521
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
522
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
523
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
524
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
525
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
526
-
515
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
516
+  // If you would like to use both a Z probe and a Z min endstop together,
517
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
518
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
519
+  // Example: To park the head outside the bed area when homing with G28.
520
+  //
521
+  // WARNING:
522
+  // The Z min endstop will need to set properly as it would without a Z probe
523
+  // to prevent head crashes and premature stopping during a print.
524
+  //
525
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
526
+  // defined in the pins_XXXXX.h file for your control board.
527
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
528
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
529
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
530
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
531
+  // otherwise connect to ground and D32 for normally closed configuration
532
+  // and 5V and D32 for normally open configurations.
533
+  // Normally closed configuration is advised and assumed.
534
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
535
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
536
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
537
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
538
+  // All other boards will need changes to the respective pins_XXXXX.h file.
539
+  //
540
+  // WARNING:
541
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
542
+  // Use with caution and do your homework.
543
+  //
527 544
   //#define Z_MIN_PROBE_ENDSTOP
528 545
 
529 546
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -775,7 +792,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
775 792
 // Servo Endstops
776 793
 //
777 794
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
778
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
795
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
779 796
 //
780 797
 //#define X_ENDSTOP_SERVO_NR 1
781 798
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -349,9 +349,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
349 349
 //#define DISABLE_MAX_ENDSTOPS
350 350
 //#define DISABLE_MIN_ENDSTOPS
351 351
 
352
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
353
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
354
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
352
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
353
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
354
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
355 355
 // this has no effect.
356 356
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
357 357
 
@@ -427,11 +427,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
427 427
 //=========================== Manual Bed Leveling ===========================
428 428
 //===========================================================================
429 429
 
430
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
431
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
430
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
431
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
432 432
 
433 433
 #if ENABLED(MANUAL_BED_LEVELING)
434
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
434
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
435 435
 #endif  // MANUAL_BED_LEVELING
436 436
 
437 437
 #if ENABLED(MESH_BED_LEVELING)
@@ -439,9 +439,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
439 439
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
440 440
   #define MESH_MIN_Y 10
441 441
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
442
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
442
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
443 443
   #define MESH_NUM_Y_POINTS 3
444
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
444
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
445 445
 #endif  // MESH_BED_LEVELING
446 446
 
447 447
 //===========================================================================
@@ -450,12 +450,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
450 450
 
451 451
 // @section bedlevel
452 452
 
453
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
454
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
453
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
454
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
455 455
 
456 456
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
457 457
 
458
-  // There are 2 different ways to specify probing locations
458
+  // There are 2 different ways to specify probing locations:
459 459
   //
460 460
   // - "grid" mode
461 461
   //   Probe several points in a rectangular grid.
@@ -466,8 +466,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
466 466
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
467 467
   //   You specify the XY coordinates of all 3 points.
468 468
 
469
-  // Enable this to sample the bed in a grid (least squares solution)
470
-  // Note: this feature generates 10KB extra code size
469
+  // Enable this to sample the bed in a grid (least squares solution).
470
+  // Note: this feature generates 10KB extra code size.
471 471
   #define AUTO_BED_LEVELING_GRID
472 472
 
473 473
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -477,16 +477,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
477 477
     #define FRONT_PROBE_BED_POSITION 20
478 478
     #define BACK_PROBE_BED_POSITION 170
479 479
 
480
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
480
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
481 481
 
482
-    // Set the number of grid points per dimension
483
-    // You probably don't need more than 3 (squared=9)
482
+    // Set the number of grid points per dimension.
483
+    // You probably don't need more than 3 (squared=9).
484 484
     #define AUTO_BED_LEVELING_GRID_POINTS 2
485 485
 
486 486
   #else  // !AUTO_BED_LEVELING_GRID
487 487
 
488
-      // Arbitrary points to probe. A simple cross-product
489
-      // is used to estimate the plane of the bed.
488
+      // Arbitrary points to probe.
489
+      // A simple cross-product is used to estimate the plane of the bed.
490 490
       #define ABL_PROBE_PT_1_X 15
491 491
       #define ABL_PROBE_PT_1_Y 180
492 492
       #define ABL_PROBE_PT_2_X 15
@@ -496,56 +496,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
496 496
 
497 497
   #endif // AUTO_BED_LEVELING_GRID
498 498
 
499
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
500
-  // X and Y offsets must be integers
501
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
502
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
503
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
499
+  // Offsets to the Z probe relative to the nozzle tip.
500
+  // X and Y offsets must be integers.
501
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
502
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
503
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
504 504
 
505
-  //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
506
-                                        // Be sure you have this distance over your Z_MAX_POS in case
505
+  //#define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
506
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
507 507
 
508
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
508
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
509 509
 
510
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
511
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
512
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
510
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
511
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
512
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
513 513
 
514
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
515
-                                                                            //Useful to retract a deployable probe.
514
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
515
+                                                                            // Useful to retract a deployable Z probe.
516 516
 
517
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
518
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
517
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
518
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
519 519
 
520
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
521
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
520
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
521
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
522 522
 
523
- // #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
523
+ // #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
524 524
                           // When defined, it will:
525
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
526
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
527
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
528
-                          // - Block Z homing only when the probe is outside bed area.
525
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
526
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
527
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
528
+                          // - Block Z homing only when the Z probe is outside bed area.
529 529
 
530 530
   #if ENABLED(Z_SAFE_HOMING)
531 531
 
532
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
533
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
532
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
533
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
534 534
 
535 535
   #endif
536 536
 
537
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
538
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
539
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
540
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
541
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
542
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
543
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
544
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
545
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
546
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
547
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
548
-
537
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
538
+  // If you would like to use both a Z probe and a Z min endstop together,
539
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
540
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
541
+  // Example: To park the head outside the bed area when homing with G28.
542
+  //
543
+  // WARNING:
544
+  // The Z min endstop will need to set properly as it would without a Z probe
545
+  // to prevent head crashes and premature stopping during a print.
546
+  //
547
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
548
+  // defined in the pins_XXXXX.h file for your control board.
549
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
550
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
551
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
552
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
553
+  // otherwise connect to ground and D32 for normally closed configuration
554
+  // and 5V and D32 for normally open configurations.
555
+  // Normally closed configuration is advised and assumed.
556
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
557
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
558
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
559
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
560
+  // All other boards will need changes to the respective pins_XXXXX.h file.
561
+  //
562
+  // WARNING:
563
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
564
+  // Use with caution and do your homework.
565
+  //
549 566
   //#define Z_MIN_PROBE_ENDSTOP
550 567
 
551 568
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -621,6 +638,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
621 638
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
622 639
 #endif
623 640
 
641
+//
642
+// M100 Free Memory Watcher
643
+//
644
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
645
+
624 646
 // @section temperature
625 647
 
626 648
 // Preheat Constants
@@ -788,7 +810,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
788 810
 // Servo Endstops
789 811
 //
790 812
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
791
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
813
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
792 814
 //
793 815
 //#define X_ENDSTOP_SERVO_NR 1
794 816
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/WITBOX/Configuration.h View File

@@ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
333 333
 //#define DISABLE_MAX_ENDSTOPS
334 334
 //#define DISABLE_MIN_ENDSTOPS
335 335
 
336
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
337
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
338
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
336
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
337
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
338
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
339 339
 // this has no effect.
340 340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
341 341
 
@@ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
411 411
 //=========================== Manual Bed Leveling ===========================
412 412
 //===========================================================================
413 413
 
414
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
415
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
414
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
415
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
416 416
 
417 417
 #if ENABLED(MANUAL_BED_LEVELING)
418
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
418
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
419 419
 #endif  // MANUAL_BED_LEVELING
420 420
 
421 421
 #if ENABLED(MESH_BED_LEVELING)
@@ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
423 423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
424 424
   #define MESH_MIN_Y 10
425 425
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
426
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
426
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
427 427
   #define MESH_NUM_Y_POINTS 3
428
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
428
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
429 429
 #endif  // MESH_BED_LEVELING
430 430
 
431 431
 //===========================================================================
@@ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
434 434
 
435 435
 // @section bedlevel
436 436
 
437
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
438
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
437
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
438
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
439 439
 
440 440
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
441 441
 
442
-  // There are 2 different ways to specify probing locations
442
+  // There are 2 different ways to specify probing locations:
443 443
   //
444 444
   // - "grid" mode
445 445
   //   Probe several points in a rectangular grid.
@@ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
450 450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
451 451
   //   You specify the XY coordinates of all 3 points.
452 452
 
453
-  // Enable this to sample the bed in a grid (least squares solution)
454
-  // Note: this feature generates 10KB extra code size
453
+  // Enable this to sample the bed in a grid (least squares solution).
454
+  // Note: this feature generates 10KB extra code size.
455 455
   #define AUTO_BED_LEVELING_GRID
456 456
 
457 457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
461 461
     #define FRONT_PROBE_BED_POSITION 20
462 462
     #define BACK_PROBE_BED_POSITION 170
463 463
 
464
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
464
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
465 465
 
466
-    // Set the number of grid points per dimension
467
-    // You probably don't need more than 3 (squared=9)
466
+    // Set the number of grid points per dimension.
467
+    // You probably don't need more than 3 (squared=9).
468 468
     #define AUTO_BED_LEVELING_GRID_POINTS 2
469 469
 
470 470
   #else  // !AUTO_BED_LEVELING_GRID
471 471
 
472
-      // Arbitrary points to probe. A simple cross-product
473
-      // is used to estimate the plane of the bed.
472
+      // Arbitrary points to probe.
473
+      // A simple cross-product is used to estimate the plane of the bed.
474 474
       #define ABL_PROBE_PT_1_X 15
475 475
       #define ABL_PROBE_PT_1_Y 180
476 476
       #define ABL_PROBE_PT_2_X 15
@@ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
480 480
 
481 481
   #endif // AUTO_BED_LEVELING_GRID
482 482
 
483
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
484
-  // X and Y offsets must be integers
485
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
486
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
487
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
483
+  // Offsets to the Z probe relative to the nozzle tip.
484
+  // X and Y offsets must be integers.
485
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
486
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
487
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
488 488
 
489
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
490
-                                        // Be sure you have this distance over your Z_MAX_POS in case
489
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
490
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
491 491
 
492
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
492
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
493 493
 
494
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
495
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
496
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
494
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
495
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
496
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
497 497
 
498
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
499
-                                                                            //Useful to retract a deployable probe.
498
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
499
+                                                                            // Useful to retract a deployable Z probe.
500 500
 
501
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
502
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
501
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
502
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
503 503
 
504
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
505
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
504
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
505
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
506 506
 
507
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
507
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
508 508
                           // When defined, it will:
509
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
510
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
511
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
512
-                          // - Block Z homing only when the probe is outside bed area.
509
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
510
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
511
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
512
+                          // - Block Z homing only when the Z probe is outside bed area.
513 513
 
514 514
   #if ENABLED(Z_SAFE_HOMING)
515 515
 
516
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
517
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
516
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
517
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
518 518
 
519 519
   #endif
520 520
 
521
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
522
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
523
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
524
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
525
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
526
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
527
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
528
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
529
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
530
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
531
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
532
-
521
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
522
+  // If you would like to use both a Z probe and a Z min endstop together,
523
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
524
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
525
+  // Example: To park the head outside the bed area when homing with G28.
526
+  //
527
+  // WARNING:
528
+  // The Z min endstop will need to set properly as it would without a Z probe
529
+  // to prevent head crashes and premature stopping during a print.
530
+  //
531
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
532
+  // defined in the pins_XXXXX.h file for your control board.
533
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
534
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
535
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
536
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
537
+  // otherwise connect to ground and D32 for normally closed configuration
538
+  // and 5V and D32 for normally open configurations.
539
+  // Normally closed configuration is advised and assumed.
540
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
541
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
542
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
543
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
544
+  // All other boards will need changes to the respective pins_XXXXX.h file.
545
+  //
546
+  // WARNING:
547
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
548
+  // Use with caution and do your homework.
549
+  //
533 550
   //#define Z_MIN_PROBE_ENDSTOP
534 551
 
535 552
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
605 622
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
606 623
 #endif
607 624
 
625
+//
626
+// M100 Free Memory Watcher
627
+//
628
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
629
+
608 630
 // @section temperature
609 631
 
610 632
 // Preheat Constants
@@ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
772 794
 // Servo Endstops
773 795
 //
774 796
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
775
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
797
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
776 798
 //
777 799
 //#define X_ENDSTOP_SERVO_NR 1
778 800
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

@@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
341 341
 //#define DISABLE_MAX_ENDSTOPS
342 342
 //#define DISABLE_MIN_ENDSTOPS
343 343
 
344
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
345
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
346
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
344
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
345
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
346
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
347 347
 // this has no effect.
348 348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349 349
 
@@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
419 419
 //=========================== Manual Bed Leveling ===========================
420 420
 //===========================================================================
421 421
 
422
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
423
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
422
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
423
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
424 424
 
425 425
 #if ENABLED(MANUAL_BED_LEVELING)
426
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
426
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
427 427
 #endif  // MANUAL_BED_LEVELING
428 428
 
429 429
 #if ENABLED(MESH_BED_LEVELING)
@@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
431 431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432 432
   #define MESH_MIN_Y 10
433 433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
434
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
434
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
435 435
   #define MESH_NUM_Y_POINTS 3
436
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
436
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
437 437
 #endif  // MESH_BED_LEVELING
438 438
 
439 439
 //===========================================================================
@@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
442 442
 
443 443
 // @section bedlevel
444 444
 
445
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
446
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
445
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
446
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
447 447
 
448 448
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
449 449
 
450
-  // There are 2 different ways to specify probing locations
450
+  // There are 2 different ways to specify probing locations:
451 451
   //
452 452
   // - "grid" mode
453 453
   //   Probe several points in a rectangular grid.
@@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
458 458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459 459
   //   You specify the XY coordinates of all 3 points.
460 460
 
461
-  // Enable this to sample the bed in a grid (least squares solution)
462
-  // Note: this feature generates 10KB extra code size
461
+  // Enable this to sample the bed in a grid (least squares solution).
462
+  // Note: this feature generates 10KB extra code size.
463 463
   #define AUTO_BED_LEVELING_GRID
464 464
 
465 465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
469 469
     #define FRONT_PROBE_BED_POSITION 20
470 470
     #define BACK_PROBE_BED_POSITION 170
471 471
 
472
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
472
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
473 473
 
474
-    // Set the number of grid points per dimension
475
-    // You probably don't need more than 3 (squared=9)
474
+    // Set the number of grid points per dimension.
475
+    // You probably don't need more than 3 (squared=9).
476 476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477 477
 
478 478
   #else  // !AUTO_BED_LEVELING_GRID
479 479
 
480
-      // Arbitrary points to probe. A simple cross-product
481
-      // is used to estimate the plane of the bed.
480
+      // Arbitrary points to probe.
481
+      // A simple cross-product is used to estimate the plane of the bed.
482 482
       #define ABL_PROBE_PT_1_X 15
483 483
       #define ABL_PROBE_PT_1_Y 180
484 484
       #define ABL_PROBE_PT_2_X 15
@@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
488 488
 
489 489
   #endif // AUTO_BED_LEVELING_GRID
490 490
 
491
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
492
-  // X and Y offsets must be integers
493
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
494
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
495
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
491
+  // Offsets to the Z probe relative to the nozzle tip.
492
+  // X and Y offsets must be integers.
493
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
494
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
495
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
496 496
 
497
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
498
-                                        // Be sure you have this distance over your Z_MAX_POS in case
497
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
498
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
499 499
 
500
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
500
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
501 501
 
502
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
503
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
504
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
502
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
503
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
504
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
505 505
 
506
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
507
-                                                                            //Useful to retract a deployable probe.
506
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
507
+                                                                            // Useful to retract a deployable Z probe.
508 508
 
509
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
510
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
509
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
510
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
511 511
 
512
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
513
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
512
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
513
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
514 514
 
515
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
515
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
516 516
                           // When defined, it will:
517
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
518
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
519
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
520
-                          // - Block Z homing only when the probe is outside bed area.
517
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
518
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
519
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
520
+                          // - Block Z homing only when the Z probe is outside bed area.
521 521
 
522 522
   #if ENABLED(Z_SAFE_HOMING)
523 523
 
524
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
525
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
524
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
525
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
526 526
 
527 527
   #endif
528 528
 
529
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
530
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
531
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
532
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
533
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
534
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
535
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
536
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
537
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
538
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
539
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
540
-
529
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
530
+  // If you would like to use both a Z probe and a Z min endstop together,
531
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
532
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
533
+  // Example: To park the head outside the bed area when homing with G28.
534
+  //
535
+  // WARNING:
536
+  // The Z min endstop will need to set properly as it would without a Z probe
537
+  // to prevent head crashes and premature stopping during a print.
538
+  //
539
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
540
+  // defined in the pins_XXXXX.h file for your control board.
541
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
542
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
543
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
544
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
545
+  // otherwise connect to ground and D32 for normally closed configuration
546
+  // and 5V and D32 for normally open configurations.
547
+  // Normally closed configuration is advised and assumed.
548
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
549
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
550
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
551
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
552
+  // All other boards will need changes to the respective pins_XXXXX.h file.
553
+  //
554
+  // WARNING:
555
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
556
+  // Use with caution and do your homework.
557
+  //
541 558
   //#define Z_MIN_PROBE_ENDSTOP
542 559
 
543 560
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
613 630
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
614 631
 #endif
615 632
 
633
+//
634
+// M100 Free Memory Watcher
635
+//
636
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
637
+
616 638
 // @section temperature
617 639
 
618 640
 // Preheat Constants
@@ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
780 802
 // Servo Endstops
781 803
 //
782 804
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
783
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
805
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
784 806
 //
785 807
 //#define X_ENDSTOP_SERVO_NR 1
786 808
 //#define Y_ENDSTOP_SERVO_NR 2

+ 79
- 57
Marlin/example_configurations/delta/biv2.5/Configuration.h View File

@@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
374 374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
375 375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
376 376
 //#define DISABLE_MAX_ENDSTOPS
377
-#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
377
+#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
378 378
 
379
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
380
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
381
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
379
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
380
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
381
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
382 382
 // this has no effect.
383 383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384 384
 
@@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
454 454
 //=========================== Manual Bed Leveling ===========================
455 455
 //===========================================================================
456 456
 
457
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
458
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
457
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
458
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
459 459
 
460 460
 #if ENABLED(MANUAL_BED_LEVELING)
461
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
461
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
462 462
 #endif  // MANUAL_BED_LEVELING
463 463
 
464 464
 #if ENABLED(MESH_BED_LEVELING)
@@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
466 466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467 467
   #define MESH_MIN_Y 10
468 468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
469
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
469
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
470 470
   #define MESH_NUM_Y_POINTS 3
471
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
471
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
472 472
 #endif  // MESH_BED_LEVELING
473 473
 
474 474
 //===========================================================================
@@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
477 477
 
478 478
 // @section bedlevel
479 479
 
480
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
481
-//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
480
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
481
+//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
482 482
 
483 483
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
484 484
 
485
-  // There are 2 different ways to specify probing locations
485
+  // There are 2 different ways to specify probing locations:
486 486
   //
487 487
   // - "grid" mode
488 488
   //   Probe several points in a rectangular grid.
@@ -493,20 +493,20 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
493 493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494 494
   //   You specify the XY coordinates of all 3 points.
495 495
 
496
-  // Enable this to sample the bed in a grid (least squares solution)
497
-  // Note: this feature generates 10KB extra code size
498
-  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
496
+  // Enable this to sample the bed in a grid (least squares solution).
497
+  // Note: this feature generates 10KB extra code size.
498
+  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
499 499
 
500 500
   #if ENABLED(AUTO_BED_LEVELING_GRID)
501 501
 
502
-    // set the rectangle in which to probe
502
+    // Set the rectangle in which to probe.
503 503
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
504 504
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
505 505
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
506 506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507 507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
508 508
 
509
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
509
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
510 510
 
511 511
     // Non-linear bed leveling will be used.
512 512
     // Compensate by interpolating between the nearest four Z probe values for each point.
@@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
516 516
 
517 517
   #else  // !AUTO_BED_LEVELING_GRID
518 518
 
519
-      // Arbitrary points to probe. A simple cross-product
520
-      // is used to estimate the plane of the bed.
519
+      // Arbitrary points to probe.
520
+      // A simple cross-product is used to estimate the plane of the bed.
521 521
       #define ABL_PROBE_PT_1_X 15
522 522
       #define ABL_PROBE_PT_1_Y 180
523 523
       #define ABL_PROBE_PT_2_X 15
@@ -527,28 +527,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
527 527
 
528 528
   #endif // AUTO_BED_LEVELING_GRID
529 529
 
530
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
531
-  // X and Y offsets must be integers
532
-  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
533
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
534
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
530
+  // Offsets to the Z probe relative to the nozzle tip.
531
+  // X and Y offsets must be integers.
532
+  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
533
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
534
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
535 535
 
536
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
537
-                                        // Be sure you have this distance over your Z_MAX_POS in case
536
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
537
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
538 538
 
539
-  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
539
+  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
540 540
 
541
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
542
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
543
-  #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
541
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
542
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
543
+  #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
544 544
 
545
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
546
-                                                                            //Useful to retract a deployable probe.
545
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
546
+                                                                            // Useful to retract a deployable Z probe.
547 547
 
548
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
549
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
548
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
549
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
550 550
 
551
-  // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
551
+  // Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
552 552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
553 553
   //#define Z_PROBE_ALLEN_KEY
554 554
 
@@ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
629 629
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
630 630
   #endif
631 631
 
632
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
633
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
632
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
633
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
634 634
 
635
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
635
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
636 636
                           // When defined, it will:
637
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
638
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
639
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
640
-                          // - Block Z homing only when the probe is outside bed area.
637
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
638
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
639
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
640
+                          // - Block Z homing only when the Z probe is outside bed area.
641 641
 
642 642
   #if ENABLED(Z_SAFE_HOMING)
643 643
 
644
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
645
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
644
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
645
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
646 646
 
647 647
   #endif
648 648
 
649
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
650
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
651
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
652
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
653
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
654
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
655
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
656
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
657
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
658
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
659
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
660
-
649
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
650
+  // If you would like to use both a Z probe and a Z min endstop together,
651
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
652
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
653
+  // Example: To park the head outside the bed area when homing with G28.
654
+  //
655
+  // WARNING:
656
+  // The Z min endstop will need to set properly as it would without a Z probe
657
+  // to prevent head crashes and premature stopping during a print.
658
+  //
659
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
660
+  // defined in the pins_XXXXX.h file for your control board.
661
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
662
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
663
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
664
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
665
+  // otherwise connect to ground and D32 for normally closed configuration
666
+  // and 5V and D32 for normally open configurations.
667
+  // Normally closed configuration is advised and assumed.
668
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
669
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
670
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
671
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
672
+  // All other boards will need changes to the respective pins_XXXXX.h file.
673
+  //
674
+  // WARNING:
675
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
676
+  // Use with caution and do your homework.
677
+  //
661 678
   //#define Z_MIN_PROBE_ENDSTOP
662 679
 
663 680
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
733 750
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
734 751
 #endif
735 752
 
753
+//
754
+// M100 Free Memory Watcher
755
+//
756
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
757
+
736 758
 // @section temperature
737 759
 
738 760
 // Preheat Constants
@@ -903,7 +925,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
903 925
 // Servo Endstops
904 926
 //
905 927
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
906
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
928
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
907 929
 //
908 930
 //#define X_ENDSTOP_SERVO_NR 1
909 931
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/delta/generic/Configuration.h View File

@@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
374 374
 const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
375 375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
376 376
 //#define DISABLE_MAX_ENDSTOPS
377
-#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
377
+#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
378 378
 
379
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
380
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
381
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
379
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
380
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
381
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
382 382
 // this has no effect.
383 383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384 384
 
@@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
454 454
 //=========================== Manual Bed Leveling ===========================
455 455
 //===========================================================================
456 456
 
457
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
458
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
457
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
458
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
459 459
 
460 460
 #if ENABLED(MANUAL_BED_LEVELING)
461
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
461
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
462 462
 #endif  // MANUAL_BED_LEVELING
463 463
 
464 464
 #if ENABLED(MESH_BED_LEVELING)
@@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
466 466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467 467
   #define MESH_MIN_Y 10
468 468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
469
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
469
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
470 470
   #define MESH_NUM_Y_POINTS 3
471
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
471
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
472 472
 #endif  // MESH_BED_LEVELING
473 473
 
474 474
 //===========================================================================
@@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
477 477
 
478 478
 // @section bedlevel
479 479
 
480
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
481
-//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
480
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
481
+//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
482 482
 
483 483
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
484 484
 
485
-  // There are 2 different ways to specify probing locations
485
+  // There are 2 different ways to specify probing locations.
486 486
   //
487 487
   // - "grid" mode
488 488
   //   Probe several points in a rectangular grid.
@@ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
493 493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494 494
   //   You specify the XY coordinates of all 3 points.
495 495
 
496
-  // Enable this to sample the bed in a grid (least squares solution)
497
-  // Note: this feature generates 10KB extra code size
498
-  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
496
+  // Enable this to sample the bed in a grid (least squares solution).
497
+  // Note: this feature generates 10KB extra code size.
498
+  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
499 499
 
500 500
   #if ENABLED(AUTO_BED_LEVELING_GRID)
501 501
 
@@ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
506 506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507 507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
508 508
 
509
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
509
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
510 510
 
511 511
     // Non-linear bed leveling will be used.
512 512
     // Compensate by interpolating between the nearest four Z probe values for each point.
@@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
516 516
 
517 517
   #else  // !AUTO_BED_LEVELING_GRID
518 518
 
519
-      // Arbitrary points to probe. A simple cross-product
520
-      // is used to estimate the plane of the bed.
519
+      // Arbitrary points to probe.
520
+      // A simple cross-product is used to estimate the plane of the bed.
521 521
       #define ABL_PROBE_PT_1_X 15
522 522
       #define ABL_PROBE_PT_1_Y 180
523 523
       #define ABL_PROBE_PT_2_X 15
@@ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
527 527
 
528 528
   #endif // AUTO_BED_LEVELING_GRID
529 529
 
530
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
531
-  // X and Y offsets must be integers
532
-  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
533
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
534
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
530
+  // Offsets to the Z probe relative to the nozzle tip.
531
+  // X and Y offsets must be integers.
532
+  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
533
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
534
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
535 535
 
536
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
537
-                                        // Be sure you have this distance over your Z_MAX_POS in case
536
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
537
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
538 538
 
539
-  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
539
+  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
540 540
 
541
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
542
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
543
-  #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
541
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
542
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points
543
+  #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
544 544
 
545
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
546
-                                                                            //Useful to retract a deployable probe.
545
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
546
+                                                                            // Useful to retract a deployable Z probe.
547 547
 
548
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
549
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
548
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
549
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
550 550
 
551 551
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
552 552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
@@ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
629 629
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
630 630
   #endif
631 631
 
632
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
633
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
632
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
633
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
634 634
 
635
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
635
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
636 636
                           // When defined, it will:
637
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
638
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
639
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
640
-                          // - Block Z homing only when the probe is outside bed area.
637
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
638
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
639
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
640
+                          // - Block Z homing only when the Z probe is outside bed area.
641 641
 
642 642
   #if ENABLED(Z_SAFE_HOMING)
643 643
 
644
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
645
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
644
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
645
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
646 646
 
647 647
   #endif
648 648
 
649
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
650
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
651
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
652
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
653
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
654
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
655
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
656
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
657
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
658
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
659
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
660
-
649
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
650
+  // If you would like to use both a Z probe and a Z min endstop together,
651
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
652
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
653
+  // Example: To park the head outside the bed area when homing with G28.
654
+  //
655
+  // WARNING:
656
+  // The Z min endstop will need to set properly as it would without a Z probe
657
+  // to prevent head crashes and premature stopping during a print.
658
+  //
659
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
660
+  // defined in the pins_XXXXX.h file for your control board.
661
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
662
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
663
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
664
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
665
+  // otherwise connect to ground and D32 for normally closed configuration
666
+  // and 5V and D32 for normally open configurations.
667
+  // Normally closed configuration is advised and assumed.
668
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
669
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
670
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
671
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
672
+  // All other boards will need changes to the respective pins_XXXXX.h file.
673
+  //
674
+  // WARNING:
675
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
676
+  // Use with caution and do your homework.
677
+  //
661 678
   //#define Z_MIN_PROBE_ENDSTOP
662 679
 
663 680
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
733 750
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
734 751
 #endif
735 752
 
753
+//
754
+// M100 Free Memory Watcher
755
+//
756
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
757
+
736 758
 // @section temperature
737 759
 
738 760
 // Preheat Constants
@@ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
907 929
 // Servo Endstops
908 930
 //
909 931
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
910
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
932
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
911 933
 //
912 934
 //#define X_ENDSTOP_SERVO_NR 1
913 935
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

@@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
374 374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
375 375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
376 376
 //#define DISABLE_MAX_ENDSTOPS
377
-//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
377
+//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
378 378
 
379
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
380
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
381
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
379
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
380
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
381
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
382 382
 // this has no effect.
383 383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384 384
 
@@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
454 454
 //=========================== Manual Bed Leveling ===========================
455 455
 //===========================================================================
456 456
 
457
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
458
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
457
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
458
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
459 459
 
460 460
 #if ENABLED(MANUAL_BED_LEVELING)
461
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
461
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
462 462
 #endif  // MANUAL_BED_LEVELING
463 463
 
464 464
 #if ENABLED(MESH_BED_LEVELING)
@@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
466 466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467 467
   #define MESH_MIN_Y 10
468 468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
469
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
469
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
470 470
   #define MESH_NUM_Y_POINTS 3
471
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
471
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
472 472
 #endif  // MESH_BED_LEVELING
473 473
 
474 474
 //===========================================================================
@@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
477 477
 
478 478
 // @section bedlevel
479 479
 
480
-#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
481
-//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet.
480
+#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
481
+//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet.
482 482
 
483 483
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
484 484
 
485
-  // There are 2 different ways to specify probing locations
485
+  // There are 2 different ways to specify probing locations:
486 486
   //
487 487
   // - "grid" mode
488 488
   //   Probe several points in a rectangular grid.
@@ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
493 493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494 494
   //   You specify the XY coordinates of all 3 points.
495 495
 
496
-  // Enable this to sample the bed in a grid (least squares solution)
497
-  // Note: this feature generates 10KB extra code size
498
-  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
496
+  // Enable this to sample the bed in a grid (least squares solution).
497
+  // Note: this feature generates 10KB extra code size.
498
+  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
499 499
 
500 500
   #if ENABLED(AUTO_BED_LEVELING_GRID)
501 501
 
@@ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
506 506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507 507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
508 508
 
509
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
509
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
510 510
 
511 511
     // Non-linear bed leveling will be used.
512 512
     // Compensate by interpolating between the nearest four Z probe values for each point.
@@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
516 516
 
517 517
   #else  // !AUTO_BED_LEVELING_GRID
518 518
 
519
-      // Arbitrary points to probe. A simple cross-product
520
-      // is used to estimate the plane of the bed.
519
+      // Arbitrary points to probe.
520
+      // A simple cross-product is used to estimate the plane of the bed.
521 521
       #define ABL_PROBE_PT_1_X 15
522 522
       #define ABL_PROBE_PT_1_Y 180
523 523
       #define ABL_PROBE_PT_2_X 15
@@ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
527 527
 
528 528
   #endif // AUTO_BED_LEVELING_GRID
529 529
 
530
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
531
-  // X and Y offsets must be integers
532
-  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -left  +right
533
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Probe on: -front +behind
534
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // -below (always!)
530
+  // Offsets to the Z probe relative to the nozzle tip.
531
+  // X and Y offsets must be integers.
532
+  #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // Z probe to nozzle X offset: -left  +right
533
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Z probe to nozzle Y offset: -front +behind
534
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z probe to nozzle Z offset: -below (always!)
535 535
 
536
-  #define Z_RAISE_BEFORE_HOMING 15      // (in mm) Raise Z before homing (G28) for Probe Clearance.
537
-                                        // Be sure you have this distance over your Z_MAX_POS in case
536
+  #define Z_RAISE_BEFORE_HOMING 15      // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
537
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
538 538
 
539
-  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min
539
+  #define XY_TRAVEL_SPEED 4000         // X and Y axis travel speed between probes, in mm/min.
540 540
 
541
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
542
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
543
-  #define Z_RAISE_AFTER_PROBING 50    //How much the extruder will be raised after the last probing point.
541
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
542
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points
543
+  #define Z_RAISE_AFTER_PROBING 50    // How much the Z axis will be raised after the last probing point.
544 544
 
545
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
546
-                                                                            //Useful to retract a deployable probe.
545
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
546
+                                                                            // Useful to retract a deployable Z probe.
547 547
 
548
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
549
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
548
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
549
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
550 550
 
551 551
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
552 552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
@@ -633,35 +633,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
633 633
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
634 634
   #endif
635 635
 
636
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
637
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
636
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
637
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
638 638
 
639
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
639
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
640 640
                           // When defined, it will:
641
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
642
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
643
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
644
-                          // - Block Z homing only when the probe is outside bed area.
641
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
642
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
643
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
644
+                          // - Block Z homing only when the Z probe is outside bed area.
645 645
 
646 646
   #if ENABLED(Z_SAFE_HOMING)
647 647
 
648
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
649
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
648
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
649
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
650 650
 
651 651
   #endif
652 652
 
653
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
654
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
655
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
656
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
657
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
658
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
659
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
660
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
661
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
662
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
663
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
664
-
653
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
654
+  // If you would like to use both a Z probe and a Z min endstop together,
655
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
656
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
657
+  // Example: To park the head outside the bed area when homing with G28.
658
+  //
659
+  // WARNING:
660
+  // The Z min endstop will need to set properly as it would without a Z probe
661
+  // to prevent head crashes and premature stopping during a print.
662
+  //
663
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
664
+  // defined in the pins_XXXXX.h file for your control board.
665
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
666
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
667
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
668
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
669
+  // otherwise connect to ground and D32 for normally closed configuration
670
+  // and 5V and D32 for normally open configurations.
671
+  // Normally closed configuration is advised and assumed.
672
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
673
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
674
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
675
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
676
+  // All other boards will need changes to the respective pins_XXXXX.h file.
677
+  //
678
+  // WARNING:
679
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
680
+  // Use with caution and do your homework.
681
+  //
665 682
   //#define Z_MIN_PROBE_ENDSTOP
666 683
 
667 684
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -737,6 +754,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
737 754
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
738 755
 #endif
739 756
 
757
+//
758
+// M100 Free Memory Watcher
759
+//
760
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
761
+
740 762
 // @section temperature
741 763
 
742 764
 // Preheat Constants
@@ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
907 929
 // Servo Endstops
908 930
 //
909 931
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
910
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
932
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
911 933
 //
912 934
 //#define X_ENDSTOP_SERVO_NR 1
913 935
 //#define Y_ENDSTOP_SERVO_NR 2

+ 74
- 52
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

@@ -361,11 +361,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
361 361
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
362 362
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
363 363
 //#define DISABLE_MAX_ENDSTOPS
364
-//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing
364
+//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
365 365
 
366
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
367
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
368
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
366
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
367
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
368
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
369 369
 // this has no effect.
370 370
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
371 371
 
@@ -441,11 +441,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
441 441
 //=========================== Manual Bed Leveling ===========================
442 442
 //===========================================================================
443 443
 
444
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
445
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
444
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
445
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
446 446
 
447 447
 #if ENABLED(MANUAL_BED_LEVELING)
448
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
448
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
449 449
 #endif  // MANUAL_BED_LEVELING
450 450
 
451 451
 #if ENABLED(MESH_BED_LEVELING)
@@ -453,9 +453,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
453 453
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
454 454
   #define MESH_MIN_Y 10
455 455
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
456
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
456
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
457 457
   #define MESH_NUM_Y_POINTS 3
458
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
458
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
459 459
 #endif  // MESH_BED_LEVELING
460 460
 
461 461
 //===========================================================================
@@ -464,12 +464,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
464 464
 
465 465
 // @section bedlevel
466 466
 
467
-#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
468
-//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
467
+#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
468
+//#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
469 469
 
470 470
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
471 471
 
472
-  // There are 2 different ways to specify probing locations
472
+  // There are 2 different ways to specify probing locations:
473 473
   //
474 474
   // - "grid" mode
475 475
   //   Probe several points in a rectangular grid.
@@ -480,9 +480,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
480 480
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
481 481
   //   You specify the XY coordinates of all 3 points.
482 482
 
483
-  // Enable this to sample the bed in a grid (least squares solution)
484
-  // Note: this feature generates 10KB extra code size
485
-  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode
483
+  // Enable this to sample the bed in a grid (least squares solution).
484
+  // Note: this feature generates 10KB extra code size.
485
+  #define AUTO_BED_LEVELING_GRID  // Deltas only support grid mode.
486 486
 
487 487
   #if ENABLED(AUTO_BED_LEVELING_GRID)
488 488
 
@@ -493,7 +493,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
493 493
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
494 494
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
495 495
 
496
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
496
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
497 497
 
498 498
     // Non-linear bed leveling will be used.
499 499
     // Compensate by interpolating between the nearest four Z probe values for each point.
@@ -503,8 +503,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
503 503
 
504 504
   #else  // !AUTO_BED_LEVELING_GRID
505 505
 
506
-      // Arbitrary points to probe. A simple cross-product
507
-      // is used to estimate the plane of the bed.
506
+      // Arbitrary points to probe.
507
+      // A simple cross-product is used to estimate the plane of the bed.
508 508
       #define ABL_PROBE_PT_1_X 15
509 509
       #define ABL_PROBE_PT_1_Y 180
510 510
       #define ABL_PROBE_PT_2_X 15
@@ -514,28 +514,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
514 514
 
515 515
   #endif // AUTO_BED_LEVELING_GRID
516 516
 
517
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
518
-  // X and Y offsets must be integers
517
+  // Offsets to the Z probe relative to the nozzle tip.
518
+  // X and Y offsets must be integers.
519 519
   #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
520 520
   #define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // KosselPro actual: -6.304
521 521
   // Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
522 522
   // not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
523 523
   #define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25  // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero).
524 524
 
525
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
526
-                                        // Be sure you have this distance over your Z_MAX_POS in case
525
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
526
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
527 527
 
528
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
528
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
529 529
 
530
-  #define Z_RAISE_BEFORE_PROBING 100  //How much the extruder will be raised before traveling to the first probing point.
531
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
532
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
530
+  #define Z_RAISE_BEFORE_PROBING 100  // How much the Z axis will be raised before traveling to the first probing point.
531
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
532
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
533 533
 
534
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
535
-                                                                            //Useful to retract a deployable probe.
534
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
535
+                                                                            // Useful to retract a deployable Z probe.
536 536
 
537
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
538
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
537
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
538
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
539 539
 
540 540
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
541 541
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
@@ -618,35 +618,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
618 618
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
619 619
   #endif
620 620
 
621
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
622
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
621
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
622
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
623 623
 
624
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
624
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
625 625
                           // When defined, it will:
626
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
627
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
628
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
629
-                          // - Block Z homing only when the probe is outside bed area.
626
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
627
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
628
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
629
+                          // - Block Z homing only when the Z probe is outside bed area.
630 630
 
631 631
   #if ENABLED(Z_SAFE_HOMING)
632 632
 
633
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
634
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
633
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
634
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
635 635
 
636 636
   #endif
637 637
 
638
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
639
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
640
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
641
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
642
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
643
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
644
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
645
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
646
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
647
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
648
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
649
-
638
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
639
+  // If you would like to use both a Z probe and a Z min endstop together,
640
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
641
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
642
+  // Example: To park the head outside the bed area when homing with G28.
643
+  //
644
+  // WARNING:
645
+  // The Z min endstop will need to set properly as it would without a Z probe
646
+  // to prevent head crashes and premature stopping during a print.
647
+  //
648
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
649
+  // defined in the pins_XXXXX.h file for your control board.
650
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
651
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
652
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
653
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
654
+  // otherwise connect to ground and D32 for normally closed configuration
655
+  // and 5V and D32 for normally open configurations.
656
+  // Normally closed configuration is advised and assumed.
657
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
658
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
659
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
660
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
661
+  // All other boards will need changes to the respective pins_XXXXX.h file.
662
+  //
663
+  // WARNING:
664
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
665
+  // Use with caution and do your homework.
666
+  //
650 667
   //#define Z_MIN_PROBE_ENDSTOP
651 668
 
652 669
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -732,6 +749,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
732 749
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
733 750
 #endif
734 751
 
752
+//
753
+// M100 Free Memory Watcher
754
+//
755
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
756
+
735 757
 // @section temperature
736 758
 
737 759
 // Preheat Constants
@@ -902,7 +924,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
902 924
 // Servo Endstops
903 925
 //
904 926
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
905
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
927
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
906 928
 //
907 929
 //#define X_ENDSTOP_SERVO_NR 1
908 930
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/makibox/Configuration.h View File

@@ -344,9 +344,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
344 344
 //#define DISABLE_MAX_ENDSTOPS
345 345
 //#define DISABLE_MIN_ENDSTOPS
346 346
 
347
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
348
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
349
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
347
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
348
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
349
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
350 350
 // this has no effect.
351 351
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
352 352
 
@@ -422,11 +422,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
422 422
 //=========================== Manual Bed Leveling ===========================
423 423
 //===========================================================================
424 424
 
425
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
426
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
425
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
426
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
427 427
 
428 428
 #if ENABLED(MANUAL_BED_LEVELING)
429
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
429
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
430 430
 #endif  // MANUAL_BED_LEVELING
431 431
 
432 432
 #if ENABLED(MESH_BED_LEVELING)
@@ -434,9 +434,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
434 434
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
435 435
   #define MESH_MIN_Y 10
436 436
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
437
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
437
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
438 438
   #define MESH_NUM_Y_POINTS 3
439
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
439
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
440 440
 #endif  // MESH_BED_LEVELING
441 441
 
442 442
 //===========================================================================
@@ -445,12 +445,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
445 445
 
446 446
 // @section bedlevel
447 447
 
448
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
449
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
448
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
449
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
450 450
 
451 451
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
452 452
 
453
-  // There are 2 different ways to specify probing locations
453
+  // There are 2 different ways to specify probing locations:
454 454
   //
455 455
   // - "grid" mode
456 456
   //   Probe several points in a rectangular grid.
@@ -461,8 +461,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
461 461
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
462 462
   //   You specify the XY coordinates of all 3 points.
463 463
 
464
-  // Enable this to sample the bed in a grid (least squares solution)
465
-  // Note: this feature generates 10KB extra code size
464
+  // Enable this to sample the bed in a grid (least squares solution).
465
+  // Note: this feature generates 10KB extra code size.
466 466
   #define AUTO_BED_LEVELING_GRID
467 467
 
468 468
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -472,16 +472,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
472 472
     #define FRONT_PROBE_BED_POSITION 20
473 473
     #define BACK_PROBE_BED_POSITION 170
474 474
 
475
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
475
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
476 476
 
477
-    // Set the number of grid points per dimension
478
-    // You probably don't need more than 3 (squared=9)
477
+    // Set the number of grid points per dimension.
478
+    // You probably don't need more than 3 (squared=9).
479 479
     #define AUTO_BED_LEVELING_GRID_POINTS 2
480 480
 
481 481
   #else  // !AUTO_BED_LEVELING_GRID
482 482
 
483
-      // Arbitrary points to probe. A simple cross-product
484
-      // is used to estimate the plane of the bed.
483
+      // Arbitrary points to probe.
484
+      // A simple cross-product is used to estimate the plane of the bed.
485 485
       #define ABL_PROBE_PT_1_X 15
486 486
       #define ABL_PROBE_PT_1_Y 180
487 487
       #define ABL_PROBE_PT_2_X 15
@@ -491,56 +491,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
491 491
 
492 492
   #endif // AUTO_BED_LEVELING_GRID
493 493
 
494
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
495
-  // X and Y offsets must be integers
496
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
497
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
498
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
494
+  // Offsets to the Z probe relative to the nozzle tip.
495
+  // X and Y offsets must be integers.
496
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
497
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
498
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
499 499
 
500
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
501
-                                        // Be sure you have this distance over your Z_MAX_POS in case
500
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
501
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
502 502
 
503
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
503
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
504 504
 
505
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
506
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
507
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
505
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
506
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
507
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
508 508
 
509
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
510
-                                                                            //Useful to retract a deployable probe.
509
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
510
+                                                                            // Useful to retract a deployable Z probe.
511 511
 
512
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
513
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
512
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
513
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
514 514
 
515
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
516
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
515
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
516
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
517 517
 
518
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
518
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
519 519
                           // When defined, it will:
520
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
521
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
522
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
523
-                          // - Block Z homing only when the probe is outside bed area.
520
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
521
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
522
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
523
+                          // - Block Z homing only when the Z probe is outside bed area.
524 524
 
525 525
   #if ENABLED(Z_SAFE_HOMING)
526 526
 
527
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
528
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
527
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
528
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
529 529
 
530 530
   #endif
531 531
 
532
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
533
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
534
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
535
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
536
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
537
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
538
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
539
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
540
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
541
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
542
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
543
-
532
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
533
+  // If you would like to use both a Z probe and a Z min endstop together,
534
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
535
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
536
+  // Example: To park the head outside the bed area when homing with G28.
537
+  //
538
+  // WARNING:
539
+  // The Z min endstop will need to set properly as it would without a Z probe
540
+  // to prevent head crashes and premature stopping during a print.
541
+  //
542
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
543
+  // defined in the pins_XXXXX.h file for your control board.
544
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
545
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
546
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
547
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
548
+  // otherwise connect to ground and D32 for normally closed configuration
549
+  // and 5V and D32 for normally open configurations.
550
+  // Normally closed configuration is advised and assumed.
551
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
552
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
553
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
554
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
555
+  // All other boards will need changes to the respective pins_XXXXX.h file.
556
+  //
557
+  // WARNING:
558
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
559
+  // Use with caution and do your homework.
560
+  //
544 561
   //#define Z_MIN_PROBE_ENDSTOP
545 562
 
546 563
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -616,6 +633,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
616 633
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
617 634
 #endif
618 635
 
636
+//
637
+// M100 Free Memory Watcher
638
+//
639
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
640
+
619 641
 // @section temperature
620 642
 
621 643
 // Preheat Constants
@@ -783,7 +805,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
783 805
 // Servo Endstops
784 806
 //
785 807
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
786
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
808
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
787 809
 //
788 810
 //#define X_ENDSTOP_SERVO_NR 1
789 811
 //#define Y_ENDSTOP_SERVO_NR 2

+ 77
- 55
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

@@ -331,9 +331,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
331 331
 //#define DISABLE_MAX_ENDSTOPS
332 332
 //#define DISABLE_MIN_ENDSTOPS
333 333
 
334
-// If you want to enable the Z Probe pin, but disable its use, uncomment the line below.
335
-// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have
336
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe,
334
+// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
335
+// This only affects a Z probe endstop if you have separate Z min endstop as well and have
336
+// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
337 337
 // this has no effect.
338 338
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
339 339
 
@@ -409,11 +409,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
409 409
 //=========================== Manual Bed Leveling ===========================
410 410
 //===========================================================================
411 411
 
412
-// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling
413
-// #define MESH_BED_LEVELING    // Enable mesh bed leveling
412
+// #define MANUAL_BED_LEVELING  // Add display menu option for bed leveling.
413
+// #define MESH_BED_LEVELING    // Enable mesh bed leveling.
414 414
 
415 415
 #if ENABLED(MANUAL_BED_LEVELING)
416
-  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis
416
+  #define MBL_Z_STEP 0.025  // Step size while manually probing Z axis.
417 417
 #endif  // MANUAL_BED_LEVELING
418 418
 
419 419
 #if ENABLED(MESH_BED_LEVELING)
@@ -421,9 +421,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
421 421
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
422 422
   #define MESH_MIN_Y 10
423 423
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
424
-  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited
424
+  #define MESH_NUM_X_POINTS 3  // Don't use more than 7 points per axis, implementation limited.
425 425
   #define MESH_NUM_Y_POINTS 3
426
-  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0
426
+  #define MESH_HOME_SEARCH_Z 4  // Z after Home, bed somewhere below but above 0.0.
427 427
 #endif  // MESH_BED_LEVELING
428 428
 
429 429
 //===========================================================================
@@ -432,12 +432,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
432 432
 
433 433
 // @section bedlevel
434 434
 
435
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
436
-#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
435
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line).
436
+#define Z_MIN_PROBE_REPEATABILITY_TEST  // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled.
437 437
 
438 438
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
439 439
 
440
-  // There are 2 different ways to specify probing locations
440
+  // There are 2 different ways to specify probing locations:
441 441
   //
442 442
   // - "grid" mode
443 443
   //   Probe several points in a rectangular grid.
@@ -448,8 +448,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
448 448
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
449 449
   //   You specify the XY coordinates of all 3 points.
450 450
 
451
-  // Enable this to sample the bed in a grid (least squares solution)
452
-  // Note: this feature generates 10KB extra code size
451
+  // Enable this to sample the bed in a grid (least squares solution).
452
+  // Note: this feature generates 10KB extra code size.
453 453
   #define AUTO_BED_LEVELING_GRID
454 454
 
455 455
   #if ENABLED(AUTO_BED_LEVELING_GRID)
@@ -459,16 +459,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
459 459
     #define FRONT_PROBE_BED_POSITION 20
460 460
     #define BACK_PROBE_BED_POSITION 170
461 461
 
462
-    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this
462
+    #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this.
463 463
 
464
-    // Set the number of grid points per dimension
465
-    // You probably don't need more than 3 (squared=9)
464
+    // Set the number of grid points per dimension.
465
+    // You probably don't need more than 3 (squared=9).
466 466
     #define AUTO_BED_LEVELING_GRID_POINTS 2
467 467
 
468 468
   #else  // !AUTO_BED_LEVELING_GRID
469 469
 
470
-      // Arbitrary points to probe. A simple cross-product
471
-      // is used to estimate the plane of the bed.
470
+      // Arbitrary points to probe.
471
+      // A simple cross-product is used to estimate the plane of the bed.
472 472
       #define ABL_PROBE_PT_1_X 15
473 473
       #define ABL_PROBE_PT_1_Y 180
474 474
       #define ABL_PROBE_PT_2_X 15
@@ -478,56 +478,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
478 478
 
479 479
   #endif // AUTO_BED_LEVELING_GRID
480 480
 
481
-  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
482
-  // X and Y offsets must be integers
483
-  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Probe on: -left  +right
484
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -front +behind
485
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // -below (always!)
481
+  // Offsets to the Z probe relative to the nozzle tip.
482
+  // X and Y offsets must be integers.
483
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // Z probe to nozzle X offset: -left  +right
484
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Z probe to nozzle Y offset: -front +behind
485
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z probe to nozzle Z offset: -below (always!)
486 486
 
487
-  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
488
-                                        // Be sure you have this distance over your Z_MAX_POS in case
487
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
488
+                                        // Be sure you have this distance over your Z_MAX_POS in case.
489 489
 
490
-  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
490
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min.
491 491
 
492
-  #define Z_RAISE_BEFORE_PROBING 15   //How much the extruder will be raised before traveling to the first probing point.
493
-  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
494
-  #define Z_RAISE_AFTER_PROBING 15    //How much the extruder will be raised after the last probing point.
492
+  #define Z_RAISE_BEFORE_PROBING 15   // How much the Z axis will be raised before traveling to the first probing point.
493
+  #define Z_RAISE_BETWEEN_PROBINGS 5  // How much the Z axis will be raised when traveling from between next probing points.
494
+  #define Z_RAISE_AFTER_PROBING 15    // How much the Z axis will be raised after the last probing point.
495 495
 
496
-//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
497
-                                                                            //Useful to retract a deployable probe.
496
+//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
497
+                                                                            // Useful to retract a deployable Z probe.
498 498
 
499
-  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
500
-  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
499
+  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
500
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
501 501
 
502
-//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
503
-//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
502
+// If you have enabled the bed auto leveling and are using the same Z probe for Z homing,
503
+// it is highly recommended you let this Z_SAFE_HOMING enabled!!!
504 504
 
505
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
505
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
506 506
                           // When defined, it will:
507
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
508
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
509
-                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
510
-                          // - Block Z homing only when the probe is outside bed area.
507
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
508
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
509
+                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
510
+                          // - Block Z homing only when the Z probe is outside bed area.
511 511
 
512 512
   #if ENABLED(Z_SAFE_HOMING)
513 513
 
514
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
515
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)
514
+    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
515
+    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
516 516
 
517 517
   #endif
518 518
 
519
-  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
520
-  // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
521
-  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
522
-  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
523
-  // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board.
524
-  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below.
525
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
526
-  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
527
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
528
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
529
-  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.
530
-
519
+  // Support for a dedicated Z probe endstop separate from the Z min endstop.
520
+  // If you would like to use both a Z probe and a Z min endstop together,
521
+  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
522
+  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
523
+  // Example: To park the head outside the bed area when homing with G28.
524
+  //
525
+  // WARNING:
526
+  // The Z min endstop will need to set properly as it would without a Z probe
527
+  // to prevent head crashes and premature stopping during a print.
528
+  //
529
+  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
530
+  // defined in the pins_XXXXX.h file for your control board.
531
+  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
532
+  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
533
+  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
534
+  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
535
+  // otherwise connect to ground and D32 for normally closed configuration
536
+  // and 5V and D32 for normally open configurations.
537
+  // Normally closed configuration is advised and assumed.
538
+  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
539
+  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
540
+  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
541
+  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
542
+  // All other boards will need changes to the respective pins_XXXXX.h file.
543
+  //
544
+  // WARNING:
545
+  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
546
+  // Use with caution and do your homework.
547
+  //
531 548
   //#define Z_MIN_PROBE_ENDSTOP
532 549
 
533 550
 #endif // ENABLE_AUTO_BED_LEVELING
@@ -607,6 +624,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
607 624
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
608 625
 #endif
609 626
 
627
+//
628
+// M100 Free Memory Watcher
629
+//
630
+//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose
631
+
610 632
 // @section temperature
611 633
 
612 634
 // Preheat Constants
@@ -774,7 +796,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
774 796
 // Servo Endstops
775 797
 //
776 798
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
777
-// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
799
+// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
778 800
 //
779 801
 //#define X_ENDSTOP_SERVO_NR 1
780 802
 //#define Y_ENDSTOP_SERVO_NR 2

+ 1
- 1
Marlin/pins_BRAINWAVE_PRO.h View File

@@ -31,7 +31,7 @@
31 31
 #define Z_DIR_PIN          28
32 32
 #define Z_ENABLE_PIN       37
33 33
 #define Z_MAX_PIN          36
34
-#define Z_MIN_PIN          17  // Bed probe
34
+#define Z_MIN_PIN          17  // Bed Z probe
35 35
 
36 36
 #define E0_STEP_PIN        35
37 37
 #define E0_DIR_PIN         34

Loading…
Cancel
Save