Sfoglia il codice sorgente

Merge pull request #8706 from thinkyhead/bf2_multi_probe

[2.0.x] MULTIPLE_PROBING — Why stop at 2?
Scott Lahteine 7 anni fa
parent
commit
9d65e61f39
Nessun account collegato all'indirizzo email del committer
82 ha cambiato i file con 304 aggiunte e 182 eliminazioni
  1. 5
    3
      Marlin/Configuration.h
  2. 1
    1
      Marlin/Configuration_adv.h
  3. 5
    3
      Marlin/src/config/default/Configuration.h
  4. 1
    1
      Marlin/src/config/default/Configuration_adv.h
  5. 5
    3
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  6. 1
    1
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  7. 5
    3
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  8. 5
    3
      Marlin/src/config/examples/Anet/A6/Configuration.h
  9. 1
    1
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  10. 5
    3
      Marlin/src/config/examples/Anet/A8/Configuration.h
  11. 1
    1
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  12. 5
    3
      Marlin/src/config/examples/Azteeg/X5GT/Configuration.h
  13. 1
    1
      Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h
  14. 5
    3
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  15. 1
    1
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  16. 5
    3
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  17. 1
    1
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  18. 5
    3
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  19. 1
    1
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  20. 5
    3
      Marlin/src/config/examples/Cartesio/Configuration.h
  21. 1
    1
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  22. 5
    3
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  23. 1
    1
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  24. 5
    3
      Marlin/src/config/examples/Felix/Configuration.h
  25. 1
    1
      Marlin/src/config/examples/Felix/Configuration_adv.h
  26. 5
    3
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  27. 5
    3
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h
  28. 1
    1
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  29. 5
    3
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  30. 5
    3
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  31. 5
    3
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  32. 1
    1
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  33. 5
    3
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  34. 1
    1
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  35. 5
    3
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  36. 5
    3
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  37. 1
    1
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  38. 5
    3
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  39. 1
    1
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  40. 5
    3
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  41. 5
    3
      Marlin/src/config/examples/RigidBot/Configuration.h
  42. 1
    1
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  43. 5
    3
      Marlin/src/config/examples/SCARA/Configuration.h
  44. 1
    1
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  45. 5
    3
      Marlin/src/config/examples/STM32F10/Configuration.h
  46. 5
    3
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  47. 1
    1
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  48. 5
    3
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  49. 1
    1
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  50. 5
    3
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h
  51. 1
    1
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  52. 5
    3
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  53. 1
    1
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  54. 5
    3
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  55. 1
    1
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  56. 5
    3
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  57. 5
    3
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h
  58. 1
    1
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  59. 5
    3
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  60. 5
    3
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  61. 1
    1
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  62. 5
    3
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  63. 1
    1
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  64. 5
    3
      Marlin/src/config/examples/delta/generic/Configuration.h
  65. 1
    1
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  66. 5
    3
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  67. 1
    1
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  68. 5
    3
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  69. 1
    1
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  70. 5
    3
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  71. 1
    1
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  72. 5
    3
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  73. 1
    1
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  74. 5
    3
      Marlin/src/config/examples/makibox/Configuration.h
  75. 1
    1
      Marlin/src/config/examples/makibox/Configuration_adv.h
  76. 5
    3
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  77. 1
    1
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  78. 5
    3
      Marlin/src/config/examples/wt150/Configuration.h
  79. 1
    1
      Marlin/src/config/examples/wt150/Configuration_adv.h
  80. 2
    2
      Marlin/src/gcode/probe/G38.cpp
  81. 6
    0
      Marlin/src/inc/SanityCheck.h
  82. 41
    13
      Marlin/src/module/probe.cpp

+ 5
- 3
Marlin/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/default/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/default/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h Vedi File

@@ -710,14 +710,16 @@
710 710
 // X and Y axis travel speed (mm/m) between probes
711 711
 #define XY_PROBE_SPEED 8000
712 712
 
713
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
713
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
714 714
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
715 715
 
716 716
 // Speed for the "accurate" probe of each point
717 717
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
718 718
 
719
-// Use double touch for probing
720
-//#define PROBE_DOUBLE_TOUCH
719
+// The number of probes to perform at each point.
720
+//   Set to 2 for a fast/slow probe, using the second probe result.
721
+//   Set to 3 or more for slow probes, averaging the results.
722
+//#define MULTIPLE_PROBING 2
721 723
 
722 724
 /**
723 725
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Anet/A6/Configuration.h Vedi File

@@ -769,14 +769,16 @@
769 769
 #define XY_PROBE_SPEED 8000
770 770
 //#define XY_PROBE_SPEED 6000
771 771
 
772
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
772
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
773 773
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
774 774
 
775 775
 // Speed for the "accurate" probe of each point
776 776
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3)
777 777
 
778
-// Use double touch for probing
779
-#define PROBE_DOUBLE_TOUCH
778
+// The number of probes to perform at each point.
779
+//   Set to 2 for a fast/slow probe, using the second probe result.
780
+//   Set to 3 or more for slow probes, averaging the results.
781
+#define MULTIPLE_PROBING 2
780 782
 
781 783
 /**
782 784
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Anet/A8/Configuration.h Vedi File

@@ -696,14 +696,16 @@
696 696
 // X and Y axis travel speed (mm/m) between probes
697 697
 #define XY_PROBE_SPEED 6000
698 698
 
699
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
699
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
700 700
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
701 701
 
702 702
 // Speed for the "accurate" probe of each point
703 703
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
704 704
 
705
-// Use double touch for probing
706
-//#define PROBE_DOUBLE_TOUCH
705
+// The number of probes to perform at each point.
706
+//   Set to 2 for a fast/slow probe, using the second probe result.
707
+//   Set to 3 or more for slow probes, averaging the results.
708
+//#define MULTIPLE_PROBING 2
707 709
 
708 710
 /**
709 711
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h Vedi File

@@ -743,7 +743,7 @@
743 743
 //#define BEZIER_CURVE_SUPPORT
744 744
 
745 745
 // G38.2 and G38.3 Probe Target
746
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
746
+// Set MULTIPLE_PROBING if you want G38 to double touch
747 747
 //#define G38_PROBE_TARGET
748 748
 #if ENABLED(G38_PROBE_TARGET)
749 749
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/BQ/Hephestos/Configuration.h Vedi File

@@ -681,14 +681,16 @@
681 681
 // X and Y axis travel speed (mm/m) between probes
682 682
 #define XY_PROBE_SPEED 8000
683 683
 
684
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
684
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
685 685
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
686 686
 
687 687
 // Speed for the "accurate" probe of each point
688 688
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
689 689
 
690
-// Use double touch for probing
691
-//#define PROBE_DOUBLE_TOUCH
690
+// The number of probes to perform at each point.
691
+//   Set to 2 for a fast/slow probe, using the second probe result.
692
+//   Set to 3 or more for slow probes, averaging the results.
693
+//#define MULTIPLE_PROBING 2
692 694
 
693 695
 /**
694 696
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h Vedi File

@@ -691,14 +691,16 @@
691 691
 // X and Y axis travel speed (mm/m) between probes
692 692
 #define XY_PROBE_SPEED 8000
693 693
 
694
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
694
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
695 695
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
696 696
 
697 697
 // Speed for the "accurate" probe of each point
698 698
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
699 699
 
700
-// Use double touch for probing
701
-//#define PROBE_DOUBLE_TOUCH
700
+// The number of probes to perform at each point.
701
+//   Set to 2 for a fast/slow probe, using the second probe result.
702
+//   Set to 3 or more for slow probes, averaging the results.
703
+//#define MULTIPLE_PROBING 2
702 704
 
703 705
 /**
704 706
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/BQ/WITBOX/Configuration.h Vedi File

@@ -681,14 +681,16 @@
681 681
 // X and Y axis travel speed (mm/m) between probes
682 682
 #define XY_PROBE_SPEED 8000
683 683
 
684
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
684
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
685 685
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
686 686
 
687 687
 // Speed for the "accurate" probe of each point
688 688
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
689 689
 
690
-// Use double touch for probing
691
-//#define PROBE_DOUBLE_TOUCH
690
+// The number of probes to perform at each point.
691
+//   Set to 2 for a fast/slow probe, using the second probe result.
692
+//   Set to 3 or more for slow probes, averaging the results.
693
+//#define MULTIPLE_PROBING 2
692 694
 
693 695
 /**
694 696
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Cartesio/Configuration.h Vedi File

@@ -689,14 +689,16 @@
689 689
 // X and Y axis travel speed (mm/m) between probes
690 690
 #define XY_PROBE_SPEED 8000
691 691
 
692
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
692
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
693 693
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
694 694
 
695 695
 // Speed for the "accurate" probe of each point
696 696
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
697 697
 
698
-// Use double touch for probing
699
-//#define PROBE_DOUBLE_TOUCH
698
+// The number of probes to perform at each point.
699
+//   Set to 2 for a fast/slow probe, using the second probe result.
700
+//   Set to 3 or more for slow probes, averaging the results.
701
+//#define MULTIPLE_PROBING 2
700 702
 
701 703
 /**
702 704
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Cartesio/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Creality/CR-10/Configuration.h Vedi File

@@ -700,14 +700,16 @@
700 700
 // X and Y axis travel speed (mm/m) between probes
701 701
 #define XY_PROBE_SPEED 8000
702 702
 
703
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
703
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
704 704
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
705 705
 
706 706
 // Speed for the "accurate" probe of each point
707 707
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
708 708
 
709
-// Use double touch for probing
710
-//#define PROBE_DOUBLE_TOUCH
709
+// The number of probes to perform at each point.
710
+//   Set to 2 for a fast/slow probe, using the second probe result.
711
+//   Set to 3 or more for slow probes, averaging the results.
712
+//#define MULTIPLE_PROBING 2
711 713
 
712 714
 /**
713 715
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Felix/Configuration.h Vedi File

@@ -672,14 +672,16 @@
672 672
 // X and Y axis travel speed (mm/m) between probes
673 673
 #define XY_PROBE_SPEED 8000
674 674
 
675
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
675
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
676 676
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
677 677
 
678 678
 // Speed for the "accurate" probe of each point
679 679
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
680 680
 
681
-// Use double touch for probing
682
-//#define PROBE_DOUBLE_TOUCH
681
+// The number of probes to perform at each point.
682
+//   Set to 2 for a fast/slow probe, using the second probe result.
683
+//   Set to 3 or more for slow probes, averaging the results.
684
+//#define MULTIPLE_PROBING 2
683 685
 
684 686
 /**
685 687
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Felix/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Felix/DUAL/Configuration.h Vedi File

@@ -672,14 +672,16 @@
672 672
 // X and Y axis travel speed (mm/m) between probes
673 673
 #define XY_PROBE_SPEED 8000
674 674
 
675
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
675
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
676 676
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
677 677
 
678 678
 // Speed for the "accurate" probe of each point
679 679
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
680 680
 
681
-// Use double touch for probing
682
-//#define PROBE_DOUBLE_TOUCH
681
+// The number of probes to perform at each point.
682
+//   Set to 2 for a fast/slow probe, using the second probe result.
683
+//   Set to 3 or more for slow probes, averaging the results.
684
+//#define MULTIPLE_PROBING 2
683 685
 
684 686
 /**
685 687
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h Vedi File

@@ -696,14 +696,16 @@
696 696
 // X and Y axis travel speed (mm/m) between probes
697 697
 #define XY_PROBE_SPEED 7500
698 698
 
699
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
699
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
700 700
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
701 701
 
702 702
 // Speed for the "accurate" probe of each point
703 703
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
704 704
 
705
-// Use double touch for probing
706
-//#define PROBE_DOUBLE_TOUCH
705
+// The number of probes to perform at each point.
706
+//   Set to 2 for a fast/slow probe, using the second probe result.
707
+//   Set to 3 or more for slow probes, averaging the results.
708
+//#define MULTIPLE_PROBING 2
707 709
 
708 710
 /**
709 711
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h Vedi File

@@ -705,14 +705,16 @@
705 705
 // X and Y axis travel speed (mm/m) between probes
706 706
 #define XY_PROBE_SPEED 8000
707 707
 
708
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
708
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
709 709
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
710 710
 
711 711
 // Speed for the "accurate" probe of each point
712 712
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
713 713
 
714
-// Use double touch for probing
715
-//#define PROBE_DOUBLE_TOUCH
714
+// The number of probes to perform at each point.
715
+//   Set to 2 for a fast/slow probe, using the second probe result.
716
+//   Set to 3 or more for slow probes, averaging the results.
717
+//#define MULTIPLE_PROBING 2
716 718
 
717 719
 /**
718 720
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h Vedi File

@@ -694,14 +694,16 @@
694 694
 // X and Y axis travel speed (mm/m) between probes
695 695
 #define XY_PROBE_SPEED 8000
696 696
 
697
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
697
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
698 698
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
699 699
 
700 700
 // Speed for the "accurate" probe of each point
701 701
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
702 702
 
703
-// Use double touch for probing
704
-//#define PROBE_DOUBLE_TOUCH
703
+// The number of probes to perform at each point.
704
+//   Set to 2 for a fast/slow probe, using the second probe result.
705
+//   Set to 3 or more for slow probes, averaging the results.
706
+//#define MULTIPLE_PROBING 2
705 707
 
706 708
 /**
707 709
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Malyan/M150/Configuration.h Vedi File

@@ -714,14 +714,16 @@
714 714
 // X and Y axis travel speed (mm/m) between probes
715 715
 //#define XY_PROBE_SPEED 8000
716 716
 
717
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
717
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
718 718
 //#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
719 719
 
720 720
 // Speed for the "accurate" probe of each point
721 721
 //#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
722 722
 
723
-// Use double touch for probing
724
-//#define PROBE_DOUBLE_TOUCH
723
+// The number of probes to perform at each point.
724
+//   Set to 2 for a fast/slow probe, using the second probe result.
725
+//   Set to 3 or more for slow probes, averaging the results.
726
+//#define MULTIPLE_PROBING 2
725 727
 
726 728
 /**
727 729
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Vedi File

@@ -739,7 +739,7 @@
739 739
 //#define BEZIER_CURVE_SUPPORT
740 740
 
741 741
 // G38.2 and G38.3 Probe Target
742
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
742
+// Set MULTIPLE_PROBING if you want G38 to double touch
743 743
 //#define G38_PROBE_TARGET
744 744
 #if ENABLED(G38_PROBE_TARGET)
745 745
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h Vedi File

@@ -694,14 +694,16 @@
694 694
 // X and Y axis travel speed (mm/m) between probes
695 695
 #define XY_PROBE_SPEED 8000
696 696
 
697
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
697
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
698 698
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
699 699
 
700 700
 // Speed for the "accurate" probe of each point
701 701
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
702 702
 
703
-// Use double touch for probing
704
-//#define PROBE_DOUBLE_TOUCH
703
+// The number of probes to perform at each point.
704
+//   Set to 2 for a fast/slow probe, using the second probe result.
705
+//   Set to 3 or more for slow probes, averaging the results.
706
+//#define MULTIPLE_PROBING 2
705 707
 
706 708
 /**
707 709
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h Vedi File

@@ -694,14 +694,16 @@
694 694
 // X and Y axis travel speed (mm/m) between probes
695 695
 #define XY_PROBE_SPEED 8000
696 696
 
697
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
697
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
698 698
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
699 699
 
700 700
 // Speed for the "accurate" probe of each point
701 701
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
702 702
 
703
-// Use double touch for probing
704
-#define PROBE_DOUBLE_TOUCH
703
+// The number of probes to perform at each point.
704
+//   Set to 2 for a fast/slow probe, using the second probe result.
705
+//   Set to 3 or more for slow probes, averaging the results.
706
+#define MULTIPLE_PROBING 2
705 707
 
706 708
 /**
707 709
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h Vedi File

@@ -743,7 +743,7 @@
743 743
 //#define BEZIER_CURVE_SUPPORT
744 744
 
745 745
 // G38.2 and G38.3 Probe Target
746
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
746
+// Set MULTIPLE_PROBING if you want G38 to double touch
747 747
 //#define G38_PROBE_TARGET
748 748
 #if ENABLED(G38_PROBE_TARGET)
749 749
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Mks/Sbase/Configuration.h Vedi File

@@ -691,14 +691,16 @@
691 691
 // X and Y axis travel speed (mm/m) between probes
692 692
 #define XY_PROBE_SPEED 8000
693 693
 
694
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
694
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
695 695
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
696 696
 
697 697
 // Speed for the "accurate" probe of each point
698 698
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
699 699
 
700
-// Use double touch for probing
701
-//#define PROBE_DOUBLE_TOUCH
700
+// The number of probes to perform at each point.
701
+//   Set to 2 for a fast/slow probe, using the second probe result.
702
+//   Set to 3 or more for slow probes, averaging the results.
703
+//#define MULTIPLE_PROBING 2
702 704
 
703 705
 /**
704 706
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Vedi File

@@ -750,7 +750,7 @@
750 750
 //#define BEZIER_CURVE_SUPPORT
751 751
 
752 752
 // G38.2 and G38.3 Probe Target
753
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
753
+// Set MULTIPLE_PROBING if you want G38 to double touch
754 754
 //#define G38_PROBE_TARGET
755 755
 #if ENABLED(G38_PROBE_TARGET)
756 756
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/RigidBot/Configuration.h Vedi File

@@ -688,14 +688,16 @@
688 688
 // X and Y axis travel speed (mm/m) between probes
689 689
 #define XY_PROBE_SPEED 8000
690 690
 
691
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
691
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
692 692
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
693 693
 
694 694
 // Speed for the "accurate" probe of each point
695 695
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
696 696
 
697
-// Use double touch for probing
698
-//#define PROBE_DOUBLE_TOUCH
697
+// The number of probes to perform at each point.
698
+//   Set to 2 for a fast/slow probe, using the second probe result.
699
+//   Set to 3 or more for slow probes, averaging the results.
700
+//#define MULTIPLE_PROBING 2
699 701
 
700 702
 /**
701 703
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/RigidBot/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/SCARA/Configuration.h Vedi File

@@ -702,14 +702,16 @@
702 702
 // X and Y axis travel speed (mm/m) between probes
703 703
 #define XY_PROBE_SPEED 8000
704 704
 
705
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
705
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
706 706
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
707 707
 
708 708
 // Speed for the "accurate" probe of each point
709 709
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
710 710
 
711
-// Use double touch for probing
712
-//#define PROBE_DOUBLE_TOUCH
711
+// The number of probes to perform at each point.
712
+//   Set to 2 for a fast/slow probe, using the second probe result.
713
+//   Set to 3 or more for slow probes, averaging the results.
714
+//#define MULTIPLE_PROBING 2
713 715
 
714 716
 /**
715 717
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/SCARA/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/STM32F10/Configuration.h Vedi File

@@ -693,14 +693,16 @@
693 693
 // X and Y axis travel speed (mm/m) between probes
694 694
 #define XY_PROBE_SPEED 8000
695 695
 
696
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
696
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
697 697
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
698 698
 
699 699
 // Speed for the "accurate" probe of each point
700 700
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
701 701
 
702
-// Use double touch for probing
703
-//#define PROBE_DOUBLE_TOUCH
702
+// The number of probes to perform at each point.
703
+//   Set to 2 for a fast/slow probe, using the second probe result.
704
+//   Set to 3 or more for slow probes, averaging the results.
705
+//#define MULTIPLE_PROBING 2
704 706
 
705 707
 /**
706 708
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Sanguinololu/Configuration.h Vedi File

@@ -721,14 +721,16 @@
721 721
 // X and Y axis travel speed (mm/m) between probes
722 722
 #define XY_PROBE_SPEED 8000
723 723
 
724
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
724
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
725 725
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
726 726
 
727 727
 // Speed for the "accurate" probe of each point
728 728
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
729 729
 
730
-// Use double touch for probing
731
-//#define PROBE_DOUBLE_TOUCH
730
+// The number of probes to perform at each point.
731
+//   Set to 2 for a fast/slow probe, using the second probe result.
732
+//   Set to 3 or more for slow probes, averaging the results.
733
+//#define MULTIPLE_PROBING 2
732 734
 
733 735
 /**
734 736
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Vedi File

@@ -731,7 +731,7 @@
731 731
 //#define BEZIER_CURVE_SUPPORT
732 732
 
733 733
 // G38.2 and G38.3 Probe Target
734
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
734
+// Set MULTIPLE_PROBING if you want G38 to double touch
735 735
 //#define G38_PROBE_TARGET
736 736
 #if ENABLED(G38_PROBE_TARGET)
737 737
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/TinyBoy2/Configuration.h Vedi File

@@ -741,14 +741,16 @@
741 741
 // X and Y axis travel speed (mm/m) between probes
742 742
 #define XY_PROBE_SPEED 8000
743 743
 
744
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
744
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
745 745
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
746 746
 
747 747
 // Speed for the "accurate" probe of each point
748 748
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
749 749
 
750
-// Use double touch for probing
751
-//#define PROBE_DOUBLE_TOUCH
750
+// The number of probes to perform at each point.
751
+//   Set to 2 for a fast/slow probe, using the second probe result.
752
+//   Set to 3 or more for slow probes, averaging the results.
753
+//#define MULTIPLE_PROBING 2
752 754
 
753 755
 /**
754 756
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Velleman/K8200/Configuration.h Vedi File

@@ -719,14 +719,16 @@
719 719
 // X and Y axis travel speed (mm/m) between probes
720 720
 #define XY_PROBE_SPEED 8000
721 721
 
722
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
722
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
723 723
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
724 724
 
725 725
 // Speed for the "accurate" probe of each point
726 726
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
727 727
 
728
-// Use double touch for probing
729
-//#define PROBE_DOUBLE_TOUCH
728
+// The number of probes to perform at each point.
729
+//   Set to 2 for a fast/slow probe, using the second probe result.
730
+//   Set to 3 or more for slow probes, averaging the results.
731
+//#define MULTIPLE_PROBING 2
730 732
 
731 733
 /**
732 734
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Vedi File

@@ -753,7 +753,7 @@
753 753
 //#define BEZIER_CURVE_SUPPORT
754 754
 
755 755
 // G38.2 and G38.3 Probe Target
756
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
756
+// Set MULTIPLE_PROBING if you want G38 to double touch
757 757
 //#define G38_PROBE_TARGET
758 758
 #if ENABLED(G38_PROBE_TARGET)
759 759
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Velleman/K8400/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Vedi File

@@ -743,7 +743,7 @@
743 743
 //#define BEZIER_CURVE_SUPPORT
744 744
 
745 745
 // G38.2 and G38.3 Probe Target
746
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
746
+// Set MULTIPLE_PROBING if you want G38 to double touch
747 747
 //#define G38_PROBE_TARGET
748 748
 #if ENABLED(G38_PROBE_TARGET)
749 749
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h Vedi File

@@ -703,14 +703,16 @@
703 703
 // X and Y axis travel speed (mm/m) between probes
704 704
 #define XY_PROBE_SPEED 8000
705 705
 
706
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
706
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
707 707
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
708 708
 
709 709
 // Speed for the "accurate" probe of each point
710 710
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
711 711
 
712
-// Use double touch for probing
713
-//#define PROBE_DOUBLE_TOUCH
712
+// The number of probes to perform at each point.
713
+//   Set to 2 for a fast/slow probe, using the second probe result.
714
+//   Set to 3 or more for slow probes, averaging the results.
715
+//#define MULTIPLE_PROBING 2
714 716
 
715 717
 /**
716 718
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/adafruit/ST7565/Configuration.h Vedi File

@@ -690,14 +690,16 @@
690 690
 // X and Y axis travel speed (mm/m) between probes
691 691
 #define XY_PROBE_SPEED 8000
692 692
 
693
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
693
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694 694
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
695 695
 
696 696
 // Speed for the "accurate" probe of each point
697 697
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
698 698
 
699
-// Use double touch for probing
700
-//#define PROBE_DOUBLE_TOUCH
699
+// The number of probes to perform at each point.
700
+//   Set to 2 for a fast/slow probe, using the second probe result.
701
+//   Set to 3 or more for slow probes, averaging the results.
702
+//#define MULTIPLE_PROBING 2
701 703
 
702 704
 /**
703 705
  * Z probes require clearance when deploying, stowing, and moving between

+ 5
- 3
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h Vedi File

@@ -770,14 +770,16 @@
770 770
 // X and Y axis travel speed (mm/m) between probes
771 771
 #define XY_PROBE_SPEED 5000
772 772
 
773
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
773
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
774 774
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
775 775
 
776 776
 // Speed for the "accurate" probe of each point
777 777
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST) / 6
778 778
 
779
-// Use double touch for probing
780
-//#define PROBE_DOUBLE_TOUCH
779
+// The number of probes to perform at each point.
780
+//   Set to 2 for a fast/slow probe, using the second probe result.
781
+//   Set to 3 or more for slow probes, averaging the results.
782
+//#define MULTIPLE_PROBING 2
781 783
 
782 784
 /**
783 785
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h Vedi File

@@ -770,14 +770,16 @@
770 770
 // X and Y axis travel speed (mm/m) between probes
771 771
 #define XY_PROBE_SPEED 2000
772 772
 
773
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
773
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
774 774
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
775 775
 
776 776
 // Speed for the "accurate" probe of each point
777 777
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
778 778
 
779
-// Use double touch for probing
780
-#define PROBE_DOUBLE_TOUCH
779
+// The number of probes to perform at each point.
780
+//   Set to 2 for a fast/slow probe, using the second probe result.
781
+//   Set to 3 or more for slow probes, averaging the results.
782
+#define MULTIPLE_PROBING 2
781 783
 
782 784
 /**
783 785
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/delta/generic/Configuration.h Vedi File

@@ -760,14 +760,16 @@
760 760
 // X and Y axis travel speed (mm/m) between probes
761 761
 #define XY_PROBE_SPEED 4000
762 762
 
763
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
763
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
764 764
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
765 765
 
766 766
 // Speed for the "accurate" probe of each point
767 767
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
768 768
 
769
-// Use double touch for probing
770
-//#define PROBE_DOUBLE_TOUCH
769
+// The number of probes to perform at each point.
770
+//   Set to 2 for a fast/slow probe, using the second probe result.
771
+//   Set to 3 or more for slow probes, averaging the results.
772
+//#define MULTIPLE_PROBING 2
771 773
 
772 774
 /**
773 775
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/generic/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/delta/kossel_mini/Configuration.h Vedi File

@@ -760,14 +760,16 @@
760 760
 // X and Y axis travel speed (mm/m) between probes
761 761
 #define XY_PROBE_SPEED 4000
762 762
 
763
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
763
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
764 764
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
765 765
 
766 766
 // Speed for the "accurate" probe of each point
767 767
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
768 768
 
769
-// Use double touch for probing
770
-//#define PROBE_DOUBLE_TOUCH
769
+// The number of probes to perform at each point.
770
+//   Set to 2 for a fast/slow probe, using the second probe result.
771
+//   Set to 3 or more for slow probes, averaging the results.
772
+//#define MULTIPLE_PROBING 2
771 773
 
772 774
 /**
773 775
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/delta/kossel_pro/Configuration.h Vedi File

@@ -756,14 +756,16 @@
756 756
 // X and Y axis travel speed (mm/m) between probes
757 757
 #define XY_PROBE_SPEED 8000
758 758
 
759
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
759
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
760 760
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
761 761
 
762 762
 // Speed for the "accurate" probe of each point
763 763
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
764 764
 
765
-// Use double touch for probing
766
-//#define PROBE_DOUBLE_TOUCH
765
+// The number of probes to perform at each point.
766
+//   Set to 2 for a fast/slow probe, using the second probe result.
767
+//   Set to 3 or more for slow probes, averaging the results.
768
+//#define MULTIPLE_PROBING 2
767 769
 
768 770
 /**
769 771
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h Vedi File

@@ -749,7 +749,7 @@
749 749
 //#define BEZIER_CURVE_SUPPORT
750 750
 
751 751
 // G38.2 and G38.3 Probe Target
752
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
752
+// Set MULTIPLE_PROBING if you want G38 to double touch
753 753
 //#define G38_PROBE_TARGET
754 754
 #if ENABLED(G38_PROBE_TARGET)
755 755
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/delta/kossel_xl/Configuration.h Vedi File

@@ -772,14 +772,16 @@
772 772
 // X and Y axis travel speed (mm/m) between probes
773 773
 #define XY_PROBE_SPEED 8000
774 774
 
775
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
775
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
776 776
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
777 777
 
778 778
 // Speed for the "accurate" probe of each point
779 779
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
780 780
 
781
-// Use double touch for probing
782
-//#define PROBE_DOUBLE_TOUCH
781
+// The number of probes to perform at each point.
782
+//   Set to 2 for a fast/slow probe, using the second probe result.
783
+//   Set to 3 or more for slow probes, averaging the results.
784
+//#define MULTIPLE_PROBING 2
783 785
 
784 786
 /**
785 787
  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe

+ 1
- 1
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Vedi File

@@ -744,7 +744,7 @@
744 744
 //#define BEZIER_CURVE_SUPPORT
745 745
 
746 746
 // G38.2 and G38.3 Probe Target
747
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
747
+// Set MULTIPLE_PROBING if you want G38 to double touch
748 748
 //#define G38_PROBE_TARGET
749 749
 #if ENABLED(G38_PROBE_TARGET)
750 750
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h Vedi File

@@ -703,14 +703,16 @@
703 703
 // X and Y axis travel speed (mm/m) between probes
704 704
 #define XY_PROBE_SPEED 7500
705 705
 
706
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
706
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
707 707
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
708 708
 
709 709
 // Speed for the "accurate" probe of each point
710 710
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
711 711
 
712
-// Use double touch for probing
713
-//#define PROBE_DOUBLE_TOUCH
712
+// The number of probes to perform at each point.
713
+//   Set to 2 for a fast/slow probe, using the second probe result.
714
+//   Set to 3 or more for slow probes, averaging the results.
715
+//#define MULTIPLE_PROBING 2
714 716
 
715 717
 /**
716 718
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/makibox/Configuration.h Vedi File

@@ -693,14 +693,16 @@
693 693
 // X and Y axis travel speed (mm/m) between probes
694 694
 #define XY_PROBE_SPEED 8000
695 695
 
696
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
696
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
697 697
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
698 698
 
699 699
 // Speed for the "accurate" probe of each point
700 700
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
701 701
 
702
-// Use double touch for probing
703
-//#define PROBE_DOUBLE_TOUCH
702
+// The number of probes to perform at each point.
703
+//   Set to 2 for a fast/slow probe, using the second probe result.
704
+//   Set to 3 or more for slow probes, averaging the results.
705
+//#define MULTIPLE_PROBING 2
704 706
 
705 707
 /**
706 708
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/makibox/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/tvrrug/Round2/Configuration.h Vedi File

@@ -685,14 +685,16 @@
685 685
 // X and Y axis travel speed (mm/m) between probes
686 686
 #define XY_PROBE_SPEED 8000
687 687
 
688
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
688
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
689 689
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
690 690
 
691 691
 // Speed for the "accurate" probe of each point
692 692
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
693 693
 
694
-// Use double touch for probing
695
-//#define PROBE_DOUBLE_TOUCH
694
+// The number of probes to perform at each point.
695
+//   Set to 2 for a fast/slow probe, using the second probe result.
696
+//   Set to 3 or more for slow probes, averaging the results.
697
+//#define MULTIPLE_PROBING 2
696 698
 
697 699
 /**
698 700
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Vedi File

@@ -742,7 +742,7 @@
742 742
 //#define BEZIER_CURVE_SUPPORT
743 743
 
744 744
 // G38.2 and G38.3 Probe Target
745
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
745
+// Set MULTIPLE_PROBING if you want G38 to double touch
746 746
 //#define G38_PROBE_TARGET
747 747
 #if ENABLED(G38_PROBE_TARGET)
748 748
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 5
- 3
Marlin/src/config/examples/wt150/Configuration.h Vedi File

@@ -695,14 +695,16 @@
695 695
 // X and Y axis travel speed (mm/m) between probes
696 696
 #define XY_PROBE_SPEED 8000
697 697
 
698
-// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
698
+// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
699 699
 #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
700 700
 
701 701
 // Speed for the "accurate" probe of each point
702 702
 #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
703 703
 
704
-// Use double touch for probing
705
-//#define PROBE_DOUBLE_TOUCH
704
+// The number of probes to perform at each point.
705
+//   Set to 2 for a fast/slow probe, using the second probe result.
706
+//   Set to 3 or more for slow probes, averaging the results.
707
+//#define MULTIPLE_PROBING 2
706 708
 
707 709
 /**
708 710
  * Z probes require clearance when deploying, stowing, and moving between

+ 1
- 1
Marlin/src/config/examples/wt150/Configuration_adv.h Vedi File

@@ -743,7 +743,7 @@
743 743
 //#define BEZIER_CURVE_SUPPORT
744 744
 
745 745
 // G38.2 and G38.3 Probe Target
746
-// Enable PROBE_DOUBLE_TOUCH if you want G38 to double touch
746
+// Set MULTIPLE_PROBING if you want G38 to double touch
747 747
 //#define G38_PROBE_TARGET
748 748
 #if ENABLED(G38_PROBE_TARGET)
749 749
   #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)

+ 2
- 2
Marlin/src/gcode/probe/G38.cpp Vedi File

@@ -35,7 +35,7 @@ static bool G38_run_probe() {
35 35
 
36 36
   bool G38_pass_fail = false;
37 37
 
38
-  #if ENABLED(PROBE_DOUBLE_TOUCH)
38
+  #if MULTIPLE_PROBING > 1
39 39
     // Get direction of move and retract
40 40
     float retract_mm[XYZ];
41 41
     LOOP_XYZ(i) {
@@ -62,7 +62,7 @@ static bool G38_run_probe() {
62 62
 
63 63
     G38_pass_fail = true;
64 64
 
65
-    #if ENABLED(PROBE_DOUBLE_TOUCH)
65
+    #if MULTIPLE_PROBING > 1
66 66
       // Move away by the retract distance
67 67
       set_destination_from_current();
68 68
       LOOP_XYZ(i) destination[i] += retract_mm[i];

+ 6
- 0
Marlin/src/inc/SanityCheck.h Vedi File

@@ -227,6 +227,8 @@
227 227
   #error "UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN is now SEGMENT_LEVELED_MOVES. Please update your configuration."
228 228
 #elif HAS_PID_HEATING && (defined(K1) || !defined(PID_K1))
229 229
   #error "K1 is now PID_K1. Please update your configuration."
230
+#elif defined(PROBE_DOUBLE_TOUCH)
231
+  #error "PROBE_DOUBLE_TOUCH is now MULTIPLE_PROBING. Please update your configuration."
230 232
 #endif
231 233
 
232 234
 /**
@@ -711,6 +713,10 @@ static_assert(1 >= 0
711 713
     #error "Probes need Z_CLEARANCE_BETWEEN_PROBES >= 0."
712 714
   #endif
713 715
 
716
+  #if MULTIPLE_PROBING && MULTIPLE_PROBING < 2
717
+    #error "MULTIPLE_PROBING must be >= 2."
718
+  #endif
719
+
714 720
 #else
715 721
 
716 722
   /**

+ 41
- 13
Marlin/src/module/probe.cpp Vedi File

@@ -507,7 +507,7 @@ static bool do_probe_move(const float z, const float fr_mm_m) {
507 507
 }
508 508
 
509 509
 /**
510
- * @details Used by probe_pt to do a single Z probe.
510
+ * @details Used by probe_pt to do a single Z probe at the current position.
511 511
  *          Leaves current_position[Z_AXIS] at the height where the probe triggered.
512 512
  *
513 513
  * @return The raw Z position where the probe was triggered
@@ -521,7 +521,8 @@ static float run_z_probe() {
521 521
   // Prevent stepper_inactive_time from running out and EXTRUDER_RUNOUT_PREVENT from extruding
522 522
   gcode.refresh_cmd_timeout();
523 523
 
524
-  #if ENABLED(PROBE_DOUBLE_TOUCH)
524
+  // Double-probing does a fast probe followed by a slow probe
525
+  #if MULTIPLE_PROBING == 2
525 526
 
526 527
     // Do a first probe at the fast speed
527 528
     if (do_probe_move(-10, Z_PROBE_SPEED_FAST)) return NAN;
@@ -549,22 +550,49 @@ static float run_z_probe() {
549 550
     }
550 551
   #endif
551 552
 
552
-  // Move down slowly to find bed, not too far
553
-  if (do_probe_move(-10, Z_PROBE_SPEED_SLOW)) return NAN;
554
-
555
-  #if ENABLED(DEBUG_LEVELING_FEATURE)
556
-    if (DEBUGGING(LEVELING)) DEBUG_POS("<<< run_z_probe", current_position);
553
+  #if MULTIPLE_PROBING > 2
554
+    float probes_total = 0;
555
+    for (uint8_t p = MULTIPLE_PROBING + 1; --p;) {
557 556
   #endif
558 557
 
559
-  // Debug: compare probe heights
560
-  #if ENABLED(PROBE_DOUBLE_TOUCH) && ENABLED(DEBUG_LEVELING_FEATURE)
561
-    if (DEBUGGING(LEVELING)) {
562
-      SERIAL_ECHOPAIR("2nd Probe Z:", current_position[Z_AXIS]);
563
-      SERIAL_ECHOLNPAIR(" Discrepancy:", first_probe_z - current_position[Z_AXIS]);
558
+      // Move down slowly to find bed, not too far
559
+      if (do_probe_move(-10, Z_PROBE_SPEED_SLOW)) return NAN;
560
+
561
+  #if MULTIPLE_PROBING > 2
562
+      probes_total += current_position[Z_AXIS];
563
+      if (p > 1) do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
564 564
     }
565 565
   #endif
566 566
 
567
-  return current_position[Z_AXIS];
567
+  #if MULTIPLE_PROBING > 2
568
+
569
+    // Return the average value of all probes
570
+    return probes_total * (1.0 / (MULTIPLE_PROBING));
571
+
572
+  #elif MULTIPLE_PROBING == 2
573
+
574
+    const float z2 = current_position[Z_AXIS];
575
+
576
+    #if ENABLED(DEBUG_LEVELING_FEATURE)
577
+      if (DEBUGGING(LEVELING)) {
578
+        SERIAL_ECHOPAIR("2nd Probe Z:", z2);
579
+        SERIAL_ECHOLNPAIR(" Discrepancy:", first_probe_z - z2);
580
+      }
581
+    #endif
582
+
583
+    // Return a weighted average of the fast and slow probes
584
+    return (z2 * 3.0 + first_probe_z * 2.0) * 0.2;
585
+
586
+  #else
587
+
588
+    // Return the single probe result
589
+    return current_position[Z_AXIS];
590
+
591
+  #endif
592
+
593
+  #if ENABLED(DEBUG_LEVELING_FEATURE)
594
+    if (DEBUGGING(LEVELING)) DEBUG_POS("<<< run_z_probe", current_position);
595
+  #endif
568 596
 }
569 597
 
570 598
 /**

Loading…
Annulla
Salva