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
 //#define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MAX_ENDSTOPS
342
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
347
 // this has no effect.
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349
 
349
 
419
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
427
 #endif  // MANUAL_BED_LEVELING
428
 
428
 
429
 #if ENABLED(MESH_BED_LEVELING)
429
 #if ENABLED(MESH_BED_LEVELING)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432
   #define MESH_MIN_Y 10
432
   #define MESH_MIN_Y 10
433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
437
 #endif  // MESH_BED_LEVELING
438
 
438
 
439
 //===========================================================================
439
 //===========================================================================
442
 
442
 
443
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
452
   // - "grid" mode
453
   //   Probe several points in a rectangular grid.
453
   //   Probe several points in a rectangular grid.
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
463
   #define AUTO_BED_LEVELING_GRID
464
 
464
 
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
469
     #define FRONT_PROBE_BED_POSITION 20
469
     #define FRONT_PROBE_BED_POSITION 20
470
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477
 
477
 
478
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
482
       #define ABL_PROBE_PT_1_X 15
483
       #define ABL_PROBE_PT_1_Y 180
483
       #define ABL_PROBE_PT_1_Y 180
484
       #define ABL_PROBE_PT_2_X 15
484
       #define ABL_PROBE_PT_2_X 15
488
 
488
 
489
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
558
   //#define Z_MIN_PROBE_ENDSTOP
542
 
559
 
543
 #endif // ENABLE_AUTO_BED_LEVELING
560
 #endif // ENABLE_AUTO_BED_LEVELING
785
 // Servo Endstops
802
 // Servo Endstops
786
 //
803
 //
787
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
807
 //#define X_ENDSTOP_SERVO_NR 1
791
 //#define Y_ENDSTOP_SERVO_NR 2
808
 //#define Y_ENDSTOP_SERVO_NR 2

+ 37
- 37
Marlin/Marlin_main.cpp View File

88
  * G10 - retract filament according to settings of M207
88
  * G10 - retract filament according to settings of M207
89
  * G11 - retract recover filament according to settings of M208
89
  * G11 - retract recover filament according to settings of M208
90
  * G28 - Home one or more axes
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
  * G31 - Dock sled (Z_PROBE_SLED only)
93
  * G31 - Dock sled (Z_PROBE_SLED only)
94
  * G32 - Undock sled (Z_PROBE_SLED only)
94
  * G32 - Undock sled (Z_PROBE_SLED only)
95
  * G90 - Use Absolute Coordinates
95
  * G90 - Use Absolute Coordinates
179
  * M380 - Activate solenoid on active extruder
179
  * M380 - Activate solenoid on active extruder
180
  * M381 - Disable all solenoids
180
  * M381 - Disable all solenoids
181
  * M400 - Finish all moves
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
  * M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters
184
  * M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters
185
  * M405 - Turn on Filament Sensor extrusion control.  Optional D<delay in cm> to set delay in centimeters between sensor and extruder
185
  * M405 - Turn on Filament Sensor extrusion control.  Optional D<delay in cm> to set delay in centimeters between sensor and extruder
186
  * M406 - Turn off Filament Sensor extrusion control
186
  * M406 - Turn off Filament Sensor extrusion control
214
  *
214
  *
215
  * ************ Custom codes - This can change to suit future G-code regulations
215
  * ************ Custom codes - This can change to suit future G-code regulations
216
  * M100 - Watch Free Memory (For Debugging Only)
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
  * M928 - Start SD logging (M928 filename.g) - ended by M29
220
  * M928 - Start SD logging (M928 filename.g) - ended by M29
1239
       plan_bed_level_matrix.set_to_identity();
1239
       plan_bed_level_matrix.set_to_identity();
1240
       feedrate = homing_feedrate[Z_AXIS];
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
       float zPosition = -(Z_MAX_LENGTH + 10);
1243
       float zPosition = -(Z_MAX_LENGTH + 10);
1244
       line_to_z(zPosition);
1244
       line_to_z(zPosition);
1245
       st_synchronize();
1245
       st_synchronize();
1329
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
1329
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
1330
       feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE;
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
       #if ENABLED(Z_MIN_PROBE_ENDSTOP)
1333
       #if ENABLED(Z_MIN_PROBE_ENDSTOP)
1334
         bool z_probe_endstop = (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING);
1334
         bool z_probe_endstop = (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING);
1335
         if (z_probe_endstop)
1335
         if (z_probe_endstop)
1443
       destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z;
1443
       destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z;
1444
       prepare_move_raw();
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
       if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) {
1447
       if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) {
1448
         feedrate = Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE;
1448
         feedrate = Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE;
1449
       }
1449
       }
1506
 
1506
 
1507
   // Probe bed height at position (x,y), returns the measured z value
1507
   // Probe bed height at position (x,y), returns the measured z value
1508
   static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) {
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
     do_blocking_move_to_z(z_before); // this also updates current_position
1510
     do_blocking_move_to_z(z_before); // this also updates current_position
1511
     do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position
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
     
1678
     
1679
     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
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
       if (axis == Z_AXIS) {
1682
       if (axis == Z_AXIS) {
1683
         if (axis_home_dir < 0) deploy_z_probe();
1683
         if (axis_home_dir < 0) deploy_z_probe();
1684
       }
1684
       }
1770
     axis_known_position[axis] = true;
1770
     axis_known_position[axis] = true;
1771
 
1771
 
1772
     #if ENABLED(Z_PROBE_SLED)
1772
     #if ENABLED(Z_PROBE_SLED)
1773
-    // bring probe back
1773
+    // bring Z probe back
1774
       if (axis == Z_AXIS) {
1774
       if (axis == Z_AXIS) {
1775
         if (axis_home_dir < 0) dock_sled(true);
1775
         if (axis_home_dir < 0) dock_sled(true);
1776
       } 
1776
       } 
1778
 
1778
 
1779
     #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
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
       if (axis == Z_AXIS) {
1782
       if (axis == Z_AXIS) {
1783
         if (axis_home_dir < 0) stow_z_probe();
1783
         if (axis_home_dir < 0) stow_z_probe();
1784
       }
1784
       }
2157
             sync_plan_position();
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
             // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above
2162
             // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above
2163
             // then this may not work as expected.
2163
             // then this may not work as expected.
2182
             // Let's see if X and Y are homed
2182
             // Let's see if X and Y are homed
2183
             if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) {
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
               float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS];
2187
               float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS];
2188
               if (   cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER
2188
               if (   cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER
2189
                   && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER
2189
                   && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER
2265
   enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet };
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
    *      mesh to compensate for variable bed height
2269
    *      mesh to compensate for variable bed height
2270
    *
2270
    *
2271
    * Parameters With MESH_BED_LEVELING:
2271
    * Parameters With MESH_BED_LEVELING:
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
    *      Will fail if the printer has not been homed with G28.
2408
    *      Will fail if the printer has not been homed with G28.
2409
    *
2409
    *
2410
    * Enhanced G29 Auto Bed Leveling Probe Routine
2410
    * Enhanced G29 Auto Bed Leveling Probe Routine
2435
    *
2435
    *
2436
    * Global Parameters:
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
    *     Usage: "G29 E" or "G29 e"
2441
    *     Usage: "G29 E" or "G29 e"
2442
    *
2442
    *
2443
    */
2443
    */
2519
     #endif // AUTO_BED_LEVELING_GRID
2519
     #endif // AUTO_BED_LEVELING_GRID
2520
 
2520
 
2521
     #if ENABLED(Z_PROBE_SLED)
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
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2523
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2524
       deploy_z_probe();
2524
       deploy_z_probe();
2525
     #endif
2525
     #endif
2755
         plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:");
2755
         plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:");
2756
 
2756
 
2757
       if (!dryrun) {
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
         // When the bed is uneven, this height must be corrected.
2760
         // When the bed is uneven, this height must be corrected.
2761
         float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,
2761
         float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,
2762
               y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER,
2762
               y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER,
2763
               z_tmp = current_position[Z_AXIS],
2763
               z_tmp = current_position[Z_AXIS],
2764
               real_z = st_get_position_mm(Z_AXIS);  //get the real Z (since plan_get_position is now correcting the plane)
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
         // Get the current Z position and send it to the planner.
2768
         // Get the current Z position and send it to the planner.
2769
         //
2769
         //
2770
         // >> (z_tmp - real_z) : The rotated current Z minus the uncorrected Z (most recent plan_set_position/sync_plan_position)
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
         // >> Should home_offset[Z_AXIS] be included?
2776
         // >> Should home_offset[Z_AXIS] be included?
2777
         //
2777
         //
2786
              + Z_RAISE_AFTER_PROBING
2786
              + Z_RAISE_AFTER_PROBING
2787
           #endif
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
         sync_plan_position();
2790
         sync_plan_position();
2791
       }
2791
       }
2792
     #endif // !DELTA
2792
     #endif // !DELTA
2793
 
2793
 
2794
     #if ENABLED(Z_PROBE_SLED)
2794
     #if ENABLED(Z_PROBE_SLED)
2795
-      dock_sled(true); // dock the probe
2795
+      dock_sled(true); // dock the Z probe
2796
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2796
     #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING
2797
       stow_z_probe();
2797
       stow_z_probe();
2798
     #endif
2798
     #endif
3121
   // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity.
3121
   // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity.
3122
   #if ENABLED(Z_MIN_PROBE_ENDSTOP)
3122
   #if ENABLED(Z_MIN_PROBE_ENDSTOP)
3123
     #if !HAS_Z_PROBE
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
     #endif
3125
     #endif
3126
   #elif !HAS_Z_MIN
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
   #endif
3128
   #endif
3129
 
3129
 
3130
   /**
3130
   /**
3131
-   * M48: Z-Probe repeatability measurement function.
3131
+   * M48: Z probe repeatability measurement function.
3132
    *
3132
    *
3133
    * Usage:
3133
    * Usage:
3134
    *   M48 <P#> <X#> <Y#> <V#> <E> <L#>
3134
    *   M48 <P#> <X#> <Y#> <V#> <E> <L#>
3136
    *     X = Sample X position
3136
    *     X = Sample X position
3137
    *     Y = Sample Y position
3137
    *     Y = Sample Y position
3138
    *     V = Verbose level (0-4, default=1)
3138
    *     V = Verbose level (0-4, default=1)
3139
-   *     E = Engage probe for each reading
3139
+   *     E = Engage Z probe for each reading
3140
    *     L = Number of legs of movement before probe
3140
    *     L = Number of legs of movement before probe
3141
    *  
3141
    *  
3142
    * This function assumes the bed has been homed.  Specifically, that a G28 command
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
    * Any information generated by a prior G29 Bed leveling command will be lost and need to be
3144
    * Any information generated by a prior G29 Bed leveling command will be lost and need to be
3145
    * regenerated.
3145
    * regenerated.
3146
    */
3146
    */
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
     st_synchronize();
3209
     st_synchronize();
5283
         break;
5283
         break;
5284
 
5284
 
5285
       #if ENABLED(ENABLE_AUTO_BED_LEVELING) || ENABLED(MESH_BED_LEVELING)
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
           gcode_G29();
5287
           gcode_G29();
5288
           break;
5288
           break;
5289
       #endif
5289
       #endif
5292
 
5292
 
5293
         #if DISABLED(Z_PROBE_SLED)
5293
         #if DISABLED(Z_PROBE_SLED)
5294
 
5294
 
5295
-          case 30: // G30 Single Z Probe
5295
+          case 30: // G30 Single Z probe
5296
             gcode_G30();
5296
             gcode_G30();
5297
             break;
5297
             break;
5298
 
5298
 
5378
         break;
5378
         break;
5379
 
5379
 
5380
       #if ENABLED(ENABLE_AUTO_BED_LEVELING) && ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
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
           gcode_M48();
5382
           gcode_M48();
5383
           break;
5383
           break;
5384
       #endif // ENABLE_AUTO_BED_LEVELING && Z_MIN_PROBE_REPEATABILITY_TEST
5384
       #endif // ENABLE_AUTO_BED_LEVELING && Z_MIN_PROBE_REPEATABILITY_TEST

+ 16
- 16
Marlin/SanityCheck.h View File

130
   #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
     #if !PIN_EXISTS(Z_MIN)
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
         #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
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
         #else
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
         #endif
141
         #endif
142
       #endif
142
       #endif
143
     #endif
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
     #if ENABLED(Z_MIN_PROBE_ENDSTOP)
148
     #if ENABLED(Z_MIN_PROBE_ENDSTOP)
149
       #ifndef Z_MIN_PROBE_PIN
149
       #ifndef Z_MIN_PROBE_PIN
179
         #endif
179
         #endif
180
         // Make sure probing points are reachable
180
         // Make sure probing points are reachable
181
         #if LEFT_PROBE_BED_POSITION < MIN_PROBE_X
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
         #elif RIGHT_PROBE_BED_POSITION > MAX_PROBE_X
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
         #elif FRONT_PROBE_BED_POSITION < MIN_PROBE_Y
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
         #elif BACK_PROBE_BED_POSITION > MAX_PROBE_Y
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
         #endif
189
         #endif
190
       #endif
190
       #endif
191
     #else // !AUTO_BED_LEVELING_GRID
191
     #else // !AUTO_BED_LEVELING_GRID
192
 
192
 
193
       // Check the triangulation points
193
       // Check the triangulation points
194
       #if ABL_PROBE_PT_1_X < MIN_PROBE_X || ABL_PROBE_PT_1_X > MAX_PROBE_X
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
       #elif ABL_PROBE_PT_2_X < MIN_PROBE_X || ABL_PROBE_PT_2_X > MAX_PROBE_X
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
       #elif ABL_PROBE_PT_3_X < MIN_PROBE_X || ABL_PROBE_PT_3_X > MAX_PROBE_X
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
       #elif ABL_PROBE_PT_1_Y < MIN_PROBE_Y || ABL_PROBE_PT_1_Y > MAX_PROBE_Y
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
       #elif ABL_PROBE_PT_2_Y < MIN_PROBE_Y || ABL_PROBE_PT_2_Y > MAX_PROBE_Y
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
       #elif ABL_PROBE_PT_3_Y < MIN_PROBE_Y || ABL_PROBE_PT_3_Y > MAX_PROBE_Y
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
       #endif
206
       #endif
207
 
207
 
208
     #endif // !AUTO_BED_LEVELING_GRID
208
     #endif // !AUTO_BED_LEVELING_GRID
240
   #endif
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
   #if ENABLED(Z_PROBE_ALLEN_KEY) && !(ENABLED(AUTO_BED_LEVELING_GRID) && ENABLED(DELTA))
245
   #if ENABLED(Z_PROBE_ALLEN_KEY) && !(ENABLED(AUTO_BED_LEVELING_GRID) && ENABLED(DELTA))
246
     #error Invalid use of Z_PROBE_ALLEN_KEY.
246
     #error Invalid use of Z_PROBE_ALLEN_KEY.

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

341
 //#define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MAX_ENDSTOPS
342
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
347
 // this has no effect.
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349
 
349
 
419
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
427
 #endif  // MANUAL_BED_LEVELING
428
 
428
 
429
 #if ENABLED(MESH_BED_LEVELING)
429
 #if ENABLED(MESH_BED_LEVELING)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432
   #define MESH_MIN_Y 10
432
   #define MESH_MIN_Y 10
433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
437
 #endif  // MESH_BED_LEVELING
438
 
438
 
439
 //===========================================================================
439
 //===========================================================================
442
 
442
 
443
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
452
   // - "grid" mode
453
   //   Probe several points in a rectangular grid.
453
   //   Probe several points in a rectangular grid.
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
463
   #define AUTO_BED_LEVELING_GRID
464
 
464
 
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
469
     #define FRONT_PROBE_BED_POSITION 20
469
     #define FRONT_PROBE_BED_POSITION 20
470
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477
 
477
 
478
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
482
       #define ABL_PROBE_PT_1_X 15
483
       #define ABL_PROBE_PT_1_Y 180
483
       #define ABL_PROBE_PT_1_Y 180
484
       #define ABL_PROBE_PT_2_X 15
484
       #define ABL_PROBE_PT_2_X 15
488
 
488
 
489
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
558
   //#define Z_MIN_PROBE_ENDSTOP
542
 
559
 
543
 #endif // ENABLE_AUTO_BED_LEVELING
560
 #endif // ENABLE_AUTO_BED_LEVELING
785
 // Servo Endstops
802
 // Servo Endstops
786
 //
803
 //
787
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
807
 //#define X_ENDSTOP_SERVO_NR 1
791
 //#define Y_ENDSTOP_SERVO_NR 2
808
 //#define Y_ENDSTOP_SERVO_NR 2

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

323
 #define DISABLE_MAX_ENDSTOPS
323
 #define DISABLE_MAX_ENDSTOPS
324
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
329
 // this has no effect.
330
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
330
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
331
 
331
 
401
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
409
 #endif  // MANUAL_BED_LEVELING
410
 
410
 
411
 #if ENABLED(MESH_BED_LEVELING)
411
 #if ENABLED(MESH_BED_LEVELING)
413
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
413
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
414
   #define MESH_MIN_Y 10
414
   #define MESH_MIN_Y 10
415
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
419
 #endif  // MESH_BED_LEVELING
420
 
420
 
421
 //===========================================================================
421
 //===========================================================================
424
 
424
 
425
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
434
   // - "grid" mode
435
   //   Probe several points in a rectangular grid.
435
   //   Probe several points in a rectangular grid.
440
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
440
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
441
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
445
   #define AUTO_BED_LEVELING_GRID
446
 
446
 
447
   #if ENABLED(AUTO_BED_LEVELING_GRID)
447
   #if ENABLED(AUTO_BED_LEVELING_GRID)
451
     #define FRONT_PROBE_BED_POSITION 20
451
     #define FRONT_PROBE_BED_POSITION 20
452
     #define BACK_PROBE_BED_POSITION 180
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
458
     #define AUTO_BED_LEVELING_GRID_POINTS 2
459
 
459
 
460
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
464
       #define ABL_PROBE_PT_1_X 15
465
       #define ABL_PROBE_PT_1_Y 180
465
       #define ABL_PROBE_PT_1_Y 180
466
       #define ABL_PROBE_PT_2_X 15
466
       #define ABL_PROBE_PT_2_X 15
470
 
470
 
471
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
540
   //#define Z_MIN_PROBE_ENDSTOP
524
 
541
 
525
 #endif // ENABLE_AUTO_BED_LEVELING
542
 #endif // ENABLE_AUTO_BED_LEVELING
596
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
613
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
597
 #endif
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
 // @section temperature
621
 // @section temperature
600
 
622
 
601
 // Preheat Constants
623
 // Preheat Constants
763
 // Servo Endstops
785
 // Servo Endstops
764
 //
786
 //
765
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
790
 //#define X_ENDSTOP_SERVO_NR 1
769
 //#define Y_ENDSTOP_SERVO_NR 2
791
 //#define Y_ENDSTOP_SERVO_NR 2

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

308
 #define DISABLE_MAX_ENDSTOPS
308
 #define DISABLE_MAX_ENDSTOPS
309
 //#define DISABLE_MIN_ENDSTOPS
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
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
317
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
312
 #define X_ENABLE_ON 0
318
 #define X_ENABLE_ON 0
313
 #define Y_ENABLE_ON 0
319
 #define Y_ENABLE_ON 0
365
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MESH_BED_LEVELING)
381
 #if ENABLED(MESH_BED_LEVELING)
372
   #define MESH_MIN_X 10
382
   #define MESH_MIN_X 10
373
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
383
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
374
   #define MESH_MIN_Y 10
384
   #define MESH_MIN_Y 10
375
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
389
 #endif  // MESH_BED_LEVELING
380
 
390
 
381
 //===========================================================================
391
 //===========================================================================
382
 //============================ Bed Auto Leveling ============================
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
404
   // - "grid" mode
393
   //   Probe several points in a rectangular grid.
405
   //   Probe several points in a rectangular grid.
398
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
410
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
399
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
415
   #define AUTO_BED_LEVELING_GRID
404
 
416
 
405
   #if ENABLED(AUTO_BED_LEVELING_GRID)
417
   #if ENABLED(AUTO_BED_LEVELING_GRID)
409
     #define FRONT_PROBE_BED_POSITION 20
421
     #define FRONT_PROBE_BED_POSITION 20
410
     #define BACK_PROBE_BED_POSITION 180
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
428
     #define AUTO_BED_LEVELING_GRID_POINTS 2
417
 
429
 
418
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
434
       #define ABL_PROBE_PT_1_X 15
423
       #define ABL_PROBE_PT_1_Y 180
435
       #define ABL_PROBE_PT_1_Y 180
424
       #define ABL_PROBE_PT_2_X 15
436
       #define ABL_PROBE_PT_2_X 15
428
 
440
 
429
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
510
   //#define Z_MIN_PROBE_ENDSTOP
486
 
511
 
487
 #endif // ENABLE_AUTO_BED_LEVELING
512
 #endif // ENABLE_AUTO_BED_LEVELING
557
   #define EEPROM_CHITCHAT // please keep turned on if you can.
582
   #define EEPROM_CHITCHAT // please keep turned on if you can.
558
 #endif
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
 // Preheat Constants
592
 // Preheat Constants
561
 #define PLA_PREHEAT_HOTEND_TEMP 180
593
 #define PLA_PREHEAT_HOTEND_TEMP 180
562
 #define PLA_PREHEAT_HPB_TEMP 70
594
 #define PLA_PREHEAT_HPB_TEMP 70
716
 // Servo Endstops
748
 // Servo Endstops
717
 //
749
 //
718
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
753
 //#define X_ENDSTOP_SERVO_NR 1
722
 //#define Y_ENDSTOP_SERVO_NR 2
754
 //#define Y_ENDSTOP_SERVO_NR 2

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

333
 //#define DISABLE_MAX_ENDSTOPS
333
 //#define DISABLE_MAX_ENDSTOPS
334
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
339
 // this has no effect.
340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
341
 
341
 
411
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
419
 #endif  // MANUAL_BED_LEVELING
420
 
420
 
421
 #if ENABLED(MESH_BED_LEVELING)
421
 #if ENABLED(MESH_BED_LEVELING)
423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
424
   #define MESH_MIN_Y 10
424
   #define MESH_MIN_Y 10
425
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
429
 #endif  // MESH_BED_LEVELING
430
 
430
 
431
 //===========================================================================
431
 //===========================================================================
434
 
434
 
435
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
444
   // - "grid" mode
445
   //   Probe several points in a rectangular grid.
445
   //   Probe several points in a rectangular grid.
450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
451
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
455
   #define AUTO_BED_LEVELING_GRID
456
 
456
 
457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
461
     #define FRONT_PROBE_BED_POSITION 20
461
     #define FRONT_PROBE_BED_POSITION 20
462
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
468
     #define AUTO_BED_LEVELING_GRID_POINTS 2
469
 
469
 
470
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
474
       #define ABL_PROBE_PT_1_X 15
475
       #define ABL_PROBE_PT_1_Y 180
475
       #define ABL_PROBE_PT_1_Y 180
476
       #define ABL_PROBE_PT_2_X 15
476
       #define ABL_PROBE_PT_2_X 15
480
 
480
 
481
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
550
   //#define Z_MIN_PROBE_ENDSTOP
534
 
551
 
535
 #endif // ENABLE_AUTO_BED_LEVELING
552
 #endif // ENABLE_AUTO_BED_LEVELING
605
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
622
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
606
 #endif
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
 // @section temperature
630
 // @section temperature
609
 
631
 
610
 // Preheat Constants
632
 // Preheat Constants
772
 // Servo Endstops
794
 // Servo Endstops
773
 //
795
 //
774
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
799
 //#define X_ENDSTOP_SERVO_NR 1
778
 //#define Y_ENDSTOP_SERVO_NR 2
800
 //#define Y_ENDSTOP_SERVO_NR 2

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

329
 #define DISABLE_MAX_ENDSTOPS
329
 #define DISABLE_MAX_ENDSTOPS
330
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
335
 // this has no effect.
336
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
336
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
337
 
337
 
407
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
415
 #endif  // MANUAL_BED_LEVELING
416
 
416
 
417
 #if ENABLED(MESH_BED_LEVELING)
417
 #if ENABLED(MESH_BED_LEVELING)
419
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
419
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
420
   #define MESH_MIN_Y 10
420
   #define MESH_MIN_Y 10
421
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
425
 #endif  // MESH_BED_LEVELING
426
 
426
 
427
 //===========================================================================
427
 //===========================================================================
430
 
430
 
431
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
440
   // - "grid" mode
441
   //   Probe several points in a rectangular grid.
441
   //   Probe several points in a rectangular grid.
446
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
446
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
447
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
451
   #define AUTO_BED_LEVELING_GRID
452
 
452
 
453
   #if ENABLED(AUTO_BED_LEVELING_GRID)
453
   #if ENABLED(AUTO_BED_LEVELING_GRID)
457
     #define FRONT_PROBE_BED_POSITION 20
457
     #define FRONT_PROBE_BED_POSITION 20
458
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
464
     #define AUTO_BED_LEVELING_GRID_POINTS 2
465
 
465
 
466
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
470
       #define ABL_PROBE_PT_1_X 15
471
       #define ABL_PROBE_PT_1_Y 180
471
       #define ABL_PROBE_PT_1_Y 180
472
       #define ABL_PROBE_PT_2_X 15
472
       #define ABL_PROBE_PT_2_X 15
476
 
476
 
477
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
546
   //#define Z_MIN_PROBE_ENDSTOP
530
 
547
 
531
 #endif // ENABLE_AUTO_BED_LEVELING
548
 #endif // ENABLE_AUTO_BED_LEVELING
601
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
618
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
602
 #endif
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
 // @section temperature
626
 // @section temperature
605
 
627
 
606
 // Preheat Constants
628
 // Preheat Constants
768
 // Servo Endstops
790
 // Servo Endstops
769
 //
791
 //
770
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
795
 //#define X_ENDSTOP_SERVO_NR 1
774
 //#define Y_ENDSTOP_SERVO_NR 2
796
 //#define Y_ENDSTOP_SERVO_NR 2

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

341
 //#define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MAX_ENDSTOPS
342
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
347
 // this has no effect.
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349
 
349
 
419
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
427
 #endif  // MANUAL_BED_LEVELING
428
 
428
 
429
 #if ENABLED(MESH_BED_LEVELING)
429
 #if ENABLED(MESH_BED_LEVELING)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432
   #define MESH_MIN_Y 10
432
   #define MESH_MIN_Y 10
433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
437
 #endif  // MESH_BED_LEVELING
438
 
438
 
439
 //===========================================================================
439
 //===========================================================================
442
 
442
 
443
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
452
   // - "grid" mode
453
   //   Probe several points in a rectangular grid.
453
   //   Probe several points in a rectangular grid.
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
463
   #define AUTO_BED_LEVELING_GRID
464
 
464
 
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
469
     #define FRONT_PROBE_BED_POSITION 20
469
     #define FRONT_PROBE_BED_POSITION 20
470
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477
 
477
 
478
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
482
       #define ABL_PROBE_PT_1_X 15
483
       #define ABL_PROBE_PT_1_Y 180
483
       #define ABL_PROBE_PT_1_Y 180
484
       #define ABL_PROBE_PT_2_X 15
484
       #define ABL_PROBE_PT_2_X 15
488
 
488
 
489
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
558
   //#define Z_MIN_PROBE_ENDSTOP
542
 
559
 
543
 #endif // ENABLE_AUTO_BED_LEVELING
560
 #endif // ENABLE_AUTO_BED_LEVELING
613
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
630
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
614
 #endif
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
 // @section temperature
638
 // @section temperature
617
 
639
 
618
 // Preheat Constants
640
 // Preheat Constants
780
 // Servo Endstops
802
 // Servo Endstops
781
 //
803
 //
782
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
807
 //#define X_ENDSTOP_SERVO_NR 1
786
 //#define Y_ENDSTOP_SERVO_NR 2
808
 //#define Y_ENDSTOP_SERVO_NR 2

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

327
 //#define DISABLE_MAX_ENDSTOPS
327
 //#define DISABLE_MAX_ENDSTOPS
328
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
333
 // this has no effect.
334
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
334
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
335
 
335
 
405
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
413
 #endif  // MANUAL_BED_LEVELING
414
 
414
 
415
 #if ENABLED(MESH_BED_LEVELING)
415
 #if ENABLED(MESH_BED_LEVELING)
417
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
417
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
418
   #define MESH_MIN_Y 10
418
   #define MESH_MIN_Y 10
419
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
423
 #endif  // MESH_BED_LEVELING
424
 
424
 
425
 //===========================================================================
425
 //===========================================================================
428
 
428
 
429
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
438
   // - "grid" mode
439
   //   Probe several points in a rectangular grid.
439
   //   Probe several points in a rectangular grid.
444
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
444
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
445
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
449
   #define AUTO_BED_LEVELING_GRID
450
 
450
 
451
   #if ENABLED(AUTO_BED_LEVELING_GRID)
451
   #if ENABLED(AUTO_BED_LEVELING_GRID)
455
     #define FRONT_PROBE_BED_POSITION 20
455
     #define FRONT_PROBE_BED_POSITION 20
456
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
462
     #define AUTO_BED_LEVELING_GRID_POINTS 2
463
 
463
 
464
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
468
       #define ABL_PROBE_PT_1_X 15
469
       #define ABL_PROBE_PT_1_Y 180
469
       #define ABL_PROBE_PT_1_Y 180
470
       #define ABL_PROBE_PT_2_X 15
470
       #define ABL_PROBE_PT_2_X 15
474
 
474
 
475
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
544
   //#define Z_MIN_PROBE_ENDSTOP
528
 
545
 
529
 #endif // ENABLE_AUTO_BED_LEVELING
546
 #endif // ENABLE_AUTO_BED_LEVELING
775
 // Servo Endstops
792
 // Servo Endstops
776
 //
793
 //
777
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
797
 //#define X_ENDSTOP_SERVO_NR 1
781
 //#define Y_ENDSTOP_SERVO_NR 2
798
 //#define Y_ENDSTOP_SERVO_NR 2

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

349
 //#define DISABLE_MAX_ENDSTOPS
349
 //#define DISABLE_MAX_ENDSTOPS
350
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
355
 // this has no effect.
356
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
356
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
357
 
357
 
427
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
435
 #endif  // MANUAL_BED_LEVELING
436
 
436
 
437
 #if ENABLED(MESH_BED_LEVELING)
437
 #if ENABLED(MESH_BED_LEVELING)
439
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
439
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
440
   #define MESH_MIN_Y 10
440
   #define MESH_MIN_Y 10
441
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
445
 #endif  // MESH_BED_LEVELING
446
 
446
 
447
 //===========================================================================
447
 //===========================================================================
450
 
450
 
451
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
460
   // - "grid" mode
461
   //   Probe several points in a rectangular grid.
461
   //   Probe several points in a rectangular grid.
466
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
466
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
467
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
471
   #define AUTO_BED_LEVELING_GRID
472
 
472
 
473
   #if ENABLED(AUTO_BED_LEVELING_GRID)
473
   #if ENABLED(AUTO_BED_LEVELING_GRID)
477
     #define FRONT_PROBE_BED_POSITION 20
477
     #define FRONT_PROBE_BED_POSITION 20
478
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
484
     #define AUTO_BED_LEVELING_GRID_POINTS 2
485
 
485
 
486
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
490
       #define ABL_PROBE_PT_1_X 15
491
       #define ABL_PROBE_PT_1_Y 180
491
       #define ABL_PROBE_PT_1_Y 180
492
       #define ABL_PROBE_PT_2_X 15
492
       #define ABL_PROBE_PT_2_X 15
496
 
496
 
497
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
566
   //#define Z_MIN_PROBE_ENDSTOP
550
 
567
 
551
 #endif // ENABLE_AUTO_BED_LEVELING
568
 #endif // ENABLE_AUTO_BED_LEVELING
621
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
638
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
622
 #endif
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
 // @section temperature
646
 // @section temperature
625
 
647
 
626
 // Preheat Constants
648
 // Preheat Constants
788
 // Servo Endstops
810
 // Servo Endstops
789
 //
811
 //
790
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
815
 //#define X_ENDSTOP_SERVO_NR 1
794
 //#define Y_ENDSTOP_SERVO_NR 2
816
 //#define Y_ENDSTOP_SERVO_NR 2

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

333
 //#define DISABLE_MAX_ENDSTOPS
333
 //#define DISABLE_MAX_ENDSTOPS
334
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
339
 // this has no effect.
340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
340
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
341
 
341
 
411
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
419
 #endif  // MANUAL_BED_LEVELING
420
 
420
 
421
 #if ENABLED(MESH_BED_LEVELING)
421
 #if ENABLED(MESH_BED_LEVELING)
423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
423
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
424
   #define MESH_MIN_Y 10
424
   #define MESH_MIN_Y 10
425
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
429
 #endif  // MESH_BED_LEVELING
430
 
430
 
431
 //===========================================================================
431
 //===========================================================================
434
 
434
 
435
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
444
   // - "grid" mode
445
   //   Probe several points in a rectangular grid.
445
   //   Probe several points in a rectangular grid.
450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
450
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
451
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
455
   #define AUTO_BED_LEVELING_GRID
456
 
456
 
457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
457
   #if ENABLED(AUTO_BED_LEVELING_GRID)
461
     #define FRONT_PROBE_BED_POSITION 20
461
     #define FRONT_PROBE_BED_POSITION 20
462
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
468
     #define AUTO_BED_LEVELING_GRID_POINTS 2
469
 
469
 
470
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
474
       #define ABL_PROBE_PT_1_X 15
475
       #define ABL_PROBE_PT_1_Y 180
475
       #define ABL_PROBE_PT_1_Y 180
476
       #define ABL_PROBE_PT_2_X 15
476
       #define ABL_PROBE_PT_2_X 15
480
 
480
 
481
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
550
   //#define Z_MIN_PROBE_ENDSTOP
534
 
551
 
535
 #endif // ENABLE_AUTO_BED_LEVELING
552
 #endif // ENABLE_AUTO_BED_LEVELING
605
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
622
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
606
 #endif
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
 // @section temperature
630
 // @section temperature
609
 
631
 
610
 // Preheat Constants
632
 // Preheat Constants
772
 // Servo Endstops
794
 // Servo Endstops
773
 //
795
 //
774
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
799
 //#define X_ENDSTOP_SERVO_NR 1
778
 //#define Y_ENDSTOP_SERVO_NR 2
800
 //#define Y_ENDSTOP_SERVO_NR 2

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

341
 //#define DISABLE_MAX_ENDSTOPS
341
 //#define DISABLE_MAX_ENDSTOPS
342
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
347
 // this has no effect.
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
348
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
349
 
349
 
419
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
427
 #endif  // MANUAL_BED_LEVELING
428
 
428
 
429
 #if ENABLED(MESH_BED_LEVELING)
429
 #if ENABLED(MESH_BED_LEVELING)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
431
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
432
   #define MESH_MIN_Y 10
432
   #define MESH_MIN_Y 10
433
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
437
 #endif  // MESH_BED_LEVELING
438
 
438
 
439
 //===========================================================================
439
 //===========================================================================
442
 
442
 
443
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
452
   // - "grid" mode
453
   //   Probe several points in a rectangular grid.
453
   //   Probe several points in a rectangular grid.
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
458
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
459
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
463
   #define AUTO_BED_LEVELING_GRID
464
 
464
 
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
465
   #if ENABLED(AUTO_BED_LEVELING_GRID)
469
     #define FRONT_PROBE_BED_POSITION 20
469
     #define FRONT_PROBE_BED_POSITION 20
470
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
476
     #define AUTO_BED_LEVELING_GRID_POINTS 2
477
 
477
 
478
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
482
       #define ABL_PROBE_PT_1_X 15
483
       #define ABL_PROBE_PT_1_Y 180
483
       #define ABL_PROBE_PT_1_Y 180
484
       #define ABL_PROBE_PT_2_X 15
484
       #define ABL_PROBE_PT_2_X 15
488
 
488
 
489
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
558
   //#define Z_MIN_PROBE_ENDSTOP
542
 
559
 
543
 #endif // ENABLE_AUTO_BED_LEVELING
560
 #endif // ENABLE_AUTO_BED_LEVELING
613
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
630
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
614
 #endif
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
 // @section temperature
638
 // @section temperature
617
 
639
 
618
 // Preheat Constants
640
 // Preheat Constants
780
 // Servo Endstops
802
 // Servo Endstops
781
 //
803
 //
782
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
807
 //#define X_ENDSTOP_SERVO_NR 1
786
 //#define Y_ENDSTOP_SERVO_NR 2
808
 //#define Y_ENDSTOP_SERVO_NR 2

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

374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
376
 //#define DISABLE_MAX_ENDSTOPS
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
 // this has no effect.
382
 // this has no effect.
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384
 
384
 
454
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
462
 #endif  // MANUAL_BED_LEVELING
463
 
463
 
464
 #if ENABLED(MESH_BED_LEVELING)
464
 #if ENABLED(MESH_BED_LEVELING)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467
   #define MESH_MIN_Y 10
467
   #define MESH_MIN_Y 10
468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
472
 #endif  // MESH_BED_LEVELING
473
 
473
 
474
 //===========================================================================
474
 //===========================================================================
477
 
477
 
478
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
487
   // - "grid" mode
488
   //   Probe several points in a rectangular grid.
488
   //   Probe several points in a rectangular grid.
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494
   //   You specify the XY coordinates of all 3 points.
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
   #if ENABLED(AUTO_BED_LEVELING_GRID)
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
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
503
     #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
504
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
504
     #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
505
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
505
     #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
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
     // Non-linear bed leveling will be used.
511
     // Non-linear bed leveling will be used.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
516
 
516
 
517
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
521
       #define ABL_PROBE_PT_1_X 15
522
       #define ABL_PROBE_PT_1_Y 180
522
       #define ABL_PROBE_PT_1_Y 180
523
       #define ABL_PROBE_PT_2_X 15
523
       #define ABL_PROBE_PT_2_X 15
527
 
527
 
528
   #endif // AUTO_BED_LEVELING_GRID
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
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
553
   //#define Z_PROBE_ALLEN_KEY
553
   //#define Z_PROBE_ALLEN_KEY
554
 
554
 
629
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
629
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
630
   #endif
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
678
   //#define Z_MIN_PROBE_ENDSTOP
662
 
679
 
663
 #endif // ENABLE_AUTO_BED_LEVELING
680
 #endif // ENABLE_AUTO_BED_LEVELING
733
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
750
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
734
 #endif
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
 // @section temperature
758
 // @section temperature
737
 
759
 
738
 // Preheat Constants
760
 // Preheat Constants
903
 // Servo Endstops
925
 // Servo Endstops
904
 //
926
 //
905
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
930
 //#define X_ENDSTOP_SERVO_NR 1
909
 //#define Y_ENDSTOP_SERVO_NR 2
931
 //#define Y_ENDSTOP_SERVO_NR 2

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

374
 const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
374
 const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
376
 //#define DISABLE_MAX_ENDSTOPS
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
 // this has no effect.
382
 // this has no effect.
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384
 
384
 
454
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
462
 #endif  // MANUAL_BED_LEVELING
463
 
463
 
464
 #if ENABLED(MESH_BED_LEVELING)
464
 #if ENABLED(MESH_BED_LEVELING)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467
   #define MESH_MIN_Y 10
467
   #define MESH_MIN_Y 10
468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
472
 #endif  // MESH_BED_LEVELING
473
 
473
 
474
 //===========================================================================
474
 //===========================================================================
477
 
477
 
478
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
487
   // - "grid" mode
488
   //   Probe several points in a rectangular grid.
488
   //   Probe several points in a rectangular grid.
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494
   //   You specify the XY coordinates of all 3 points.
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
   #if ENABLED(AUTO_BED_LEVELING_GRID)
500
   #if ENABLED(AUTO_BED_LEVELING_GRID)
501
 
501
 
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
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
     // Non-linear bed leveling will be used.
511
     // Non-linear bed leveling will be used.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
516
 
516
 
517
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
521
       #define ABL_PROBE_PT_1_X 15
522
       #define ABL_PROBE_PT_1_Y 180
522
       #define ABL_PROBE_PT_1_Y 180
523
       #define ABL_PROBE_PT_2_X 15
523
       #define ABL_PROBE_PT_2_X 15
527
 
527
 
528
   #endif // AUTO_BED_LEVELING_GRID
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
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
629
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
629
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
630
   #endif
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
678
   //#define Z_MIN_PROBE_ENDSTOP
662
 
679
 
663
 #endif // ENABLE_AUTO_BED_LEVELING
680
 #endif // ENABLE_AUTO_BED_LEVELING
733
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
750
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
734
 #endif
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
 // @section temperature
758
 // @section temperature
737
 
759
 
738
 // Preheat Constants
760
 // Preheat Constants
907
 // Servo Endstops
929
 // Servo Endstops
908
 //
930
 //
909
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
934
 //#define X_ENDSTOP_SERVO_NR 1
913
 //#define Y_ENDSTOP_SERVO_NR 2
935
 //#define Y_ENDSTOP_SERVO_NR 2

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

374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
374
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
375
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
376
 //#define DISABLE_MAX_ENDSTOPS
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
 // this has no effect.
382
 // this has no effect.
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
383
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
384
 
384
 
454
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
462
 #endif  // MANUAL_BED_LEVELING
463
 
463
 
464
 #if ENABLED(MESH_BED_LEVELING)
464
 #if ENABLED(MESH_BED_LEVELING)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
466
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
467
   #define MESH_MIN_Y 10
467
   #define MESH_MIN_Y 10
468
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
472
 #endif  // MESH_BED_LEVELING
473
 
473
 
474
 //===========================================================================
474
 //===========================================================================
477
 
477
 
478
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
487
   // - "grid" mode
488
   //   Probe several points in a rectangular grid.
488
   //   Probe several points in a rectangular grid.
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
493
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
494
   //   You specify the XY coordinates of all 3 points.
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
   #if ENABLED(AUTO_BED_LEVELING_GRID)
500
   #if ENABLED(AUTO_BED_LEVELING_GRID)
501
 
501
 
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
506
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
507
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
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
     // Non-linear bed leveling will be used.
511
     // Non-linear bed leveling will be used.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
512
     // Compensate by interpolating between the nearest four Z probe values for each point.
516
 
516
 
517
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
521
       #define ABL_PROBE_PT_1_X 15
522
       #define ABL_PROBE_PT_1_Y 180
522
       #define ABL_PROBE_PT_1_Y 180
523
       #define ABL_PROBE_PT_2_X 15
523
       #define ABL_PROBE_PT_2_X 15
527
 
527
 
528
   #endif // AUTO_BED_LEVELING_GRID
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
   // 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
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
552
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
633
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
633
     //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
634
   #endif
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
682
   //#define Z_MIN_PROBE_ENDSTOP
666
 
683
 
667
 #endif // ENABLE_AUTO_BED_LEVELING
684
 #endif // ENABLE_AUTO_BED_LEVELING
737
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
754
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
738
 #endif
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
 // @section temperature
762
 // @section temperature
741
 
763
 
742
 // Preheat Constants
764
 // Preheat Constants
907
 // Servo Endstops
929
 // Servo Endstops
908
 //
930
 //
909
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
934
 //#define X_ENDSTOP_SERVO_NR 1
913
 //#define Y_ENDSTOP_SERVO_NR 2
935
 //#define Y_ENDSTOP_SERVO_NR 2

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

361
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
361
 const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
362
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
362
 const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
363
 //#define DISABLE_MAX_ENDSTOPS
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
 // this has no effect.
369
 // this has no effect.
370
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
370
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
371
 
371
 
441
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
449
 #endif  // MANUAL_BED_LEVELING
450
 
450
 
451
 #if ENABLED(MESH_BED_LEVELING)
451
 #if ENABLED(MESH_BED_LEVELING)
453
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
453
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
454
   #define MESH_MIN_Y 10
454
   #define MESH_MIN_Y 10
455
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
459
 #endif  // MESH_BED_LEVELING
460
 
460
 
461
 //===========================================================================
461
 //===========================================================================
464
 
464
 
465
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
474
   // - "grid" mode
475
   //   Probe several points in a rectangular grid.
475
   //   Probe several points in a rectangular grid.
480
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
480
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
481
   //   You specify the XY coordinates of all 3 points.
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
   #if ENABLED(AUTO_BED_LEVELING_GRID)
487
   #if ENABLED(AUTO_BED_LEVELING_GRID)
488
 
488
 
493
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
493
     #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS
494
     #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
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
     // Non-linear bed leveling will be used.
498
     // Non-linear bed leveling will be used.
499
     // Compensate by interpolating between the nearest four Z probe values for each point.
499
     // Compensate by interpolating between the nearest four Z probe values for each point.
503
 
503
 
504
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
508
       #define ABL_PROBE_PT_1_X 15
509
       #define ABL_PROBE_PT_1_Y 180
509
       #define ABL_PROBE_PT_1_Y 180
510
       #define ABL_PROBE_PT_2_X 15
510
       #define ABL_PROBE_PT_2_X 15
514
 
514
 
515
   #endif // AUTO_BED_LEVELING_GRID
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
   #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
519
   #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
520
   #define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // KosselPro actual: -6.304
520
   #define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // KosselPro actual: -6.304
521
   // Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
521
   // Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
522
   // not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
522
   // not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
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).
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
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
540
   // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
541
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
541
   // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
618
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
618
     #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z
619
   #endif
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
667
   //#define Z_MIN_PROBE_ENDSTOP
651
 
668
 
652
 #endif // ENABLE_AUTO_BED_LEVELING
669
 #endif // ENABLE_AUTO_BED_LEVELING
732
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
749
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
733
 #endif
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
 // @section temperature
757
 // @section temperature
736
 
758
 
737
 // Preheat Constants
759
 // Preheat Constants
902
 // Servo Endstops
924
 // Servo Endstops
903
 //
925
 //
904
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
929
 //#define X_ENDSTOP_SERVO_NR 1
908
 //#define Y_ENDSTOP_SERVO_NR 2
930
 //#define Y_ENDSTOP_SERVO_NR 2

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

344
 //#define DISABLE_MAX_ENDSTOPS
344
 //#define DISABLE_MAX_ENDSTOPS
345
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
350
 // this has no effect.
351
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
351
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
352
 
352
 
422
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
430
 #endif  // MANUAL_BED_LEVELING
431
 
431
 
432
 #if ENABLED(MESH_BED_LEVELING)
432
 #if ENABLED(MESH_BED_LEVELING)
434
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
434
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
435
   #define MESH_MIN_Y 10
435
   #define MESH_MIN_Y 10
436
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
440
 #endif  // MESH_BED_LEVELING
441
 
441
 
442
 //===========================================================================
442
 //===========================================================================
445
 
445
 
446
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
455
   // - "grid" mode
456
   //   Probe several points in a rectangular grid.
456
   //   Probe several points in a rectangular grid.
461
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
461
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
462
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
466
   #define AUTO_BED_LEVELING_GRID
467
 
467
 
468
   #if ENABLED(AUTO_BED_LEVELING_GRID)
468
   #if ENABLED(AUTO_BED_LEVELING_GRID)
472
     #define FRONT_PROBE_BED_POSITION 20
472
     #define FRONT_PROBE_BED_POSITION 20
473
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
479
     #define AUTO_BED_LEVELING_GRID_POINTS 2
480
 
480
 
481
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
485
       #define ABL_PROBE_PT_1_X 15
486
       #define ABL_PROBE_PT_1_Y 180
486
       #define ABL_PROBE_PT_1_Y 180
487
       #define ABL_PROBE_PT_2_X 15
487
       #define ABL_PROBE_PT_2_X 15
491
 
491
 
492
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
561
   //#define Z_MIN_PROBE_ENDSTOP
545
 
562
 
546
 #endif // ENABLE_AUTO_BED_LEVELING
563
 #endif // ENABLE_AUTO_BED_LEVELING
616
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
633
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
617
 #endif
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
 // @section temperature
641
 // @section temperature
620
 
642
 
621
 // Preheat Constants
643
 // Preheat Constants
783
 // Servo Endstops
805
 // Servo Endstops
784
 //
806
 //
785
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
810
 //#define X_ENDSTOP_SERVO_NR 1
789
 //#define Y_ENDSTOP_SERVO_NR 2
811
 //#define Y_ENDSTOP_SERVO_NR 2

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

331
 //#define DISABLE_MAX_ENDSTOPS
331
 //#define DISABLE_MAX_ENDSTOPS
332
 //#define DISABLE_MIN_ENDSTOPS
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
 // this has no effect.
337
 // this has no effect.
338
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
338
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
339
 
339
 
409
 //=========================== Manual Bed Leveling ===========================
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
 #if ENABLED(MANUAL_BED_LEVELING)
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
 #endif  // MANUAL_BED_LEVELING
417
 #endif  // MANUAL_BED_LEVELING
418
 
418
 
419
 #if ENABLED(MESH_BED_LEVELING)
419
 #if ENABLED(MESH_BED_LEVELING)
421
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
421
   #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
422
   #define MESH_MIN_Y 10
422
   #define MESH_MIN_Y 10
423
   #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
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
   #define MESH_NUM_Y_POINTS 3
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
 #endif  // MESH_BED_LEVELING
427
 #endif  // MESH_BED_LEVELING
428
 
428
 
429
 //===========================================================================
429
 //===========================================================================
432
 
432
 
433
 // @section bedlevel
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
 #if ENABLED(ENABLE_AUTO_BED_LEVELING)
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
   // - "grid" mode
442
   // - "grid" mode
443
   //   Probe several points in a rectangular grid.
443
   //   Probe several points in a rectangular grid.
448
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
448
   //   Probe 3 arbitrary points on the bed (that aren't colinear)
449
   //   You specify the XY coordinates of all 3 points.
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
   #define AUTO_BED_LEVELING_GRID
453
   #define AUTO_BED_LEVELING_GRID
454
 
454
 
455
   #if ENABLED(AUTO_BED_LEVELING_GRID)
455
   #if ENABLED(AUTO_BED_LEVELING_GRID)
459
     #define FRONT_PROBE_BED_POSITION 20
459
     #define FRONT_PROBE_BED_POSITION 20
460
     #define BACK_PROBE_BED_POSITION 170
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
     #define AUTO_BED_LEVELING_GRID_POINTS 2
466
     #define AUTO_BED_LEVELING_GRID_POINTS 2
467
 
467
 
468
   #else  // !AUTO_BED_LEVELING_GRID
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
       #define ABL_PROBE_PT_1_X 15
472
       #define ABL_PROBE_PT_1_X 15
473
       #define ABL_PROBE_PT_1_Y 180
473
       #define ABL_PROBE_PT_1_Y 180
474
       #define ABL_PROBE_PT_2_X 15
474
       #define ABL_PROBE_PT_2_X 15
478
 
478
 
479
   #endif // AUTO_BED_LEVELING_GRID
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
                           // When defined, it will:
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
   #if ENABLED(Z_SAFE_HOMING)
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
   #endif
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
   //#define Z_MIN_PROBE_ENDSTOP
548
   //#define Z_MIN_PROBE_ENDSTOP
532
 
549
 
533
 #endif // ENABLE_AUTO_BED_LEVELING
550
 #endif // ENABLE_AUTO_BED_LEVELING
607
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
624
   #define EEPROM_CHITCHAT // Please keep turned on if you can.
608
 #endif
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
 // @section temperature
632
 // @section temperature
611
 
633
 
612
 // Preheat Constants
634
 // Preheat Constants
774
 // Servo Endstops
796
 // Servo Endstops
775
 //
797
 //
776
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
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
 //#define X_ENDSTOP_SERVO_NR 1
801
 //#define X_ENDSTOP_SERVO_NR 1
780
 //#define Y_ENDSTOP_SERVO_NR 2
802
 //#define Y_ENDSTOP_SERVO_NR 2

+ 1
- 1
Marlin/pins_BRAINWAVE_PRO.h View File

31
 #define Z_DIR_PIN          28
31
 #define Z_DIR_PIN          28
32
 #define Z_ENABLE_PIN       37
32
 #define Z_ENABLE_PIN       37
33
 #define Z_MAX_PIN          36
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
 #define E0_STEP_PIN        35
36
 #define E0_STEP_PIN        35
37
 #define E0_DIR_PIN         34
37
 #define E0_DIR_PIN         34

Loading…
Cancel
Save