Browse Source

Add G38.4 and G38.5 (#13348)

Michiel Baird 5 years ago
parent
commit
b824a517aa
80 changed files with 732 additions and 264 deletions
  1. 9
    3
      Marlin/Configuration_adv.h
  2. 2
    2
      Marlin/src/Marlin.cpp
  3. 2
    2
      Marlin/src/Marlin.h
  4. 8
    3
      Marlin/src/gcode/gcode.cpp
  5. 1
    1
      Marlin/src/gcode/gcode.h
  6. 43
    27
      Marlin/src/gcode/probe/G38.cpp
  7. 10
    7
      Marlin/src/module/endstops.cpp
  8. 9
    3
      config/default/Configuration_adv.h
  9. 9
    3
      config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  10. 9
    3
      config/examples/AlephObjects/TAZ4/Configuration_adv.h
  11. 9
    3
      config/examples/AliExpress/UM2pExt/Configuration_adv.h
  12. 9
    3
      config/examples/Anet/A2/Configuration_adv.h
  13. 9
    3
      config/examples/Anet/A2plus/Configuration_adv.h
  14. 9
    3
      config/examples/Anet/A6/Configuration_adv.h
  15. 9
    3
      config/examples/Anet/A8/Configuration_adv.h
  16. 9
    3
      config/examples/AnyCubic/i3/Configuration_adv.h
  17. 9
    3
      config/examples/ArmEd/Configuration_adv.h
  18. 9
    3
      config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  19. 9
    3
      config/examples/BIBO/TouchX/default/Configuration_adv.h
  20. 9
    3
      config/examples/BQ/Hephestos/Configuration_adv.h
  21. 9
    3
      config/examples/BQ/Hephestos_2/Configuration_adv.h
  22. 9
    3
      config/examples/BQ/WITBOX/Configuration_adv.h
  23. 9
    3
      config/examples/Cartesio/Configuration_adv.h
  24. 9
    3
      config/examples/Creality/CR-10/Configuration_adv.h
  25. 9
    3
      config/examples/Creality/CR-10S/Configuration_adv.h
  26. 9
    3
      config/examples/Creality/CR-10_5S/Configuration_adv.h
  27. 9
    3
      config/examples/Creality/CR-10mini/Configuration_adv.h
  28. 9
    3
      config/examples/Creality/CR-8/Configuration_adv.h
  29. 9
    3
      config/examples/Creality/Ender-2/Configuration_adv.h
  30. 9
    3
      config/examples/Creality/Ender-3/Configuration_adv.h
  31. 9
    3
      config/examples/Creality/Ender-4/Configuration_adv.h
  32. 9
    3
      config/examples/Einstart-S/Configuration_adv.h
  33. 9
    3
      config/examples/Felix/Configuration_adv.h
  34. 9
    3
      config/examples/FlashForge/CreatorPro/Configuration_adv.h
  35. 9
    3
      config/examples/FolgerTech/i3-2020/Configuration_adv.h
  36. 9
    3
      config/examples/Formbot/Raptor/Configuration_adv.h
  37. 9
    3
      config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  38. 9
    3
      config/examples/Formbot/T_Rex_3/Configuration_adv.h
  39. 9
    3
      config/examples/Geeetech/A10M/Configuration_adv.h
  40. 9
    3
      config/examples/Geeetech/A20M/Configuration_adv.h
  41. 9
    3
      config/examples/Geeetech/MeCreator2/Configuration_adv.h
  42. 9
    3
      config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  43. 9
    3
      config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  44. 9
    3
      config/examples/Infitary/i3-M508/Configuration_adv.h
  45. 9
    3
      config/examples/JGAurora/A5/Configuration_adv.h
  46. 9
    3
      config/examples/MakerParts/Configuration_adv.h
  47. 9
    3
      config/examples/Malyan/M150/Configuration_adv.h
  48. 9
    3
      config/examples/Malyan/M200/Configuration_adv.h
  49. 9
    3
      config/examples/Micromake/C1/enhanced/Configuration_adv.h
  50. 9
    3
      config/examples/Mks/Robin/Configuration_adv.h
  51. 9
    3
      config/examples/Mks/Sbase/Configuration_adv.h
  52. 9
    3
      config/examples/RapideLite/RL200/Configuration_adv.h
  53. 9
    3
      config/examples/RigidBot/Configuration_adv.h
  54. 9
    3
      config/examples/SCARA/Configuration_adv.h
  55. 9
    3
      config/examples/Sanguinololu/Configuration_adv.h
  56. 9
    3
      config/examples/TheBorg/Configuration_adv.h
  57. 9
    3
      config/examples/TinyBoy2/Configuration_adv.h
  58. 9
    3
      config/examples/Tronxy/X3A/Configuration_adv.h
  59. 9
    3
      config/examples/Tronxy/X5S-2E/Configuration_adv.h
  60. 9
    3
      config/examples/UltiMachine/Archim1/Configuration_adv.h
  61. 9
    3
      config/examples/UltiMachine/Archim2/Configuration_adv.h
  62. 9
    3
      config/examples/VORONDesign/Configuration_adv.h
  63. 9
    3
      config/examples/Velleman/K8200/Configuration_adv.h
  64. 9
    3
      config/examples/Velleman/K8400/Configuration_adv.h
  65. 9
    3
      config/examples/WASP/PowerWASP/Configuration_adv.h
  66. 9
    3
      config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  67. 9
    3
      config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  68. 9
    3
      config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  69. 9
    3
      config/examples/delta/FLSUN/kossel/Configuration_adv.h
  70. 9
    3
      config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  71. 9
    3
      config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  72. 9
    3
      config/examples/delta/MKS/SBASE/Configuration_adv.h
  73. 9
    3
      config/examples/delta/Tevo Little Monster/Configuration_adv.h
  74. 9
    3
      config/examples/delta/generic/Configuration_adv.h
  75. 9
    3
      config/examples/delta/kossel_mini/Configuration_adv.h
  76. 9
    3
      config/examples/delta/kossel_xl/Configuration_adv.h
  77. 9
    3
      config/examples/gCreate/gMax1.5+/Configuration_adv.h
  78. 9
    3
      config/examples/makibox/Configuration_adv.h
  79. 9
    3
      config/examples/tvrrug/Round2/Configuration_adv.h
  80. 9
    3
      config/examples/wt150/Configuration_adv.h

+ 9
- 3
Marlin/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 2
- 2
Marlin/src/Marlin.cpp View File

@@ -114,8 +114,8 @@
114 114
 #endif
115 115
 
116 116
 #if ENABLED(G38_PROBE_TARGET)
117
-  bool G38_move = false,
118
-       G38_endstop_hit = false;
117
+  uint8_t G38_move; // = 0
118
+  bool G38_did_trigger; // = false
119 119
 #endif
120 120
 
121 121
 #if ENABLED(DELTA)

+ 2
- 2
Marlin/src/Marlin.h View File

@@ -309,8 +309,8 @@ void manage_inactivity(const bool ignore_stepper_queue=false);
309 309
 #endif
310 310
 
311 311
 #if ENABLED(G38_PROBE_TARGET)
312
-  extern bool G38_move,        // flag to tell the interrupt handler that a G38 command is being run
313
-              G38_endstop_hit; // flag from the interrupt handler to indicate if the endstop went active
312
+  extern uint8_t G38_move;          // Flag to tell the ISR that G38 is in progress, and the type
313
+  extern bool G38_did_trigger;      // Flag from the ISR to indicate the endstop changed
314 314
 #endif
315 315
 
316 316
 /**

+ 8
- 3
Marlin/src/gcode/gcode.cpp View File

@@ -258,9 +258,14 @@ void GcodeSuite::process_parsed_command(
258 258
       #endif
259 259
 
260 260
       #if ENABLED(G38_PROBE_TARGET)
261
-        case 38:                                                  // G38.2 & G38.3: Probe towards target
262
-          if (parser.subcode == 2 || parser.subcode == 3)
263
-            G38(parser.subcode == 2);
261
+        case 38:                                                  // G38.2, G38.3: Probe towards target
262
+          if (WITHIN(parser.subcode, 2,
263
+            #if ENABLED(G38_PROBE_AWAY)
264
+              5
265
+            #else
266
+              3
267
+            #endif
268
+          )) G38(parser.subcode);                                 // G38.4, G38.5: Probe away from target
264 269
           break;
265 270
       #endif
266 271
 

+ 1
- 1
Marlin/src/gcode/gcode.h View File

@@ -415,7 +415,7 @@ private:
415 415
   #endif
416 416
 
417 417
   #if ENABLED(G38_PROBE_TARGET)
418
-    static void G38(const bool is_38_2);
418
+    static void G38(const int8_t subcode);
419 419
   #endif
420 420
 
421 421
   #if HAS_MESH

+ 43
- 27
Marlin/src/gcode/probe/G38.cpp View File

@@ -31,7 +31,18 @@
31 31
 #include "../../module/stepper.h"
32 32
 #include "../../module/probe.h"
33 33
 
34
-static bool G38_run_probe() {
34
+inline void G38_single_probe(const uint8_t move_value) {
35
+  endstops.enable(true);
36
+  G38_move = move_value;
37
+  prepare_move_to_destination();
38
+  planner.synchronize();
39
+  G38_move = 0;
40
+  endstops.hit_on_purpose();
41
+  set_current_from_steppers_for_axis(ALL_AXES);
42
+  sync_plan_position();
43
+}
44
+
45
+inline bool G38_run_probe() {
35 46
 
36 47
   bool G38_pass_fail = false;
37 48
 
@@ -46,19 +57,19 @@ static bool G38_run_probe() {
46 57
 
47 58
   planner.synchronize();  // wait until the machine is idle
48 59
 
49
-  // Move until destination reached or target hit
50
-  endstops.enable(true);
51
-  G38_move = true;
52
-  G38_endstop_hit = false;
53
-  prepare_move_to_destination();
54
-  planner.synchronize();
55
-  G38_move = false;
60
+  // Move flag value
61
+  #if ENABLED(G38_PROBE_AWAY)
62
+    const uint8_t move_value = parser.subcode;
63
+  #else
64
+    constexpr uint8_t move_value = 1;
65
+  #endif
56 66
 
57
-  endstops.hit_on_purpose();
58
-  set_current_from_steppers_for_axis(ALL_AXES);
59
-  sync_plan_position();
67
+  G38_did_trigger = false;
60 68
 
61
-  if (G38_endstop_hit) {
69
+  // Move until destination reached or target hit
70
+  G38_single_probe(move_value);
71
+
72
+  if (G38_did_trigger) {
62 73
 
63 74
     G38_pass_fail = true;
64 75
 
@@ -70,45 +81,50 @@ static bool G38_run_probe() {
70 81
       prepare_move_to_destination();
71 82
       planner.synchronize();
72 83
 
73
-      feedrate_mm_s /= 4;
84
+      REMEMBER(fr, feedrate_mm_s, feedrate_mm_s * 0.25);
74 85
 
75 86
       // Bump the target more slowly
76 87
       LOOP_XYZ(i) destination[i] -= retract_mm[i] * 2;
77 88
 
78
-      endstops.enable(true);
79
-      G38_move = true;
80
-      prepare_move_to_destination();
81
-      planner.synchronize();
82
-      G38_move = false;
83
-
84
-      set_current_from_steppers_for_axis(ALL_AXES);
85
-      sync_plan_position();
89
+      G38_single_probe(move_value);
86 90
     #endif
87 91
   }
88 92
 
89
-  endstops.hit_on_purpose();
90 93
   endstops.not_homing();
91 94
   return G38_pass_fail;
92 95
 }
93 96
 
94 97
 /**
95
- * G38.2 - probe toward workpiece, stop on contact, signal error if failure
96
- * G38.3 - probe toward workpiece, stop on contact
98
+ * G38 Probe Target
99
+ *
100
+ *  G38.2 - Probe toward workpiece, stop on contact, signal error if failure
101
+ *  G38.3 - Probe toward workpiece, stop on contact
97 102
  *
98
- * Like G28 except uses Z min probe for all axes
103
+ * With G38_PROBE_AWAY:
104
+ *
105
+ *  G38.4 - Probe away from workpiece, stop on contact break, signal error if failure
106
+ *  G38.5 - Probe away from workpiece, stop on contact break
99 107
  */
100
-void GcodeSuite::G38(const bool is_38_2) {
108
+void GcodeSuite::G38(const int8_t subcode) {
101 109
   // Get X Y Z E F
102 110
   get_destination_from_command();
103 111
 
104 112
   setup_for_endstop_or_probe_move();
105 113
 
114
+  const bool error_on_fail =
115
+    #if ENABLED(G38_PROBE_AWAY)
116
+      !TEST(subcode, 0)
117
+    #else
118
+      (subcode == 2)
119
+    #endif
120
+  ;
121
+
106 122
   // If any axis has enough movement, do the move
107 123
   LOOP_XYZ(i)
108 124
     if (ABS(destination[i] - current_position[i]) >= G38_MINIMUM_MOVE) {
109 125
       if (!parser.seenval('F')) feedrate_mm_s = homing_feedrate((AxisEnum)i);
110 126
       // If G38.2 fails throw an error
111
-      if (!G38_run_probe() && is_38_2) SERIAL_ERROR_MSG("Failed to reach target");
127
+      if (!G38_run_probe() && error_on_fail) SERIAL_ERROR_MSG("Failed to reach target");
112 128
       break;
113 129
     }
114 130
 

+ 10
- 7
Marlin/src/module/endstops.cpp View File

@@ -672,14 +672,17 @@ void Endstops::update() {
672 672
   }while(0)
673 673
 
674 674
   #if ENABLED(G38_PROBE_TARGET) && PIN_EXISTS(Z_MIN_PROBE) && !(CORE_IS_XY || CORE_IS_XZ)
675
+    #if ENABLED(G38_PROBE_AWAY)
676
+      #define _G38_OPEN_STATE (G38_move >= 4)
677
+    #else
678
+      #define _G38_OPEN_STATE LOW
679
+    #endif
675 680
     // If G38 command is active check Z_MIN_PROBE for ALL movement
676
-    if (G38_move) {
677
-      if (TEST_ENDSTOP(_ENDSTOP(Z, MIN_PROBE))) {
678
-        if      (stepper.axis_is_moving(X_AXIS)) { _ENDSTOP_HIT(X, MIN); planner.endstop_triggered(X_AXIS); }
679
-        else if (stepper.axis_is_moving(Y_AXIS)) { _ENDSTOP_HIT(Y, MIN); planner.endstop_triggered(Y_AXIS); }
680
-        else if (stepper.axis_is_moving(Z_AXIS)) { _ENDSTOP_HIT(Z, MIN); planner.endstop_triggered(Z_AXIS); }
681
-        G38_endstop_hit = true;
682
-      }
681
+    if (G38_move && TEST_ENDSTOP(_ENDSTOP(Z, MIN_PROBE)) != _G38_OPEN_STATE) {
682
+           if (stepper.axis_is_moving(X_AXIS)) { _ENDSTOP_HIT(X, MIN); planner.endstop_triggered(X_AXIS); }
683
+      else if (stepper.axis_is_moving(Y_AXIS)) { _ENDSTOP_HIT(Y, MIN); planner.endstop_triggered(Y_AXIS); }
684
+      else if (stepper.axis_is_moving(Z_AXIS)) { _ENDSTOP_HIT(Z, MIN); planner.endstop_triggered(Z_AXIS); }
685
+      G38_did_trigger = true;
683 686
     }
684 687
   #endif
685 688
 

+ 9
- 3
config/default/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/3DFabXYZ/Migbot/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/AliExpress/UM2pExt/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Anet/A2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Anet/A2plus/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Anet/A6/Configuration_adv.h View File

@@ -1067,11 +1067,17 @@
1067 1067
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1068 1068
 //#define BEZIER_CURVE_SUPPORT
1069 1069
 
1070
-// G38.2 and G38.3 Probe Target
1071
-// Set MULTIPLE_PROBING if you want G38 to double touch
1070
+/**
1071
+ * G38 Probe Target
1072
+ *
1073
+ * This option adds G38.2 and G38.3 (probe towards target)
1074
+ * and optionally G38.4 and G38.5 (probe away from target).
1075
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1076
+ */
1072 1077
 //#define G38_PROBE_TARGET
1073 1078
 #if ENABLED(G38_PROBE_TARGET)
1074
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1079
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1080
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1075 1081
 #endif
1076 1082
 
1077 1083
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Anet/A8/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/AnyCubic/i3/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/ArmEd/Configuration_adv.h View File

@@ -1072,11 +1072,17 @@
1072 1072
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1073 1073
 //#define BEZIER_CURVE_SUPPORT
1074 1074
 
1075
-// G38.2 and G38.3 Probe Target
1076
-// Set MULTIPLE_PROBING if you want G38 to double touch
1075
+/**
1076
+ * G38 Probe Target
1077
+ *
1078
+ * This option adds G38.2 and G38.3 (probe towards target)
1079
+ * and optionally G38.4 and G38.5 (probe away from target).
1080
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1081
+ */
1077 1082
 //#define G38_PROBE_TARGET
1078 1083
 #if ENABLED(G38_PROBE_TARGET)
1079
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1084
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1085
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1080 1086
 #endif
1081 1087
 
1082 1088
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/BIBO/TouchX/cyclops/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/BIBO/TouchX/default/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/BQ/Hephestos/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/BQ/Hephestos_2/Configuration_adv.h View File

@@ -1076,11 +1076,17 @@
1076 1076
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1077 1077
 //#define BEZIER_CURVE_SUPPORT
1078 1078
 
1079
-// G38.2 and G38.3 Probe Target
1080
-// Set MULTIPLE_PROBING if you want G38 to double touch
1079
+/**
1080
+ * G38 Probe Target
1081
+ *
1082
+ * This option adds G38.2 and G38.3 (probe towards target)
1083
+ * and optionally G38.4 and G38.5 (probe away from target).
1084
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1085
+ */
1081 1086
 //#define G38_PROBE_TARGET
1082 1087
 #if ENABLED(G38_PROBE_TARGET)
1083
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1088
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1089
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1084 1090
 #endif
1085 1091
 
1086 1092
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/BQ/WITBOX/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Cartesio/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/CR-10/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/CR-10S/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/CR-10_5S/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/CR-10mini/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/CR-8/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/Ender-2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/Ender-3/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Creality/Ender-4/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Einstart-S/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Felix/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/FlashForge/CreatorPro/Configuration_adv.h View File

@@ -1067,11 +1067,17 @@
1067 1067
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1068 1068
 //#define BEZIER_CURVE_SUPPORT
1069 1069
 
1070
-// G38.2 and G38.3 Probe Target
1071
-// Set MULTIPLE_PROBING if you want G38 to double touch
1070
+/**
1071
+ * G38 Probe Target
1072
+ *
1073
+ * This option adds G38.2 and G38.3 (probe towards target)
1074
+ * and optionally G38.4 and G38.5 (probe away from target).
1075
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1076
+ */
1072 1077
 //#define G38_PROBE_TARGET
1073 1078
 #if ENABLED(G38_PROBE_TARGET)
1074
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1079
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1080
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1075 1081
 #endif
1076 1082
 
1077 1083
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/FolgerTech/i3-2020/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Formbot/Raptor/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 #define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Formbot/T_Rex_2+/Configuration_adv.h View File

@@ -1072,11 +1072,17 @@
1072 1072
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1073 1073
 //#define BEZIER_CURVE_SUPPORT
1074 1074
 
1075
-// G38.2 and G38.3 Probe Target
1076
-// Set MULTIPLE_PROBING if you want G38 to double touch
1075
+/**
1076
+ * G38 Probe Target
1077
+ *
1078
+ * This option adds G38.2 and G38.3 (probe towards target)
1079
+ * and optionally G38.4 and G38.5 (probe away from target).
1080
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1081
+ */
1077 1082
 //#define G38_PROBE_TARGET
1078 1083
 #if ENABLED(G38_PROBE_TARGET)
1079
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1084
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1085
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1080 1086
 #endif
1081 1087
 
1082 1088
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Formbot/T_Rex_3/Configuration_adv.h View File

@@ -1073,11 +1073,17 @@
1073 1073
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1074 1074
 //#define BEZIER_CURVE_SUPPORT
1075 1075
 
1076
-// G38.2 and G38.3 Probe Target
1077
-// Set MULTIPLE_PROBING if you want G38 to double touch
1076
+/**
1077
+ * G38 Probe Target
1078
+ *
1079
+ * This option adds G38.2 and G38.3 (probe towards target)
1080
+ * and optionally G38.4 and G38.5 (probe away from target).
1081
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1082
+ */
1078 1083
 //#define G38_PROBE_TARGET
1079 1084
 #if ENABLED(G38_PROBE_TARGET)
1080
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1085
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1086
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1081 1087
 #endif
1082 1088
 
1083 1089
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Geeetech/A10M/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Geeetech/A20M/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Geeetech/MeCreator2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Infitary/i3-M508/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/JGAurora/A5/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/MakerParts/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 #define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Malyan/M150/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Malyan/M200/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Micromake/C1/enhanced/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Mks/Robin/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Mks/Sbase/Configuration_adv.h View File

@@ -1076,11 +1076,17 @@
1076 1076
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1077 1077
 //#define BEZIER_CURVE_SUPPORT
1078 1078
 
1079
-// G38.2 and G38.3 Probe Target
1080
-// Set MULTIPLE_PROBING if you want G38 to double touch
1079
+/**
1080
+ * G38 Probe Target
1081
+ *
1082
+ * This option adds G38.2 and G38.3 (probe towards target)
1083
+ * and optionally G38.4 and G38.5 (probe away from target).
1084
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1085
+ */
1081 1086
 //#define G38_PROBE_TARGET
1082 1087
 #if ENABLED(G38_PROBE_TARGET)
1083
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1088
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1089
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1084 1090
 #endif
1085 1091
 
1086 1092
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/RapideLite/RL200/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/RigidBot/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/SCARA/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Sanguinololu/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/TheBorg/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/TinyBoy2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Tronxy/X3A/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Tronxy/X5S-2E/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/UltiMachine/Archim1/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/UltiMachine/Archim2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/VORONDesign/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Velleman/K8200/Configuration_adv.h View File

@@ -1081,11 +1081,17 @@
1081 1081
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1082 1082
 //#define BEZIER_CURVE_SUPPORT
1083 1083
 
1084
-// G38.2 and G38.3 Probe Target
1085
-// Set MULTIPLE_PROBING if you want G38 to double touch
1084
+/**
1085
+ * G38 Probe Target
1086
+ *
1087
+ * This option adds G38.2 and G38.3 (probe towards target)
1088
+ * and optionally G38.4 and G38.5 (probe away from target).
1089
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1090
+ */
1086 1091
 //#define G38_PROBE_TARGET
1087 1092
 #if ENABLED(G38_PROBE_TARGET)
1088
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1093
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1094
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1089 1095
 #endif
1090 1096
 
1091 1097
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Velleman/K8400/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/WASP/PowerWASP/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/Wanhao/Duplicator 6/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/Anycubic/Kossel/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/FLSUN/kossel/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/MKS/SBASE/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/Tevo Little Monster/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/generic/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/kossel_mini/Configuration_adv.h View File

@@ -1069,11 +1069,17 @@
1069 1069
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1070 1070
 //#define BEZIER_CURVE_SUPPORT
1071 1071
 
1072
-// G38.2 and G38.3 Probe Target
1073
-// Set MULTIPLE_PROBING if you want G38 to double touch
1072
+/**
1073
+ * G38 Probe Target
1074
+ *
1075
+ * This option adds G38.2 and G38.3 (probe towards target)
1076
+ * and optionally G38.4 and G38.5 (probe away from target).
1077
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1078
+ */
1074 1079
 //#define G38_PROBE_TARGET
1075 1080
 #if ENABLED(G38_PROBE_TARGET)
1076
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1081
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1082
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1077 1083
 #endif
1078 1084
 
1079 1085
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/delta/kossel_xl/Configuration_adv.h View File

@@ -1070,11 +1070,17 @@
1070 1070
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1071 1071
 //#define BEZIER_CURVE_SUPPORT
1072 1072
 
1073
-// G38.2 and G38.3 Probe Target
1074
-// Set MULTIPLE_PROBING if you want G38 to double touch
1073
+/**
1074
+ * G38 Probe Target
1075
+ *
1076
+ * This option adds G38.2 and G38.3 (probe towards target)
1077
+ * and optionally G38.4 and G38.5 (probe away from target).
1078
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1079
+ */
1075 1080
 //#define G38_PROBE_TARGET
1076 1081
 #if ENABLED(G38_PROBE_TARGET)
1077
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1082
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1083
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1078 1084
 #endif
1079 1085
 
1080 1086
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/makibox/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/tvrrug/Round2/Configuration_adv.h View File

@@ -1068,11 +1068,17 @@
1068 1068
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1069 1069
 //#define BEZIER_CURVE_SUPPORT
1070 1070
 
1071
-// G38.2 and G38.3 Probe Target
1072
-// Set MULTIPLE_PROBING if you want G38 to double touch
1071
+/**
1072
+ * G38 Probe Target
1073
+ *
1074
+ * This option adds G38.2 and G38.3 (probe towards target)
1075
+ * and optionally G38.4 and G38.5 (probe away from target).
1076
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1077
+ */
1073 1078
 //#define G38_PROBE_TARGET
1074 1079
 #if ENABLED(G38_PROBE_TARGET)
1075
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1080
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1081
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1076 1082
 #endif
1077 1083
 
1078 1084
 // Moves (or segments) with fewer steps than this will be joined with the next move

+ 9
- 3
config/examples/wt150/Configuration_adv.h View File

@@ -1069,11 +1069,17 @@
1069 1069
 // Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
1070 1070
 //#define BEZIER_CURVE_SUPPORT
1071 1071
 
1072
-// G38.2 and G38.3 Probe Target
1073
-// Set MULTIPLE_PROBING if you want G38 to double touch
1072
+/**
1073
+ * G38 Probe Target
1074
+ *
1075
+ * This option adds G38.2 and G38.3 (probe towards target)
1076
+ * and optionally G38.4 and G38.5 (probe away from target).
1077
+ * Set MULTIPLE_PROBING for G38 to probe more than once.
1078
+ */
1074 1079
 //#define G38_PROBE_TARGET
1075 1080
 #if ENABLED(G38_PROBE_TARGET)
1076
-  #define G38_MINIMUM_MOVE 0.0275 // minimum distance in mm that will produce a move (determined using the print statement in check_move)
1081
+  //#define G38_PROBE_AWAY        // Include G38.4 and G38.5 to probe away from target
1082
+  #define G38_MINIMUM_MOVE 0.0275 // (mm) Minimum distance that will produce a move.
1077 1083
 #endif
1078 1084
 
1079 1085
 // Moves (or segments) with fewer steps than this will be joined with the next move

Loading…
Cancel
Save