Browse Source

Z Safe Homing for all

The `Z_SAFE_HOMING` feature is coupled with probes and not leveling, so
make it available for general use.
Scott Lahteine 8 years ago
parent
commit
0c2aa92b07

+ 17
- 16
Marlin/Configuration.h View File

@@ -637,22 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
637 637
   //#define MECHANICAL_PROBE
638 638
 
639 639
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
640
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
641
-
642
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
643
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
644
-                          // When defined, it will:
645
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
646
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
647
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
648
-                          // - Block Z homing only when the Z probe is outside bed area.
649
-
650
-  #if ENABLED(Z_SAFE_HOMING)
651
-
652
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
653
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
654
-
655
-  #endif
640
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
656 641
 
657 642
 #endif // AUTO_BED_LEVELING_FEATURE
658 643
 
@@ -672,6 +657,22 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
672 657
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
673 658
 #endif
674 659
 
660
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
661
+//
662
+// With this feature enabled:
663
+//
664
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
665
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
666
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
667
+// - Prevent Z homing when the Z probe is outside bed area.
668
+//#define Z_SAFE_HOMING
669
+
670
+#if ENABLED(Z_SAFE_HOMING)
671
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
672
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
673
+#endif
674
+
675
+
675 676
 // @section movement
676 677
 
677 678
 /**

+ 16
- 16
Marlin/example_configurations/Felix/Configuration.h View File

@@ -619,22 +619,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
619 619
   //#define MECHANICAL_PROBE
620 620
 
621 621
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
622
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
623
-
624
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
625
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
626
-                          // When defined, it will:
627
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
628
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
629
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
630
-                          // - Block Z homing only when the Z probe is outside bed area.
631
-
632
-  #if ENABLED(Z_SAFE_HOMING)
633
-
634
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
635
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
636
-
637
-  #endif
622
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
638 623
 
639 624
 #endif // AUTO_BED_LEVELING_FEATURE
640 625
 
@@ -654,6 +639,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
654 639
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
655 640
 #endif
656 641
 
642
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
643
+//
644
+// With this feature enabled:
645
+//
646
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
647
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
648
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
649
+// - Prevent Z homing when the Z probe is outside bed area.
650
+//#define Z_SAFE_HOMING
651
+
652
+#if ENABLED(Z_SAFE_HOMING)
653
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
654
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
655
+#endif
656
+
657 657
 // @section movement
658 658
 
659 659
 /**

+ 16
- 16
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

@@ -616,22 +616,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
616 616
   //#define MECHANICAL_PROBE
617 617
 
618 618
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
619
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
620
-
621
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
622
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
623
-                          // When defined, it will:
624
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
625
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
626
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
627
-                          // - Block Z homing only when the Z probe is outside bed area.
628
-
629
-  #if ENABLED(Z_SAFE_HOMING)
630
-
631
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
632
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
633
-
634
-  #endif
619
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
635 620
 
636 621
 #endif // AUTO_BED_LEVELING_FEATURE
637 622
 
@@ -651,6 +636,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
651 636
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
652 637
 #endif
653 638
 
639
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
640
+//
641
+// With this feature enabled:
642
+//
643
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
644
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
645
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
646
+// - Prevent Z homing when the Z probe is outside bed area.
647
+//#define Z_SAFE_HOMING
648
+
649
+#if ENABLED(Z_SAFE_HOMING)
650
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
651
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
652
+#endif
653
+
654 654
 // @section movement
655 655
 
656 656
 /**

+ 16
- 16
Marlin/example_configurations/Hephestos/Configuration.h View File

@@ -629,22 +629,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
629 629
   //#define MECHANICAL_PROBE
630 630
 
631 631
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
632
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
633
-
634
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
635
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
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 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
-
642
-  #if ENABLED(Z_SAFE_HOMING)
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).
646
-
647
-  #endif
632
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
648 633
 
649 634
 #endif // AUTO_BED_LEVELING_FEATURE
650 635
 
@@ -664,6 +649,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
664 649
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
665 650
 #endif
666 651
 
652
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
653
+//
654
+// With this feature enabled:
655
+//
656
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
657
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
658
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
659
+// - Prevent Z homing when the Z probe is outside bed area.
660
+//#define Z_SAFE_HOMING
661
+
662
+#if ENABLED(Z_SAFE_HOMING)
663
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
664
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
665
+#endif
666
+
667 667
 // @section movement
668 668
 
669 669
 /**

+ 16
- 16
Marlin/example_configurations/Hephestos_2/Configuration.h View File

@@ -631,22 +631,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
631 631
   //#define MECHANICAL_PROBE
632 632
 
633 633
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
634
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
635
-
636
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
637
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
638
-                          // When defined, it will:
639
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
640
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
641
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
642
-                          // - Block Z homing only when the Z probe is outside bed area.
643
-
644
-  #if ENABLED(Z_SAFE_HOMING)
645
-
646
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
647
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
648
-
649
-  #endif
634
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
650 635
 
651 636
 #endif // AUTO_BED_LEVELING_FEATURE
652 637
 
@@ -666,6 +651,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
666 651
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
667 652
 #endif
668 653
 
654
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
655
+//
656
+// With this feature enabled:
657
+//
658
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
659
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
660
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
661
+// - Prevent Z homing when the Z probe is outside bed area.
662
+#define Z_SAFE_HOMING
663
+
664
+#if ENABLED(Z_SAFE_HOMING)
665
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
666
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
667
+#endif
668
+
669 669
 // @section movement
670 670
 
671 671
 /**

+ 16
- 16
Marlin/example_configurations/K8200/Configuration.h View File

@@ -654,22 +654,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
654 654
   //#define MECHANICAL_PROBE
655 655
 
656 656
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
657
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
658
-
659
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
660
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
661
-                          // When defined, it will:
662
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
663
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
664
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
665
-                          // - Block Z homing only when the Z probe is outside bed area.
666
-
667
-  #if ENABLED(Z_SAFE_HOMING)
668
-
669
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
670
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
671
-
672
-  #endif
657
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
673 658
 
674 659
 #endif // AUTO_BED_LEVELING_FEATURE
675 660
 
@@ -689,6 +674,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
689 674
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
690 675
 #endif
691 676
 
677
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
678
+//
679
+// With this feature enabled:
680
+//
681
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
682
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
683
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
684
+// - Prevent Z homing when the Z probe is outside bed area.
685
+//#define Z_SAFE_HOMING
686
+
687
+#if ENABLED(Z_SAFE_HOMING)
688
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
689
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
690
+#endif
691
+
692 692
 // @section movement
693 693
 
694 694
 /**

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

@@ -637,22 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
637 637
   //#define MECHANICAL_PROBE
638 638
 
639 639
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
640
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
641
-
642
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
643
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
644
-                          // When defined, it will:
645
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
646
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
647
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
648
-                          // - Block Z homing only when the Z probe is outside bed area.
649
-
650
-  #if ENABLED(Z_SAFE_HOMING)
651
-
652
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
653
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
654
-
655
-  #endif
640
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
656 641
 
657 642
 #endif // AUTO_BED_LEVELING_FEATURE
658 643
 
@@ -672,6 +657,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
672 657
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
673 658
 #endif
674 659
 
660
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
661
+//
662
+// With this feature enabled:
663
+//
664
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
665
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
666
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
667
+// - Prevent Z homing when the Z probe is outside bed area.
668
+//#define Z_SAFE_HOMING
669
+
670
+#if ENABLED(Z_SAFE_HOMING)
671
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
672
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
673
+#endif
674
+
675 675
 // @section movement
676 676
 
677 677
 /**

+ 16
- 16
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -631,22 +631,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
631 631
   //#define MECHANICAL_PROBE
632 632
 
633 633
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
634
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
635
-
636
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
637
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
638
-                          // When defined, it will:
639
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
640
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
641
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
642
-                          // - Block Z homing only when the Z probe is outside bed area.
643
-
644
-  #if ENABLED(Z_SAFE_HOMING)
645
-
646
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
647
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
648
-
649
-  #endif
634
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
650 635
 
651 636
 #endif // AUTO_BED_LEVELING_FEATURE
652 637
 
@@ -666,6 +651,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
666 651
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
667 652
 #endif
668 653
 
654
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
655
+//
656
+// With this feature enabled:
657
+//
658
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
659
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
660
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
661
+// - Prevent Z homing when the Z probe is outside bed area.
662
+//#define Z_SAFE_HOMING
663
+
664
+#if ENABLED(Z_SAFE_HOMING)
665
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
666
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
667
+#endif
668
+
669 669
 // @section movement
670 670
 
671 671
 /**

+ 16
- 16
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -645,22 +645,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
645 645
   //#define MECHANICAL_PROBE
646 646
 
647 647
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
648
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
649
-
650
-  //#define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
651
-                            // This feature is meant to avoid Z homing with Z probe outside the bed area.
652
-                            // When defined, it will:
653
-                            // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
654
-                            // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
655
-                            // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
656
-                            // - Block Z homing only when the Z probe is outside bed area.
657
-
658
-  #if ENABLED(Z_SAFE_HOMING)
659
-
660
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
661
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
662
-
663
-  #endif
648
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
664 649
 
665 650
 #endif // AUTO_BED_LEVELING_FEATURE
666 651
 
@@ -680,6 +665,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
680 665
   #define MANUAL_Z_HOME_POS 0.1  // Distance between nozzle and print surface after homing.
681 666
 #endif
682 667
 
668
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
669
+//
670
+// With this feature enabled:
671
+//
672
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
673
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
674
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
675
+// - Prevent Z homing when the Z probe is outside bed area.
676
+//#define Z_SAFE_HOMING
677
+
678
+#if ENABLED(Z_SAFE_HOMING)
679
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
680
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
681
+#endif
682
+
683 683
 // @section movement
684 684
 
685 685
 /**

+ 16
- 16
Marlin/example_configurations/TAZ4/Configuration.h View File

@@ -658,22 +658,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
658 658
   //#define MECHANICAL_PROBE
659 659
 
660 660
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
661
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
662
-
663
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
664
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
665
-                          // When defined, it will:
666
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
667
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
668
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
669
-                          // - Block Z homing only when the Z probe is outside bed area.
670
-
671
-  #if ENABLED(Z_SAFE_HOMING)
672
-
673
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
674
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
675
-
676
-  #endif
661
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
677 662
 
678 663
 #endif // AUTO_BED_LEVELING_FEATURE
679 664
 
@@ -693,6 +678,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
693 678
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
694 679
 #endif
695 680
 
681
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
682
+//
683
+// With this feature enabled:
684
+//
685
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
686
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
687
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
688
+// - Prevent Z homing when the Z probe is outside bed area.
689
+//#define Z_SAFE_HOMING
690
+
691
+#if ENABLED(Z_SAFE_HOMING)
692
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
693
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
694
+#endif
695
+
696 696
 // @section movement
697 697
 
698 698
 /**

+ 16
- 16
Marlin/example_configurations/WITBOX/Configuration.h View File

@@ -629,22 +629,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
629 629
   //#define MECHANICAL_PROBE
630 630
 
631 631
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
632
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
633
-
634
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
635
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
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 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
-
642
-  #if ENABLED(Z_SAFE_HOMING)
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).
646
-
647
-  #endif
632
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
648 633
 
649 634
 #endif // AUTO_BED_LEVELING_FEATURE
650 635
 
@@ -664,6 +649,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
664 649
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
665 650
 #endif
666 651
 
652
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
653
+//
654
+// With this feature enabled:
655
+//
656
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
657
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
658
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
659
+// - Prevent Z homing when the Z probe is outside bed area.
660
+//#define Z_SAFE_HOMING
661
+
662
+#if ENABLED(Z_SAFE_HOMING)
663
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
664
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
665
+#endif
666
+
667 667
 // @section movement
668 668
 
669 669
 /**

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

@@ -637,22 +637,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
637 637
   //#define MECHANICAL_PROBE
638 638
 
639 639
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
640
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
641
-
642
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
643
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
644
-                          // When defined, it will:
645
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
646
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
647
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
648
-                          // - Block Z homing only when the Z probe is outside bed area.
649
-
650
-  #if ENABLED(Z_SAFE_HOMING)
651
-
652
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
653
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
654
-
655
-  #endif
640
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
656 641
 
657 642
 #endif // AUTO_BED_LEVELING_FEATURE
658 643
 
@@ -672,6 +657,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
672 657
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
673 658
 #endif
674 659
 
660
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
661
+//
662
+// With this feature enabled:
663
+//
664
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
665
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
666
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
667
+// - Prevent Z homing when the Z probe is outside bed area.
668
+//#define Z_SAFE_HOMING
669
+
670
+#if ENABLED(Z_SAFE_HOMING)
671
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
672
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
673
+#endif
674
+
675 675
 // @section movement
676 676
 
677 677
 /**

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

@@ -764,22 +764,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
764 764
   #endif
765 765
 
766 766
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
767
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
768
-
769
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
770
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
771
-                          // When defined, it will:
772
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
773
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
774
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
775
-                          // - Block Z homing only when the Z probe is outside bed area.
776
-
777
-  #if ENABLED(Z_SAFE_HOMING)
778
-
779
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
780
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
781
-
782
-  #endif
767
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
783 768
 
784 769
 #endif // AUTO_BED_LEVELING_FEATURE
785 770
 
@@ -798,6 +783,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
798 783
   #define MANUAL_Z_HOME_POS 405 // For delta: Distance between nozzle and print surface after homing.
799 784
 #endif
800 785
 
786
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
787
+//
788
+// With this feature enabled:
789
+//
790
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
791
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
792
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
793
+// - Prevent Z homing when the Z probe is outside bed area.
794
+//#define Z_SAFE_HOMING
795
+
796
+#if ENABLED(Z_SAFE_HOMING)
797
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
798
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
799
+#endif
800
+
801 801
 // @section movement
802 802
 
803 803
 /**

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

@@ -764,22 +764,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
764 764
   #endif
765 765
 
766 766
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
767
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
768
-
769
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
770
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
771
-                          // When defined, it will:
772
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
773
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
774
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
775
-                          // - Block Z homing only when the Z probe is outside bed area.
776
-
777
-  #if ENABLED(Z_SAFE_HOMING)
778
-
779
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
780
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
781
-
782
-  #endif
767
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
783 768
 
784 769
 #endif // AUTO_BED_LEVELING_FEATURE
785 770
 
@@ -798,6 +783,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
798 783
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
799 784
 #endif
800 785
 
786
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
787
+//
788
+// With this feature enabled:
789
+//
790
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
791
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
792
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
793
+// - Prevent Z homing when the Z probe is outside bed area.
794
+//#define Z_SAFE_HOMING
795
+
796
+#if ENABLED(Z_SAFE_HOMING)
797
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
798
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
799
+#endif
800
+
801 801
 // @section movement
802 802
 
803 803
 /**

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

@@ -768,22 +768,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
768 768
   #endif
769 769
 
770 770
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
771
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
772
-
773
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
774
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
775
-                          // When defined, it will:
776
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
777
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
778
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
779
-                          // - Block Z homing only when the Z probe is outside bed area.
780
-
781
-  #if ENABLED(Z_SAFE_HOMING)
782
-
783
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
784
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
785
-
786
-  #endif
771
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
787 772
 
788 773
 #endif // AUTO_BED_LEVELING_FEATURE
789 774
 
@@ -802,6 +787,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
802 787
   #define MANUAL_Z_HOME_POS 250 // For delta: Distance between nozzle and print surface after homing.
803 788
 #endif
804 789
 
790
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
791
+//
792
+// With this feature enabled:
793
+//
794
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
795
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
796
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
797
+// - Prevent Z homing when the Z probe is outside bed area.
798
+//#define Z_SAFE_HOMING
799
+
800
+#if ENABLED(Z_SAFE_HOMING)
801
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
802
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
803
+#endif
804
+
805 805
 // @section movement
806 806
 
807 807
 /**

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

@@ -755,22 +755,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
755 755
   #endif
756 756
 
757 757
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
758
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
759
-
760
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
761
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
762
-                          // When defined, it will:
763
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
764
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
765
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
766
-                          // - Block Z homing only when the Z probe is outside bed area.
767
-
768
-  #if ENABLED(Z_SAFE_HOMING)
769
-
770
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
771
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
772
-
773
-  #endif
758
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
774 759
 
775 760
 #endif // AUTO_BED_LEVELING_FEATURE
776 761
 
@@ -789,6 +774,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
789 774
   #define MANUAL_Z_HOME_POS 277 // For delta: Distance between nozzle and print surface after homing.
790 775
 #endif
791 776
 
777
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
778
+//
779
+// With this feature enabled:
780
+//
781
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
782
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
783
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
784
+// - Prevent Z homing when the Z probe is outside bed area.
785
+#define Z_SAFE_HOMING
786
+
787
+#if ENABLED(Z_SAFE_HOMING)
788
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
789
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
790
+#endif
791
+
792 792
 // @section movement
793 793
 
794 794
 /**

+ 16
- 16
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

@@ -762,22 +762,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
762 762
   #endif
763 763
 
764 764
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
765
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
766
-
767
-  // #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
768
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
769
-                          // When defined, it will:
770
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
771
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
772
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
773
-                          // - Block Z homing only when the Z probe is outside bed area.
774
-
775
-  #if ENABLED(Z_SAFE_HOMING)
776
-
777
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
778
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
779
-
780
-  #endif
765
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
781 766
 
782 767
 #endif // AUTO_BED_LEVELING_FEATURE
783 768
 
@@ -796,6 +781,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
796 781
   #define MANUAL_Z_HOME_POS 381.4 // For delta: Distance between nozzle and print surface after homing.
797 782
 #endif
798 783
 
784
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
785
+//
786
+// With this feature enabled:
787
+//
788
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
789
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
790
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
791
+// - Prevent Z homing when the Z probe is outside bed area.
792
+//#define Z_SAFE_HOMING
793
+
794
+#if ENABLED(Z_SAFE_HOMING)
795
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
796
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
797
+#endif
798
+
799 799
 // @section movement
800 800
 
801 801
 /**

+ 16
- 16
Marlin/example_configurations/makibox/Configuration.h View File

@@ -640,22 +640,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
640 640
   //#define MECHANICAL_PROBE
641 641
 
642 642
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
643
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
644
-
645
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
646
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
647
-                          // When defined, it will:
648
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
649
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
650
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
651
-                          // - Block Z homing only when the Z probe is outside bed area.
652
-
653
-  #if ENABLED(Z_SAFE_HOMING)
654
-
655
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
656
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
657
-
658
-  #endif
643
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
659 644
 
660 645
 #endif // AUTO_BED_LEVELING_FEATURE
661 646
 
@@ -675,6 +660,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
675 660
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
676 661
 #endif
677 662
 
663
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
664
+//
665
+// With this feature enabled:
666
+//
667
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
668
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
669
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
670
+// - Prevent Z homing when the Z probe is outside bed area.
671
+//#define Z_SAFE_HOMING
672
+
673
+#if ENABLED(Z_SAFE_HOMING)
674
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
675
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
676
+#endif
677
+
678 678
 // @section movement
679 679
 
680 680
 /**

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

@@ -627,22 +627,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
627 627
   //#define MECHANICAL_PROBE
628 628
 
629 629
   // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
630
-  // it is highly recommended you leave Z_SAFE_HOMING enabled!
631
-
632
-  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
633
-                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
634
-                          // When defined, it will:
635
-                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
636
-                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
637
-                          // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
638
-                          // - Block Z homing only when the Z probe is outside bed area.
639
-
640
-  #if ENABLED(Z_SAFE_HOMING)
641
-
642
-    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
643
-    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
644
-
645
-  #endif
630
+  // it is highly recommended you also enable Z_SAFE_HOMING below!
646 631
 
647 632
 #endif // AUTO_BED_LEVELING_FEATURE
648 633
 
@@ -662,6 +647,21 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
662 647
   //#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
663 648
 #endif
664 649
 
650
+// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
651
+//
652
+// With this feature enabled:
653
+//
654
+// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
655
+// - If stepper drivers time out, it will need X and Y homing again before Z homing.
656
+// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
657
+// - Prevent Z homing when the Z probe is outside bed area.
658
+//#define Z_SAFE_HOMING
659
+
660
+#if ENABLED(Z_SAFE_HOMING)
661
+  #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
662
+  #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
663
+#endif
664
+
665 665
 // @section movement
666 666
 
667 667
 /**

Loading…
Cancel
Save