Browse Source

Allow Z_SAFE_HOMING without a probe

Scott Lahteine 8 years ago
parent
commit
8953e3e984
25 changed files with 41 additions and 38 deletions
  1. 7
    9
      Marlin/Conditionals_post.h
  2. 1
    1
      Marlin/Configuration.h
  3. 2
    3
      Marlin/Marlin_main.cpp
  4. 10
    4
      Marlin/SanityCheck.cpp
  5. 1
    1
      Marlin/example_configurations/Cartesio/Configuration.h
  6. 1
    1
      Marlin/example_configurations/Felix/Configuration.h
  7. 1
    1
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  8. 1
    1
      Marlin/example_configurations/Hephestos/Configuration.h
  9. 1
    1
      Marlin/example_configurations/Hephestos_2/Configuration.h
  10. 1
    1
      Marlin/example_configurations/K8200/Configuration.h
  11. 1
    1
      Marlin/example_configurations/K8400/Configuration.h
  12. 1
    1
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  13. 1
    1
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  14. 1
    1
      Marlin/example_configurations/RigidBot/Configuration.h
  15. 1
    1
      Marlin/example_configurations/SCARA/Configuration.h
  16. 1
    1
      Marlin/example_configurations/TAZ4/Configuration.h
  17. 1
    1
      Marlin/example_configurations/WITBOX/Configuration.h
  18. 1
    1
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  19. 1
    1
      Marlin/example_configurations/delta/biv2.5/Configuration.h
  20. 1
    1
      Marlin/example_configurations/delta/generic/Configuration.h
  21. 1
    1
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  22. 1
    1
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  23. 1
    1
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  24. 1
    1
      Marlin/example_configurations/makibox/Configuration.h
  25. 1
    1
      Marlin/example_configurations/tvrrug/Round2/Configuration.h

+ 7
- 9
Marlin/Conditionals_post.h View File

@@ -566,15 +566,6 @@
566 566
    * Bed Probe dependencies
567 567
    */
568 568
   #if HAS_BED_PROBE
569
-    #ifndef X_PROBE_OFFSET_FROM_EXTRUDER
570
-      #define X_PROBE_OFFSET_FROM_EXTRUDER 0
571
-    #endif
572
-    #ifndef Y_PROBE_OFFSET_FROM_EXTRUDER
573
-      #define Y_PROBE_OFFSET_FROM_EXTRUDER 0
574
-    #endif
575
-    #ifndef Z_PROBE_OFFSET_FROM_EXTRUDER
576
-      #define Z_PROBE_OFFSET_FROM_EXTRUDER 0
577
-    #endif
578 569
     #ifndef Z_PROBE_OFFSET_RANGE_MIN
579 570
       #define Z_PROBE_OFFSET_RANGE_MIN -20
580 571
     #endif
@@ -593,6 +584,13 @@
593 584
     #else
594 585
       #define _Z_RAISE_PROBE_DEPLOY_STOW Z_RAISE_PROBE_DEPLOY_STOW
595 586
     #endif
587
+  #else
588
+    #undef X_PROBE_OFFSET_FROM_EXTRUDER
589
+    #undef Y_PROBE_OFFSET_FROM_EXTRUDER
590
+    #undef Z_PROBE_OFFSET_FROM_EXTRUDER
591
+    #define X_PROBE_OFFSET_FROM_EXTRUDER 0
592
+    #define Y_PROBE_OFFSET_FROM_EXTRUDER 0
593
+    #define Z_PROBE_OFFSET_FROM_EXTRUDER 0
596 594
   #endif
597 595
 
598 596
   /**

+ 1
- 1
Marlin/Configuration.h View File

@@ -735,7 +735,7 @@
735 735
 //
736 736
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
737 737
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
738
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
738
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
739 739
 // - Prevent Z homing when the Z probe is outside bed area.
740 740
 //#define Z_SAFE_HOMING
741 741
 

+ 2
- 3
Marlin/Marlin_main.cpp View File

@@ -3049,12 +3049,11 @@ inline void gcode_G28() {
3049 3049
             SYNC_PLAN_POSITION_KINEMATIC();
3050 3050
 
3051 3051
             /**
3052
-             * Set the Z probe (or just the nozzle) destination to the safe
3053
-             *  homing point
3052
+             * Move the Z probe (or just the nozzle) to the safe homing point
3054 3053
              */
3055 3054
             destination[X_AXIS] = round(Z_SAFE_HOMING_X_POINT - (X_PROBE_OFFSET_FROM_EXTRUDER));
3056 3055
             destination[Y_AXIS] = round(Z_SAFE_HOMING_Y_POINT - (Y_PROBE_OFFSET_FROM_EXTRUDER));
3057
-            destination[Z_AXIS] = current_position[Z_AXIS]; //z is already at the right height
3056
+            destination[Z_AXIS] = current_position[Z_AXIS]; // Z is already at the right height
3058 3057
 
3059 3058
             #if ENABLED(DEBUG_LEVELING_FEATURE)
3060 3059
               if (DEBUGGING(LEVELING)) {

+ 10
- 4
Marlin/SanityCheck.cpp View File

@@ -353,8 +353,6 @@
353 353
     #error "AUTO_BED_LEVELING_FEATURE requires a probe! Define a Z Servo, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE."
354 354
   #elif ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
355 355
     #error "Z_MIN_PROBE_REPEATABILITY_TEST requires a probe! Define a Z Servo, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE."
356
-  #elif ENABLED(Z_SAFE_HOMING)
357
-    #error "Z_SAFE_HOMING currently requires a probe."
358 356
   #endif
359 357
 
360 358
 #endif
@@ -364,9 +362,17 @@
364 362
  */
365 363
 #if ENABLED(Z_SAFE_HOMING)
366 364
   #if Z_SAFE_HOMING_X_POINT < MIN_PROBE_X || Z_SAFE_HOMING_X_POINT > MAX_PROBE_X
367
-    #error "The given Z_SAFE_HOMING_X_POINT can't be reached by the Z probe."
365
+    #if HAS_BED_PROBE
366
+      #error "Z_SAFE_HOMING_X_POINT can't be reached by the Z probe."
367
+    #else
368
+      #error "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle."
369
+    #endif
368 370
   #elif Z_SAFE_HOMING_Y_POINT < MIN_PROBE_Y || Z_SAFE_HOMING_Y_POINT > MAX_PROBE_Y
369
-    #error "The given Z_SAFE_HOMING_Y_POINT can't be reached by the Z probe."
371
+    #if HAS_BED_PROBE
372
+      #error "Z_SAFE_HOMING_Y_POINT can't be reached by the Z probe."
373
+    #else
374
+      #error "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle."
375
+    #endif
370 376
   #endif
371 377
 #endif // Z_SAFE_HOMING
372 378
 

+ 1
- 1
Marlin/example_configurations/Cartesio/Configuration.h View File

@@ -736,7 +736,7 @@
736 736
 //
737 737
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
738 738
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
739
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
739
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
740 740
 // - Prevent Z homing when the Z probe is outside bed area.
741 741
 //#define Z_SAFE_HOMING
742 742
 

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

@@ -718,7 +718,7 @@
718 718
 //
719 719
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
720 720
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
721
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
721
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
722 722
 // - Prevent Z homing when the Z probe is outside bed area.
723 723
 //#define Z_SAFE_HOMING
724 724
 

+ 1
- 1
Marlin/example_configurations/Felix/DUAL/Configuration.h View File

@@ -716,7 +716,7 @@
716 716
 //
717 717
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
718 718
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
719
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
719
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
720 720
 // - Prevent Z homing when the Z probe is outside bed area.
721 721
 //#define Z_SAFE_HOMING
722 722
 

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

@@ -728,7 +728,7 @@
728 728
 //
729 729
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
730 730
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
731
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
731
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
732 732
 // - Prevent Z homing when the Z probe is outside bed area.
733 733
 //#define Z_SAFE_HOMING
734 734
 

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

@@ -729,7 +729,7 @@
729 729
 //
730 730
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
731 731
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
732
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
732
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
733 733
 // - Prevent Z homing when the Z probe is outside bed area.
734 734
 #define Z_SAFE_HOMING
735 735
 

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

@@ -753,7 +753,7 @@
753 753
 //
754 754
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
755 755
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
756
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
756
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
757 757
 // - Prevent Z homing when the Z probe is outside bed area.
758 758
 //#define Z_SAFE_HOMING
759 759
 

+ 1
- 1
Marlin/example_configurations/K8400/Configuration.h View File

@@ -736,7 +736,7 @@
736 736
 //
737 737
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
738 738
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
739
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
739
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
740 740
 // - Prevent Z homing when the Z probe is outside bed area.
741 741
 //#define Z_SAFE_HOMING
742 742
 

+ 1
- 1
Marlin/example_configurations/K8400/Dual-head/Configuration.h View File

@@ -736,7 +736,7 @@
736 736
 //
737 737
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
738 738
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
739
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
739
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
740 740
 // - Prevent Z homing when the Z probe is outside bed area.
741 741
 //#define Z_SAFE_HOMING
742 742
 

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

@@ -736,7 +736,7 @@
736 736
 //
737 737
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
738 738
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
739
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
739
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
740 740
 // - Prevent Z homing when the Z probe is outside bed area.
741 741
 //#define Z_SAFE_HOMING
742 742
 

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

@@ -733,7 +733,7 @@
733 733
 //
734 734
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
735 735
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
736
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
736
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
737 737
 // - Prevent Z homing when the Z probe is outside bed area.
738 738
 //#define Z_SAFE_HOMING
739 739
 

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

@@ -744,7 +744,7 @@
744 744
 //
745 745
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
746 746
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
747
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
747
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
748 748
 // - Prevent Z homing when the Z probe is outside bed area.
749 749
 //#define Z_SAFE_HOMING
750 750
 

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

@@ -757,7 +757,7 @@
757 757
 //
758 758
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
759 759
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
760
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
760
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
761 761
 // - Prevent Z homing when the Z probe is outside bed area.
762 762
 //#define Z_SAFE_HOMING
763 763
 

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

@@ -727,7 +727,7 @@
727 727
 //
728 728
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
729 729
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
730
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
730
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
731 731
 // - Prevent Z homing when the Z probe is outside bed area.
732 732
 //#define Z_SAFE_HOMING
733 733
 

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

@@ -736,7 +736,7 @@
736 736
 //
737 737
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
738 738
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
739
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
739
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
740 740
 // - Prevent Z homing when the Z probe is outside bed area.
741 741
 //#define Z_SAFE_HOMING
742 742
 

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

@@ -828,7 +828,7 @@
828 828
 //
829 829
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
830 830
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
831
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
831
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
832 832
 // - Prevent Z homing when the Z probe is outside bed area.
833 833
 //#define Z_SAFE_HOMING
834 834
 

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

@@ -822,7 +822,7 @@
822 822
 //
823 823
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
824 824
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
825
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
825
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
826 826
 // - Prevent Z homing when the Z probe is outside bed area.
827 827
 //#define Z_SAFE_HOMING
828 828
 

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

@@ -825,7 +825,7 @@
825 825
 //
826 826
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
827 827
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
828
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
828
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
829 829
 // - Prevent Z homing when the Z probe is outside bed area.
830 830
 //#define Z_SAFE_HOMING
831 831
 

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

@@ -819,7 +819,7 @@
819 819
 //
820 820
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
821 821
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
822
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
822
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
823 823
 // - Prevent Z homing when the Z probe is outside bed area.
824 824
 #define Z_SAFE_HOMING
825 825
 

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

@@ -820,7 +820,7 @@
820 820
 //
821 821
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
822 822
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
823
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
823
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
824 824
 // - Prevent Z homing when the Z probe is outside bed area.
825 825
 //#define Z_SAFE_HOMING
826 826
 

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

@@ -739,7 +739,7 @@
739 739
 //
740 740
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
741 741
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
742
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
742
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
743 743
 // - Prevent Z homing when the Z probe is outside bed area.
744 744
 //#define Z_SAFE_HOMING
745 745
 

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

@@ -725,7 +725,7 @@
725 725
 //
726 726
 // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
727 727
 // - If stepper drivers time out, it will need X and Y homing again before Z homing.
728
-// - Position the Z probe in a defined XY point before Z Homing when homing all axes (G28).
728
+// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
729 729
 // - Prevent Z homing when the Z probe is outside bed area.
730 730
 //#define Z_SAFE_HOMING
731 731
 

Loading…
Cancel
Save