Browse Source

Add M851 X Y probe offsets (#15202)

InsanityAutomation 4 years ago
parent
commit
df1e51258a
100 changed files with 693 additions and 1198 deletions
  1. 6
    13
      Marlin/Configuration.h
  2. 1
    1
      Marlin/src/HAL/HAL_AVR/Servo.cpp
  3. 1
    1
      Marlin/src/core/language.h
  4. 9
    13
      Marlin/src/core/utility.cpp
  5. 3
    3
      Marlin/src/feature/bedlevel/ubl/ubl.cpp
  6. 19
    24
      Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
  7. 6
    4
      Marlin/src/gcode/bedlevel/G42.cpp
  8. 11
    9
      Marlin/src/gcode/bedlevel/M420.cpp
  9. 10
    10
      Marlin/src/gcode/bedlevel/abl/G29.cpp
  10. 2
    2
      Marlin/src/gcode/calibrate/G28.cpp
  11. 4
    4
      Marlin/src/gcode/calibrate/M48.cpp
  12. 1
    1
      Marlin/src/gcode/gcode.h
  13. 2
    2
      Marlin/src/gcode/motion/M290.cpp
  14. 2
    2
      Marlin/src/gcode/probe/G30.cpp
  15. 34
    8
      Marlin/src/gcode/probe/M851.cpp
  16. 32
    63
      Marlin/src/inc/Conditionals_post.h
  17. 21
    27
      Marlin/src/inc/SanityCheck.h
  18. 3
    3
      Marlin/src/lcd/extensible_ui/ui_api.cpp
  19. 4
    4
      Marlin/src/lcd/menu/menu.cpp
  20. 2
    2
      Marlin/src/lcd/menu/menu_bed_corners.cpp
  21. 1
    1
      Marlin/src/lcd/menu/menu_bed_leveling.cpp
  22. 1
    1
      Marlin/src/lcd/menu/menu_configuration.cpp
  23. 21
    18
      Marlin/src/module/configuration_store.cpp
  24. 1
    1
      Marlin/src/module/delta.cpp
  25. 4
    4
      Marlin/src/module/motion.cpp
  26. 8
    8
      Marlin/src/module/motion.h
  27. 44
    7
      Marlin/src/module/probe.cpp
  28. 8
    1
      Marlin/src/module/probe.h
  29. 6
    13
      config/default/Configuration.h
  30. 6
    13
      config/examples/3DFabXYZ/Migbot/Configuration.h
  31. 6
    13
      config/examples/ADIMLab/Gantry v1/Configuration.h
  32. 6
    13
      config/examples/ADIMLab/Gantry v2/Configuration.h
  33. 6
    13
      config/examples/AlephObjects/TAZ4/Configuration.h
  34. 7
    14
      config/examples/Alfawise/U20-bltouch/Configuration.h
  35. 7
    14
      config/examples/Alfawise/U20/Configuration.h
  36. 6
    13
      config/examples/AliExpress/CL-260/Configuration.h
  37. 6
    13
      config/examples/AliExpress/UM2pExt/Configuration.h
  38. 6
    13
      config/examples/Anet/A2/Configuration.h
  39. 6
    13
      config/examples/Anet/A2plus/Configuration.h
  40. 10
    49
      config/examples/Anet/A6/Configuration.h
  41. 6
    13
      config/examples/Anet/A8/Configuration.h
  42. 6
    13
      config/examples/Anet/A8plus/Configuration.h
  43. 6
    13
      config/examples/Anet/E16/Configuration.h
  44. 6
    13
      config/examples/AnyCubic/i3/Configuration.h
  45. 6
    13
      config/examples/ArmEd/Configuration.h
  46. 6
    13
      config/examples/Azteeg/X5GT/Configuration.h
  47. 6
    13
      config/examples/BIBO/TouchX/cyclops/Configuration.h
  48. 6
    13
      config/examples/BIBO/TouchX/default/Configuration.h
  49. 6
    13
      config/examples/BQ/Hephestos/Configuration.h
  50. 6
    13
      config/examples/BQ/Hephestos_2/Configuration.h
  51. 6
    13
      config/examples/BQ/WITBOX/Configuration.h
  52. 6
    13
      config/examples/Cartesio/Configuration.h
  53. 6
    13
      config/examples/Creality/CR-10/Configuration.h
  54. 6
    13
      config/examples/Creality/CR-10S/Configuration.h
  55. 6
    13
      config/examples/Creality/CR-10_5S/Configuration.h
  56. 6
    13
      config/examples/Creality/CR-10mini/Configuration.h
  57. 6
    13
      config/examples/Creality/CR-20 Pro/Configuration.h
  58. 6
    13
      config/examples/Creality/CR-20/Configuration.h
  59. 6
    13
      config/examples/Creality/CR-8/Configuration.h
  60. 6
    13
      config/examples/Creality/Ender-2/Configuration.h
  61. 6
    13
      config/examples/Creality/Ender-3/Configuration.h
  62. 6
    13
      config/examples/Creality/Ender-4/Configuration.h
  63. 6
    13
      config/examples/Creality/Ender-5/Configuration.h
  64. 6
    13
      config/examples/Dagoma/Disco Ultimate/Configuration.h
  65. 6
    13
      config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h
  66. 6
    13
      config/examples/Einstart-S/Configuration.h
  67. 6
    13
      config/examples/FYSETC/AIO_II/Configuration.h
  68. 6
    13
      config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h
  69. 6
    13
      config/examples/FYSETC/Cheetah 1.2/base/Configuration.h
  70. 6
    13
      config/examples/FYSETC/Cheetah/BLTouch/Configuration.h
  71. 6
    13
      config/examples/FYSETC/Cheetah/base/Configuration.h
  72. 6
    13
      config/examples/FYSETC/F6_13/Configuration.h
  73. 6
    13
      config/examples/Felix/Configuration.h
  74. 6
    13
      config/examples/Felix/DUAL/Configuration.h
  75. 6
    13
      config/examples/FlashForge/CreatorPro/Configuration.h
  76. 6
    13
      config/examples/FolgerTech/i3-2020/Configuration.h
  77. 6
    13
      config/examples/Formbot/Raptor/Configuration.h
  78. 6
    13
      config/examples/Formbot/T_Rex_2+/Configuration.h
  79. 6
    13
      config/examples/Formbot/T_Rex_3/Configuration.h
  80. 6
    13
      config/examples/Geeetech/A10/Configuration.h
  81. 6
    13
      config/examples/Geeetech/A10M/Configuration.h
  82. 6
    13
      config/examples/Geeetech/A20M/Configuration.h
  83. 6
    13
      config/examples/Geeetech/GT2560/Configuration.h
  84. 6
    13
      config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  85. 6
    13
      config/examples/Geeetech/MeCreator2/Configuration.h
  86. 6
    13
      config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  87. 6
    13
      config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  88. 6
    13
      config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  89. 6
    13
      config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  90. 6
    13
      config/examples/HMS434/Configuration.h
  91. 6
    13
      config/examples/Infitary/i3-M508/Configuration.h
  92. 6
    13
      config/examples/JGAurora/A1/Configuration.h
  93. 6
    13
      config/examples/JGAurora/A5/Configuration.h
  94. 6
    13
      config/examples/JGAurora/A5S/Configuration.h
  95. 6
    13
      config/examples/MakerParts/Configuration.h
  96. 6
    13
      config/examples/Malyan/M150/Configuration.h
  97. 6
    13
      config/examples/Malyan/M200/Configuration.h
  98. 6
    13
      config/examples/Micromake/C1/basic/Configuration.h
  99. 6
    13
      config/examples/Micromake/C1/enhanced/Configuration.h
  100. 0
    0
      config/examples/Mks/Robin/Configuration.h

+ 6
- 13
Marlin/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 1
- 1
Marlin/src/HAL/HAL_AVR/Servo.cpp View File

131
       TCCR1A = 0;             // normal counting mode
131
       TCCR1A = 0;             // normal counting mode
132
       TCCR1B = _BV(CS11);     // set prescaler of 8
132
       TCCR1B = _BV(CS11);     // set prescaler of 8
133
       TCNT1 = 0;              // clear the timer count
133
       TCNT1 = 0;              // clear the timer count
134
-      #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)
134
+      #if defined(__AVR_ATmega8__) || defined(__AVR_ATmega128__)
135
         SBI(TIFR, OCF1A);      // clear any pending interrupts;
135
         SBI(TIFR, OCF1A);      // clear any pending interrupts;
136
         SBI(TIMSK, OCIE1A);    // enable the output compare interrupt
136
         SBI(TIMSK, OCIE1A);    // enable the output compare interrupt
137
       #else
137
       #else

+ 1
- 1
Marlin/src/core/language.h View File

198
 #define MSG_Z3_MAX                          "z3_max"
198
 #define MSG_Z3_MAX                          "z3_max"
199
 #define MSG_Z_PROBE                         "z_probe"
199
 #define MSG_Z_PROBE                         "z_probe"
200
 #define MSG_FILAMENT_RUNOUT_SENSOR          "filament"
200
 #define MSG_FILAMENT_RUNOUT_SENSOR          "filament"
201
-#define MSG_PROBE_Z_OFFSET                  "Probe Z Offset"
201
+#define MSG_PROBE_OFFSET                    "Probe Offset"
202
 #define MSG_SKEW_MIN                        "min_skew_factor: "
202
 #define MSG_SKEW_MIN                        "min_skew_factor: "
203
 #define MSG_SKEW_MAX                        "max_skew_factor: "
203
 #define MSG_SKEW_MAX                        "max_skew_factor: "
204
 #define MSG_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)"
204
 #define MSG_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)"

+ 9
- 13
Marlin/src/core/utility.cpp View File

79
     );
79
     );
80
 
80
 
81
     #if HAS_BED_PROBE
81
     #if HAS_BED_PROBE
82
-      SERIAL_ECHOPAIR(
83
-        "Probe Offset X:" STRINGIFY(X_PROBE_OFFSET_FROM_EXTRUDER)
84
-                    " Y:" STRINGIFY(Y_PROBE_OFFSET_FROM_EXTRUDER)
85
-                    " Z:", zprobe_zoffset
86
-      );
87
-      if ((X_PROBE_OFFSET_FROM_EXTRUDER) > 0)
82
+      SERIAL_ECHOPAIR("Probe Offset X:", zprobe_offset[X_AXIS], " Y:", zprobe_offset[Y_AXIS], " Z:", zprobe_offset[Z_AXIS]);
83
+      if (zprobe_offset[X_AXIS] > 0)
88
         SERIAL_ECHOPGM(" (Right");
84
         SERIAL_ECHOPGM(" (Right");
89
-      else if ((X_PROBE_OFFSET_FROM_EXTRUDER) < 0)
85
+      else if (zprobe_offset[X_AXIS] < 0)
90
         SERIAL_ECHOPGM(" (Left");
86
         SERIAL_ECHOPGM(" (Left");
91
-      else if ((Y_PROBE_OFFSET_FROM_EXTRUDER) != 0)
87
+      else if (zprobe_offset[Y_AXIS] != 0)
92
         SERIAL_ECHOPGM(" (Middle");
88
         SERIAL_ECHOPGM(" (Middle");
93
       else
89
       else
94
         SERIAL_ECHOPGM(" (Aligned With");
90
         SERIAL_ECHOPGM(" (Aligned With");
95
 
91
 
96
-      if ((Y_PROBE_OFFSET_FROM_EXTRUDER) > 0) {
92
+      if (zprobe_offset[Y_AXIS] > 0) {
97
         #if IS_SCARA
93
         #if IS_SCARA
98
           SERIAL_ECHOPGM("-Distal");
94
           SERIAL_ECHOPGM("-Distal");
99
         #else
95
         #else
100
           SERIAL_ECHOPGM("-Back");
96
           SERIAL_ECHOPGM("-Back");
101
         #endif
97
         #endif
102
       }
98
       }
103
-      else if ((Y_PROBE_OFFSET_FROM_EXTRUDER) < 0) {
99
+      else if (zprobe_offset[Y_AXIS] < 0) {
104
         #if IS_SCARA
100
         #if IS_SCARA
105
           SERIAL_ECHOPGM("-Proximal");
101
           SERIAL_ECHOPGM("-Proximal");
106
         #else
102
         #else
107
           SERIAL_ECHOPGM("-Front");
103
           SERIAL_ECHOPGM("-Front");
108
         #endif
104
         #endif
109
       }
105
       }
110
-      else if ((X_PROBE_OFFSET_FROM_EXTRUDER) != 0)
106
+      else if (zprobe_offset[X_AXIS] != 0)
111
         SERIAL_ECHOPGM("-Center");
107
         SERIAL_ECHOPGM("-Center");
112
 
108
 
113
-      if (zprobe_zoffset < 0)
109
+      if (zprobe_offset[Z_AXIS] < 0)
114
         SERIAL_ECHOPGM(" & Below");
110
         SERIAL_ECHOPGM(" & Below");
115
-      else if (zprobe_zoffset > 0)
111
+      else if (zprobe_offset[Z_AXIS] > 0)
116
         SERIAL_ECHOPGM(" & Above");
112
         SERIAL_ECHOPGM(" & Above");
117
       else
113
       else
118
         SERIAL_ECHOPGM(" & Same Z as");
114
         SERIAL_ECHOPGM(" & Same Z as");

+ 3
- 3
Marlin/src/feature/bedlevel/ubl/ubl.cpp View File

177
       serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n"));
177
       serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n"));
178
     }
178
     }
179
 
179
 
180
-    // Add XY_PROBE_OFFSET_FROM_EXTRUDER because probe_pt() subtracts these when
180
+    // Add XY probe offset from extruder because probe_pt() subtracts them when
181
     // moving to the xy position to be measured. This ensures better agreement between
181
     // moving to the xy position to be measured. This ensures better agreement between
182
     // the current Z position after G28 and the mesh values.
182
     // the current Z position after G28 and the mesh values.
183
-    const float current_xi = find_closest_x_index(current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER),
184
-                current_yi = find_closest_y_index(current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER);
183
+    const float current_xi = find_closest_x_index(current_position[X_AXIS] + zprobe_offset[X_AXIS]),
184
+                current_yi = find_closest_y_index(current_position[Y_AXIS] + zprobe_offset[Y_AXIS]);
185
 
185
 
186
     if (!lcd) SERIAL_EOL();
186
     if (!lcd) SERIAL_EOL();
187
     for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) {
187
     for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) {

+ 19
- 24
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp View File

290
    *   especially better for Delta printers, since it populates the center of the mesh first, allowing for
290
    *   especially better for Delta printers, since it populates the center of the mesh first, allowing for
291
    *   a quicker test print to verify settings. You don't need to populate the entire mesh to use it.
291
    *   a quicker test print to verify settings. You don't need to populate the entire mesh to use it.
292
    *   After all, you don't want to spend a lot of time generating a mesh only to realize the resolution
292
    *   After all, you don't want to spend a lot of time generating a mesh only to realize the resolution
293
-   *   or zprobe_zoffset are incorrect. Mesh-generation gathers points starting closest to the nozzle unless
293
+   *   or probe offsets are incorrect. Mesh-generation gathers points starting closest to the nozzle unless
294
    *   an (X,Y) coordinate pair is given.
294
    *   an (X,Y) coordinate pair is given.
295
    *
295
    *
296
    *   Unified Bed Leveling uses a lot of EEPROM storage to hold its data, and it takes some effort to get
296
    *   Unified Bed Leveling uses a lot of EEPROM storage to hold its data, and it takes some effort to get
453
               SERIAL_ECHO(g29_y_pos);
453
               SERIAL_ECHO(g29_y_pos);
454
               SERIAL_ECHOLNPGM(").\n");
454
               SERIAL_ECHOLNPGM(").\n");
455
             }
455
             }
456
-            probe_entire_mesh(g29_x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, g29_y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER,
456
+            probe_entire_mesh(g29_x_pos + zprobe_offset[X_AXIS], g29_y_pos + zprobe_offset[Y_AXIS],
457
                               parser.seen('T'), parser.seen('E'), parser.seen('U'));
457
                               parser.seen('T'), parser.seen('E'), parser.seen('U'));
458
 
458
 
459
             report_current_position();
459
             report_current_position();
482
                 g29_x_pos = X_HOME_POS;
482
                 g29_x_pos = X_HOME_POS;
483
                 g29_y_pos = Y_HOME_POS;
483
                 g29_y_pos = Y_HOME_POS;
484
               #else // cartesian
484
               #else // cartesian
485
-                g29_x_pos = X_PROBE_OFFSET_FROM_EXTRUDER > 0 ? X_BED_SIZE : 0;
486
-                g29_y_pos = Y_PROBE_OFFSET_FROM_EXTRUDER < 0 ? Y_BED_SIZE : 0;
485
+                g29_x_pos = zprobe_offset[X_AXIS] > 0 ? X_BED_SIZE : 0;
486
+                g29_y_pos = zprobe_offset[Y_AXIS] < 0 ? Y_BED_SIZE : 0;
487
               #endif
487
               #endif
488
             }
488
             }
489
 
489
 
800
       restore_ubl_active_state_and_leave();
800
       restore_ubl_active_state_and_leave();
801
 
801
 
802
       do_blocking_move_to_xy(
802
       do_blocking_move_to_xy(
803
-        constrain(rx - (X_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_X, MESH_MAX_X),
804
-        constrain(ry - (Y_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_Y, MESH_MAX_Y)
803
+        constrain(rx - zprobe_offset[X_AXIS], MESH_MIN_X, MESH_MAX_X),
804
+        constrain(ry - zprobe_offset[Y_AXIS], MESH_MIN_Y, MESH_MAX_Y)
805
       );
805
       );
806
     }
806
     }
807
 
807
 
1281
     out_mesh.distance = -99999.9f;
1281
     out_mesh.distance = -99999.9f;
1282
 
1282
 
1283
     // Get our reference position. Either the nozzle or probe location.
1283
     // Get our reference position. Either the nozzle or probe location.
1284
-    const float px = rx + (probe_as_reference == USE_PROBE_AS_REFERENCE ? X_PROBE_OFFSET_FROM_EXTRUDER : 0),
1285
-                py = ry + (probe_as_reference == USE_PROBE_AS_REFERENCE ? Y_PROBE_OFFSET_FROM_EXTRUDER : 0);
1284
+    const float px = rx + (probe_as_reference == USE_PROBE_AS_REFERENCE ? zprobe_offset[X_AXIS] : 0),
1285
+                py = ry + (probe_as_reference == USE_PROBE_AS_REFERENCE ? zprobe_offset[Y_AXIS] : 0);
1286
 
1286
 
1287
     float best_so_far = 99999.99f;
1287
     float best_so_far = 99999.99f;
1288
 
1288
 
1384
     #include "../../../libs/vector_3.h"
1384
     #include "../../../libs/vector_3.h"
1385
 
1385
 
1386
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_3_pt_leveling) {
1386
     void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_3_pt_leveling) {
1387
-      constexpr int16_t x_min = _MAX(MIN_PROBE_X, MESH_MIN_X),
1388
-                        x_max = _MIN(MAX_PROBE_X, MESH_MAX_X),
1389
-                        y_min = _MAX(MIN_PROBE_Y, MESH_MIN_Y),
1390
-                        y_max = _MIN(MAX_PROBE_Y, MESH_MAX_Y);
1391
-
1392
-      bool abort_flag = false;
1387
+      const float x_min = probe_min_x(), x_max = probe_max_x(),
1388
+                  y_min = probe_min_y(), y_max = probe_max_y(),
1389
+                  dx = (x_max - x_min) / (g29_grid_size - 1),
1390
+                  dy = (y_max - y_min) / (g29_grid_size - 1);
1393
 
1391
 
1394
       float measured_z;
1392
       float measured_z;
1393
+      bool abort_flag = false;
1395
 
1394
 
1396
-      const float dx = float(x_max - x_min) / (g29_grid_size - 1),
1397
-                  dy = float(y_max - y_min) / (g29_grid_size - 1);
1395
+      //float z1, z2, z3;  // Needed for algorithm validation below
1398
 
1396
 
1399
       struct linear_fit_data lsf_results;
1397
       struct linear_fit_data lsf_results;
1400
-
1401
-      //float z1, z2, z3;  // Needed for algorithm validation down below.
1402
-
1403
       incremental_LSF_reset(&lsf_results);
1398
       incremental_LSF_reset(&lsf_results);
1404
 
1399
 
1405
       if (do_3_pt_leveling) {
1400
       if (do_3_pt_leveling) {
1478
         uint16_t total_points = g29_grid_size * g29_grid_size, point_num = 1;
1473
         uint16_t total_points = g29_grid_size * g29_grid_size, point_num = 1;
1479
 
1474
 
1480
         for (uint8_t ix = 0; ix < g29_grid_size; ix++) {
1475
         for (uint8_t ix = 0; ix < g29_grid_size; ix++) {
1481
-          const float rx = float(x_min) + ix * dx;
1476
+          const float rx = x_min + ix * dx;
1482
           for (int8_t iy = 0; iy < g29_grid_size; iy++) {
1477
           for (int8_t iy = 0; iy < g29_grid_size; iy++) {
1483
-            const float ry = float(y_min) + dy * (zig_zag ? g29_grid_size - 1 - iy : iy);
1478
+            const float ry = y_min + dy * (zig_zag ? g29_grid_size - 1 - iy : iy);
1484
 
1479
 
1485
             if (!abort_flag) {
1480
             if (!abort_flag) {
1486
               SERIAL_ECHOLNPAIR("Tilting mesh point ", point_num, "/", total_points, "\n");
1481
               SERIAL_ECHOLNPAIR("Tilting mesh point ", point_num, "/", total_points, "\n");
1505
                 DEBUG_ECHOPAIR_F("   correction: ", get_z_correction(rx, ry), 7);
1500
                 DEBUG_ECHOPAIR_F("   correction: ", get_z_correction(rx, ry), 7);
1506
               }
1501
               }
1507
 
1502
 
1508
-              measured_z -= get_z_correction(rx, ry) /* + zprobe_zoffset */ ;
1503
+              measured_z -= get_z_correction(rx, ry) /* + zprobe_offset[Z_AXIS] */ ;
1509
 
1504
 
1510
               if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR_F("   final >>>---> ", measured_z, 7);
1505
               if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR_F("   final >>>---> ", measured_z, 7);
1511
 
1506
 
1711
       serial_delay(50);
1706
       serial_delay(50);
1712
 
1707
 
1713
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1708
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1714
-        SERIAL_ECHOLNPAIR_F("planner.z_fade_height : ", planner.z_fade_height, 4);
1709
+        SERIAL_ECHOLNPAIR_F("Fade Height M420 Z", planner.z_fade_height, 4);
1715
       #endif
1710
       #endif
1716
 
1711
 
1717
       adjust_mesh_to_mean(g29_c_flag, g29_constant);
1712
       adjust_mesh_to_mean(g29_c_flag, g29_constant);
1718
 
1713
 
1719
       #if HAS_BED_PROBE
1714
       #if HAS_BED_PROBE
1720
-        SERIAL_ECHOLNPAIR_F("zprobe_zoffset: ", zprobe_zoffset, 7);
1715
+        SERIAL_ECHOLNPAIR_F("Probe Offset M851 Z", zprobe_offset[Z_AXIS], 7);
1721
       #endif
1716
       #endif
1722
 
1717
 
1723
       SERIAL_ECHOLNPAIR("MESH_MIN_X  " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X); serial_delay(50);
1718
       SERIAL_ECHOLNPAIR("MESH_MIN_X  " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X); serial_delay(50);

+ 6
- 4
Marlin/src/gcode/bedlevel/G42.cpp View File

47
     set_destination_from_current();
47
     set_destination_from_current();
48
     if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
48
     if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
49
     if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);
49
     if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);
50
-    if (parser.boolval('P')) {
51
-      if (hasI) destination[X_AXIS] -= X_PROBE_OFFSET_FROM_EXTRUDER;
52
-      if (hasJ) destination[Y_AXIS] -= Y_PROBE_OFFSET_FROM_EXTRUDER;
53
-    }
50
+    #if HAS_BED_PROBE
51
+      if (parser.boolval('P')) {
52
+        if (hasI) destination[X_AXIS] -= zprobe_offset[X_AXIS];
53
+        if (hasJ) destination[Y_AXIS] -= zprobe_offset[Y_AXIS];
54
+      }
55
+    #endif
54
 
56
 
55
     const float fval = parser.linearval('F');
57
     const float fval = parser.linearval('F');
56
     if (fval > 0.0) feedrate_mm_s = MMM_TO_MMS(fval);
58
     if (fval > 0.0) feedrate_mm_s = MMM_TO_MMS(fval);

+ 11
- 9
Marlin/src/gcode/bedlevel/M420.cpp View File

64
   #if ENABLED(MARLIN_DEV_MODE)
64
   #if ENABLED(MARLIN_DEV_MODE)
65
     if (parser.intval('S') == 2) {
65
     if (parser.intval('S') == 2) {
66
       #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
66
       #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
67
-        bilinear_start[X_AXIS] = MIN_PROBE_X;
68
-        bilinear_start[Y_AXIS] = MIN_PROBE_Y;
69
-        bilinear_grid_spacing[X_AXIS] = (MAX_PROBE_X - (MIN_PROBE_X)) / (GRID_MAX_POINTS_X - 1);
70
-        bilinear_grid_spacing[Y_AXIS] = (MAX_PROBE_Y - (MIN_PROBE_Y)) / (GRID_MAX_POINTS_Y - 1);
67
+        const float x_min = probe_min_x(), x_max = probe_max_x(),
68
+                    y_min = probe_min_y(), y_max = probe_max_y();
69
+        bilinear_start[X_AXIS] = x_min;
70
+        bilinear_start[Y_AXIS] = y_min;
71
+        bilinear_grid_spacing[X_AXIS] = (x_max - x_min) / (GRID_MAX_POINTS_X - 1);
72
+        bilinear_grid_spacing[Y_AXIS] = (y_max - y_min) / (GRID_MAX_POINTS_Y - 1);
71
       #endif
73
       #endif
72
       for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)
74
       for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++)
73
         for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) {
75
         for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) {
76
             ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y));
78
             ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y));
77
           #endif
79
           #endif
78
         }
80
         }
79
-      SERIAL_ECHOPGM("Simulated " STRINGIFY(GRID_MAX_POINTS_X) "x" STRINGIFY(GRID_MAX_POINTS_X) " mesh ");
80
-      SERIAL_ECHOPAIR(" (", MIN_PROBE_X);
81
-      SERIAL_CHAR(','); SERIAL_ECHO(MIN_PROBE_Y);
82
-      SERIAL_ECHOPAIR(")-(", MAX_PROBE_X);
83
-      SERIAL_CHAR(','); SERIAL_ECHO(MAX_PROBE_Y);
81
+      SERIAL_ECHOPGM("Simulated " STRINGIFY(GRID_MAX_POINTS_X) "x" STRINGIFY(GRID_MAX_POINTS_Y) " mesh ");
82
+      SERIAL_ECHOPAIR(" (", x_min);
83
+      SERIAL_CHAR(','); SERIAL_ECHO(y_min);
84
+      SERIAL_ECHOPAIR(")-(", x_max);
85
+      SERIAL_CHAR(','); SERIAL_ECHO(y_max);
84
       SERIAL_ECHOLNPGM(")");
86
       SERIAL_ECHOLNPGM(")");
85
     }
87
     }
86
   #endif
88
   #endif

+ 10
- 10
Marlin/src/gcode/bedlevel/abl/G29.cpp View File

393
 
393
 
394
       if (parser.seen('H')) {
394
       if (parser.seen('H')) {
395
         const int16_t size = (int16_t)parser.value_linear_units();
395
         const int16_t size = (int16_t)parser.value_linear_units();
396
-        left_probe_bed_position  = _MAX(X_CENTER - size / 2, MIN_PROBE_X);
397
-        right_probe_bed_position = _MIN(left_probe_bed_position + size, MAX_PROBE_X);
398
-        front_probe_bed_position = _MAX(Y_CENTER - size / 2, MIN_PROBE_Y);
399
-        back_probe_bed_position  = _MIN(front_probe_bed_position + size, MAX_PROBE_Y);
396
+        left_probe_bed_position  = _MAX(X_CENTER - size / 2, probe_min_x());
397
+        right_probe_bed_position = _MIN(left_probe_bed_position + size, probe_max_x());
398
+        front_probe_bed_position = _MAX(Y_CENTER - size / 2, probe_min_y());
399
+        back_probe_bed_position  = _MIN(front_probe_bed_position + size, probe_max_y());
400
       }
400
       }
401
       else {
401
       else {
402
-        left_probe_bed_position  = parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : LEFT_PROBE_BED_POSITION;
403
-        right_probe_bed_position = parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : RIGHT_PROBE_BED_POSITION;
404
-        front_probe_bed_position = parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : FRONT_PROBE_BED_POSITION;
405
-        back_probe_bed_position  = parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : BACK_PROBE_BED_POSITION;
402
+        left_probe_bed_position  = parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MAX(X_CENTER - X_BED_SIZE / 2, probe_min_x());
403
+        right_probe_bed_position = parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MIN(left_probe_bed_position + X_BED_SIZE, probe_max_x());
404
+        front_probe_bed_position = parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MAX(Y_CENTER - Y_BED_SIZE / 2, probe_min_y());
405
+        back_probe_bed_position  = parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MIN(front_probe_bed_position + Y_BED_SIZE, probe_max_y());
406
       }
406
       }
407
 
407
 
408
       if (
408
       if (
947
         planner.leveling_active = false;
947
         planner.leveling_active = false;
948
 
948
 
949
         // Use the last measured distance to the bed, if possible
949
         // Use the last measured distance to the bed, if possible
950
-        if ( NEAR(current_position[X_AXIS], xProbe - (X_PROBE_OFFSET_FROM_EXTRUDER))
951
-          && NEAR(current_position[Y_AXIS], yProbe - (Y_PROBE_OFFSET_FROM_EXTRUDER))
950
+        if ( NEAR(current_position[X_AXIS], xProbe - zprobe_offset[X_AXIS])
951
+          && NEAR(current_position[Y_AXIS], yProbe - zprobe_offset[Y_AXIS])
952
         ) {
952
         ) {
953
           const float simple_z = current_position[Z_AXIS] - measured_z;
953
           const float simple_z = current_position[Z_AXIS] - measured_z;
954
           if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Probed Z", simple_z, "  Matrix Z", converted[Z_AXIS], "  Discrepancy ", simple_z - converted[Z_AXIS]);
954
           if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Probed Z", simple_z, "  Matrix Z", converted[Z_AXIS], "  Discrepancy ", simple_z - converted[Z_AXIS]);

+ 2
- 2
Marlin/src/gcode/calibrate/G28.cpp View File

136
     destination[Z_AXIS] = current_position[Z_AXIS]; // Z is already at the right height
136
     destination[Z_AXIS] = current_position[Z_AXIS]; // Z is already at the right height
137
 
137
 
138
     #if HOMING_Z_WITH_PROBE
138
     #if HOMING_Z_WITH_PROBE
139
-      destination[X_AXIS] -= X_PROBE_OFFSET_FROM_EXTRUDER;
140
-      destination[Y_AXIS] -= Y_PROBE_OFFSET_FROM_EXTRUDER;
139
+      destination[X_AXIS] -= zprobe_offset[X_AXIS];
140
+      destination[Y_AXIS] -= zprobe_offset[Y_AXIS];
141
     #endif
141
     #endif
142
 
142
 
143
     if (position_is_reachable(destination[X_AXIS], destination[Y_AXIS])) {
143
     if (position_is_reachable(destination[X_AXIS], destination[Y_AXIS])) {

+ 4
- 4
Marlin/src/gcode/calibrate/M48.cpp View File

77
   float X_current = current_position[X_AXIS],
77
   float X_current = current_position[X_AXIS],
78
         Y_current = current_position[Y_AXIS];
78
         Y_current = current_position[Y_AXIS];
79
 
79
 
80
-  const float X_probe_location = parser.linearval('X', X_current + X_PROBE_OFFSET_FROM_EXTRUDER),
81
-              Y_probe_location = parser.linearval('Y', Y_current + Y_PROBE_OFFSET_FROM_EXTRUDER);
80
+  const float X_probe_location = parser.linearval('X', X_current + zprobe_offset[X_AXIS]),
81
+              Y_probe_location = parser.linearval('Y', Y_current + zprobe_offset[Y_AXIS]);
82
 
82
 
83
   if (!position_is_reachable_by_probe(X_probe_location, Y_probe_location)) {
83
   if (!position_is_reachable_by_probe(X_probe_location, Y_probe_location)) {
84
     SERIAL_ECHOLNPGM("? (X,Y) out of bounds.");
84
     SERIAL_ECHOLNPGM("? (X,Y) out of bounds.");
165
           while (angle < 0.0) angle += 360.0;   // outside of this range.   It looks like they behave correctly with
165
           while (angle < 0.0) angle += 360.0;   // outside of this range.   It looks like they behave correctly with
166
                                                 // numbers outside of the range, but just to be safe we clamp them.
166
                                                 // numbers outside of the range, but just to be safe we clamp them.
167
 
167
 
168
-          X_current = X_probe_location - (X_PROBE_OFFSET_FROM_EXTRUDER) + cos(RADIANS(angle)) * radius;
169
-          Y_current = Y_probe_location - (Y_PROBE_OFFSET_FROM_EXTRUDER) + sin(RADIANS(angle)) * radius;
168
+          X_current = X_probe_location - zprobe_offset[X_AXIS] + cos(RADIANS(angle)) * radius;
169
+          Y_current = Y_probe_location - zprobe_offset[Y_AXIS] + sin(RADIANS(angle)) * radius;
170
 
170
 
171
           #if DISABLED(DELTA)
171
           #if DISABLED(DELTA)
172
             LIMIT(X_current, X_MIN_POS, X_MAX_POS);
172
             LIMIT(X_current, X_MIN_POS, X_MAX_POS);

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

229
  * M701 - Load filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
229
  * M701 - Load filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
230
  * M702 - Unload filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
230
  * M702 - Unload filament (Requires FILAMENT_LOAD_UNLOAD_GCODES)
231
  * M810-M819 - Define/execute a G-code macro (Requires GCODE_MACROS)
231
  * M810-M819 - Define/execute a G-code macro (Requires GCODE_MACROS)
232
- * M851 - Set Z probe's Z offset in current units. (Negative = below the nozzle.)
232
+ * M851 - Set Z probe's XYZ offsets in current units. (Negative values: X=left, Y=front, Z=below)
233
  * M852 - Set skew factors: "M852 [I<xy>] [J<xz>] [K<yz>]". (Requires SKEW_CORRECTION_GCODE, and SKEW_CORRECTION_FOR_Z for IJ)
233
  * M852 - Set skew factors: "M852 [I<xy>] [J<xz>] [K<yz>]". (Requires SKEW_CORRECTION_GCODE, and SKEW_CORRECTION_FOR_Z for IJ)
234
  * M860 - Report the position of position encoder modules.
234
  * M860 - Report the position of position encoder modules.
235
  * M861 - Report the status of position encoder modules.
235
  * M861 - Report the status of position encoder modules.

+ 2
- 2
Marlin/src/gcode/motion/M290.cpp View File

42
         && active_extruder == 0
42
         && active_extruder == 0
43
       #endif
43
       #endif
44
     ) {
44
     ) {
45
-      zprobe_zoffset += offs;
45
+      zprobe_offset[Z_AXIS] += offs;
46
       SERIAL_ECHO_START();
46
       SERIAL_ECHO_START();
47
-      SERIAL_ECHOLNPAIR(MSG_PROBE_Z_OFFSET ": ", zprobe_zoffset);
47
+      SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", zprobe_offset[Z_AXIS]);
48
     }
48
     }
49
     #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
49
     #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
50
       else {
50
       else {

+ 2
- 2
Marlin/src/gcode/probe/G30.cpp View File

39
  *   E   Engage the probe for each probe (default 1)
39
  *   E   Engage the probe for each probe (default 1)
40
  */
40
  */
41
 void GcodeSuite::G30() {
41
 void GcodeSuite::G30() {
42
-  const float xpos = parser.linearval('X', current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER),
43
-              ypos = parser.linearval('Y', current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER);
42
+  const float xpos = parser.linearval('X', current_position[X_AXIS] + zprobe_offset[X_AXIS]),
43
+              ypos = parser.linearval('Y', current_position[Y_AXIS] + zprobe_offset[Y_AXIS]);
44
 
44
 
45
   if (!position_is_reachable_by_probe(xpos, ypos)) return;
45
   if (!position_is_reachable_by_probe(xpos, ypos)) return;
46
 
46
 

+ 34
- 8
Marlin/src/gcode/probe/M851.cpp View File

28
 #include "../../feature/bedlevel/bedlevel.h"
28
 #include "../../feature/bedlevel/bedlevel.h"
29
 #include "../../module/probe.h"
29
 #include "../../module/probe.h"
30
 
30
 
31
+/**
32
+ * M851: Set the nozzle-to-probe offsets in current units
33
+ */
31
 void GcodeSuite::M851() {
34
 void GcodeSuite::M851() {
32
-  if (parser.seenval('Z')) {
33
-    const float value = parser.value_linear_units();
34
-    if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX))
35
-      zprobe_zoffset = value;
36
-    else
37
-      SERIAL_ERROR_MSG("?Z out of range (" STRINGIFY(Z_PROBE_OFFSET_RANGE_MIN) " to " STRINGIFY(Z_PROBE_OFFSET_RANGE_MAX) ")");
35
+
36
+  // Show usage with no parameters
37
+  if (!parser.seen("XYZ")) {
38
+    SERIAL_ECHO_START();
39
+    SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET " X", zprobe_offset[X_AXIS],
40
+                                       " Y", zprobe_offset[Y_AXIS],
41
+                                       " Z", zprobe_offset[Z_AXIS]);
42
+    return;
43
+  }
44
+
45
+  // Get the modified offsets
46
+  const float offs[] = {
47
+    parser.floatval('X', zprobe_offset[X_AXIS]),
48
+    parser.floatval('Y', zprobe_offset[Y_AXIS]),
49
+    parser.floatval('Z', zprobe_offset[Z_AXIS])
50
+  };
51
+
52
+  // Error-check
53
+  if (!WITHIN(offs[X_AXIS], -(X_BED_SIZE), X_BED_SIZE)) {
54
+    SERIAL_ERROR_MSG("?X out of range (-" STRINGIFY(X_BED_SIZE) " to " STRINGIFY(X_BED_SIZE) ")");
55
+    return;
56
+  }
57
+  if (!WITHIN(offs[Y_AXIS], -(Y_BED_SIZE), Y_BED_SIZE)) {
58
+    SERIAL_ERROR_MSG("?Y out of range (-" STRINGIFY(Y_BED_SIZE) " to " STRINGIFY(Y_BED_SIZE) ")");
38
     return;
59
     return;
39
   }
60
   }
40
-  SERIAL_ECHO_START();
41
-  SERIAL_ECHOLNPAIR(MSG_PROBE_Z_OFFSET ": ", zprobe_zoffset);
61
+  if (!WITHIN(offs[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX)) {
62
+    SERIAL_ERROR_MSG("?Z out of range (" STRINGIFY(Z_PROBE_OFFSET_RANGE_MIN) " to " STRINGIFY(Z_PROBE_OFFSET_RANGE_MAX) ")");
63
+    return;
64
+  }
65
+
66
+  // Save the new offsets
67
+  LOOP_XYZ(a) zprobe_offset[a] = offs[a];
42
 }
68
 }
43
 
69
 
44
 #endif // HAS_BED_PROBE
70
 #endif // HAS_BED_PROBE

+ 32
- 63
Marlin/src/inc/Conditionals_post.h View File

1348
     #endif
1348
     #endif
1349
   #endif
1349
   #endif
1350
 #else
1350
 #else
1351
-  #undef X_PROBE_OFFSET_FROM_EXTRUDER
1352
-  #undef Y_PROBE_OFFSET_FROM_EXTRUDER
1353
-  #undef Z_PROBE_OFFSET_FROM_EXTRUDER
1354
-  #define X_PROBE_OFFSET_FROM_EXTRUDER 0
1355
-  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0
1356
-  #define Z_PROBE_OFFSET_FROM_EXTRUDER 0
1351
+  #undef NOZZLE_TO_PROBE_OFFSET
1357
 #endif
1352
 #endif
1358
 
1353
 
1359
 /**
1354
 /**
1446
  * Bed Probing rectangular bounds
1441
  * Bed Probing rectangular bounds
1447
  * These can be further constrained in code for Delta and SCARA
1442
  * These can be further constrained in code for Delta and SCARA
1448
  */
1443
  */
1449
-
1450
 #ifndef MIN_PROBE_EDGE
1444
 #ifndef MIN_PROBE_EDGE
1451
   #define MIN_PROBE_EDGE 0
1445
   #define MIN_PROBE_EDGE 0
1452
 #endif
1446
 #endif
1447
+#ifndef NOZZLE_TO_PROBE_OFFSET
1448
+  #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
1449
+#endif
1450
+constexpr float nozzle_to_probe_offset[XYZ] = NOZZLE_TO_PROBE_OFFSET;
1453
 
1451
 
1454
 #if ENABLED(DELTA)
1452
 #if ENABLED(DELTA)
1455
   /**
1453
   /**
1457
    */
1455
    */
1458
   #define _PROBE_RADIUS (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1456
   #define _PROBE_RADIUS (DELTA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1459
   #ifndef DELTA_CALIBRATION_RADIUS
1457
   #ifndef DELTA_CALIBRATION_RADIUS
1460
-    #ifdef X_PROBE_OFFSET_FROM_EXTRUDER
1461
-      #define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - _MAX(ABS(X_PROBE_OFFSET_FROM_EXTRUDER), ABS(Y_PROBE_OFFSET_FROM_EXTRUDER), ABS(MIN_PROBE_EDGE)))
1458
+    #ifdef NOZZLE_TO_PROBE_OFFSET
1459
+      #define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - _MAX(ABS(nozzle_to_probe_offset[X_AXIS]), ABS(nozzle_to_probe_offset[Y_AXIS]), ABS(MIN_PROBE_EDGE)))
1462
     #else
1460
     #else
1463
       #define DELTA_CALIBRATION_RADIUS _PROBE_RADIUS
1461
       #define DELTA_CALIBRATION_RADIUS _PROBE_RADIUS
1464
     #endif
1462
     #endif
1467
     #define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
1465
     #define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
1468
   #endif
1466
   #endif
1469
   #ifndef DELTA_TOWER_ANGLE_TRIM
1467
   #ifndef DELTA_TOWER_ANGLE_TRIM
1470
-    #define DELTA_TOWER_ANGLE_TRIM {0, 0, 0}
1468
+    #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 }
1471
   #endif
1469
   #endif
1472
   #ifndef DELTA_RADIUS_TRIM_TOWER
1470
   #ifndef DELTA_RADIUS_TRIM_TOWER
1473
-    #define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
1471
+    #define DELTA_RADIUS_TRIM_TOWER { 0, 0, 0 }
1474
   #endif
1472
   #endif
1475
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER
1473
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER
1476
-    #define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
1474
+    #define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0, 0, 0 }
1477
   #endif
1475
   #endif
1478
 
1476
 
1479
   // Probing points may be verified at compile time within the radius
1477
   // Probing points may be verified at compile time within the radius
1480
   // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
1478
   // using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
1481
   // so that may be added to SanityCheck.h in the future.
1479
   // so that may be added to SanityCheck.h in the future.
1482
-  #define _MIN_PROBE_X (X_CENTER - (_PROBE_RADIUS))
1483
-  #define _MIN_PROBE_Y (Y_CENTER - (_PROBE_RADIUS))
1484
-  #define _MAX_PROBE_X (X_CENTER + _PROBE_RADIUS)
1485
-  #define _MAX_PROBE_Y (Y_CENTER + _PROBE_RADIUS)
1480
+  #define PROBE_X_MIN (X_CENTER - (_PROBE_RADIUS))
1481
+  #define PROBE_Y_MIN (Y_CENTER - (_PROBE_RADIUS))
1482
+  #define PROBE_X_MAX (X_CENTER + _PROBE_RADIUS)
1483
+  #define PROBE_Y_MAX (Y_CENTER + _PROBE_RADIUS)
1486
 
1484
 
1487
 #elif IS_SCARA
1485
 #elif IS_SCARA
1488
 
1486
 
1489
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
1487
   #define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
1490
   #define _PROBE_RADIUS (SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1488
   #define _PROBE_RADIUS (SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1491
-  #define _MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE)
1492
-  #define _MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE)
1493
-  #define _MAX_PROBE_X (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1494
-  #define _MAX_PROBE_Y (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1489
+  #define PROBE_X_MIN (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE)
1490
+  #define PROBE_Y_MIN (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MIN_PROBE_EDGE)
1491
+  #define PROBE_X_MAX (X_CENTER +  SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1492
+  #define PROBE_Y_MAX (Y_CENTER +  SCARA_PRINTABLE_RADIUS - (MIN_PROBE_EDGE))
1495
 
1493
 
1496
 #else
1494
 #else
1497
 
1495
 
1498
   // Boundaries for Cartesian probing based on bed limits
1496
   // Boundaries for Cartesian probing based on bed limits
1499
-  #define _MIN_PROBE_X (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
1500
-  #define _MIN_PROBE_Y (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
1501
-  #define _MAX_PROBE_X (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
1502
-  #define _MAX_PROBE_Y (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
1497
+  #define PROBE_X_MIN (_MAX(X_MIN_BED + MIN_PROBE_EDGE, X_MIN_POS + nozzle_to_probe_offset[X_AXIS]))
1498
+  #define PROBE_Y_MIN (_MAX(Y_MIN_BED + MIN_PROBE_EDGE, Y_MIN_POS + nozzle_to_probe_offset[Y_AXIS]))
1499
+  #define PROBE_X_MAX (_MIN(X_MAX_BED - (MIN_PROBE_EDGE), X_MAX_POS + nozzle_to_probe_offset[X_AXIS]))
1500
+  #define PROBE_Y_MAX (_MIN(Y_MAX_BED - (MIN_PROBE_EDGE), Y_MAX_POS + nozzle_to_probe_offset[Y_AXIS]))
1503
 
1501
 
1504
 #endif
1502
 #endif
1505
 
1503
 
1507
   #define LEVELED_SEGMENT_LENGTH 5
1505
   #define LEVELED_SEGMENT_LENGTH 5
1508
 #endif
1506
 #endif
1509
 
1507
 
1510
-// These may be overridden in Configuration.h if a smaller area is desired
1511
-#ifndef MIN_PROBE_X
1512
-  #define MIN_PROBE_X _MIN_PROBE_X
1513
-#endif
1514
-#ifndef MIN_PROBE_Y
1515
-  #define MIN_PROBE_Y _MIN_PROBE_Y
1516
-#endif
1517
-#ifndef MAX_PROBE_X
1518
-  #define MAX_PROBE_X _MAX_PROBE_X
1519
-#endif
1520
-#ifndef MAX_PROBE_Y
1521
-  #define MAX_PROBE_Y _MAX_PROBE_Y
1522
-#endif
1523
-
1524
 /**
1508
 /**
1525
  * Default mesh area is an area with an inset margin on the print area.
1509
  * Default mesh area is an area with an inset margin on the print area.
1526
  */
1510
  */
1537
     // Boundaries for Cartesian probing based on set limits
1521
     // Boundaries for Cartesian probing based on set limits
1538
     #if ENABLED(AUTO_BED_LEVELING_UBL)
1522
     #if ENABLED(AUTO_BED_LEVELING_UBL)
1539
       #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS))  // UBL is careful not to probe off the bed.  It does not
1523
       #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS))  // UBL is careful not to probe off the bed.  It does not
1540
-      #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS))  // need *_PROBE_OFFSET_FROM_EXTRUDER in the mesh dimensions
1524
+      #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS))  // need NOZZLE_TO_PROBE_OFFSET in the mesh dimensions
1541
       #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS))
1525
       #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS))
1542
       #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS))
1526
       #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS))
1543
     #else
1527
     #else
1544
-      #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
1545
-      #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
1546
-      #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
1547
-      #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
1528
+      #define _MESH_MIN_X (_MAX(X_MIN_BED + MESH_INSET, X_MIN_POS + nozzle_to_probe_offset[X_AXIS]))
1529
+      #define _MESH_MIN_Y (_MAX(Y_MIN_BED + MESH_INSET, Y_MIN_POS + nozzle_to_probe_offset[Y_AXIS]))
1530
+      #define _MESH_MAX_X (_MIN(X_MAX_BED - (MESH_INSET), X_MAX_POS + nozzle_to_probe_offset[X_AXIS]))
1531
+      #define _MESH_MAX_Y (_MIN(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + nozzle_to_probe_offset[Y_AXIS]))
1548
     #endif
1532
     #endif
1549
   #endif
1533
   #endif
1550
 
1534
 
1592
     #endif
1576
     #endif
1593
   #else
1577
   #else
1594
     #ifndef PROBE_PT_1_X
1578
     #ifndef PROBE_PT_1_X
1595
-      #define PROBE_PT_1_X MIN_PROBE_X
1579
+      #define PROBE_PT_1_X PROBE_X_MIN
1596
     #endif
1580
     #endif
1597
     #ifndef PROBE_PT_1_Y
1581
     #ifndef PROBE_PT_1_Y
1598
-      #define PROBE_PT_1_Y MIN_PROBE_Y
1582
+      #define PROBE_PT_1_Y PROBE_Y_MIN
1599
     #endif
1583
     #endif
1600
     #ifndef PROBE_PT_2_X
1584
     #ifndef PROBE_PT_2_X
1601
-      #define PROBE_PT_2_X MAX_PROBE_X
1585
+      #define PROBE_PT_2_X PROBE_X_MAX
1602
     #endif
1586
     #endif
1603
     #ifndef PROBE_PT_2_Y
1587
     #ifndef PROBE_PT_2_Y
1604
-      #define PROBE_PT_2_Y MIN_PROBE_Y
1588
+      #define PROBE_PT_2_Y PROBE_Y_MIN
1605
     #endif
1589
     #endif
1606
     #ifndef PROBE_PT_3_X
1590
     #ifndef PROBE_PT_3_X
1607
       #define PROBE_PT_3_X X_CENTER
1591
       #define PROBE_PT_3_X X_CENTER
1608
     #endif
1592
     #endif
1609
     #ifndef PROBE_PT_3_Y
1593
     #ifndef PROBE_PT_3_Y
1610
-      #define PROBE_PT_3_Y MAX_PROBE_Y
1594
+      #define PROBE_PT_3_Y PROBE_Y_MAX
1611
     #endif
1595
     #endif
1612
   #endif
1596
   #endif
1613
 #endif
1597
 #endif
1614
 
1598
 
1615
-#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
1616
-  #ifndef LEFT_PROBE_BED_POSITION
1617
-    #define LEFT_PROBE_BED_POSITION MIN_PROBE_X
1618
-  #endif
1619
-  #ifndef RIGHT_PROBE_BED_POSITION
1620
-    #define RIGHT_PROBE_BED_POSITION MAX_PROBE_X
1621
-  #endif
1622
-  #ifndef FRONT_PROBE_BED_POSITION
1623
-    #define FRONT_PROBE_BED_POSITION MIN_PROBE_Y
1624
-  #endif
1625
-  #ifndef BACK_PROBE_BED_POSITION
1626
-    #define BACK_PROBE_BED_POSITION MAX_PROBE_Y
1627
-  #endif
1628
-#endif
1629
-
1630
 /**
1599
 /**
1631
  * Buzzer/Speaker
1600
  * Buzzer/Speaker
1632
  */
1601
  */

+ 21
- 27
Marlin/src/inc/SanityCheck.h View File

390
   #error "STRING_SPLASH_LINE[12] are now obsolete. Please remove them from Configuration.h."
390
   #error "STRING_SPLASH_LINE[12] are now obsolete. Please remove them from Configuration.h."
391
 #elif defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_STOW_1_X)
391
 #elif defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_STOW_1_X)
392
   #error "Z_PROBE_ALLEN_KEY_(DEPLOY|STOW) coordinates are now a single setting. Please update your configuration."
392
   #error "Z_PROBE_ALLEN_KEY_(DEPLOY|STOW) coordinates are now a single setting. Please update your configuration."
393
+#elif defined(X_PROBE_OFFSET_FROM_EXTRUDER) || defined(Y_PROBE_OFFSET_FROM_EXTRUDER) || defined(Z_PROBE_OFFSET_FROM_EXTRUDER)
394
+  #error "[XYZ]_PROBE_OFFSET_FROM_EXTRUDER is now NOZZLE_TO_PROBE_OFFSET. Please update your configuration."
395
+#elif defined(MIN_PROBE_X) || defined(MIN_PROBE_Y) || defined(MAX_PROBE_X) || defined(MAX_PROBE_Y)
396
+  #error "(MIN|MAX)_PROBE_[XY] are now calculated at runtime. Please remove them from Configuration.h."
393
 #endif
397
 #endif
394
 
398
 
395
 #define BOARD_MKS_13        -1000
399
 #define BOARD_MKS_13        -1000
1051
 
1055
 
1052
 #if HAS_BED_PROBE
1056
 #if HAS_BED_PROBE
1053
 
1057
 
1054
-  static_assert(FLOOR(float(X_PROBE_OFFSET_FROM_EXTRUDER)) == float(X_PROBE_OFFSET_FROM_EXTRUDER), "X_PROBE_OFFSET_FROM_EXTRUDER must be an integer!");
1055
-  static_assert(FLOOR(float(Y_PROBE_OFFSET_FROM_EXTRUDER)) == float(Y_PROBE_OFFSET_FROM_EXTRUDER), "Y_PROBE_OFFSET_FROM_EXTRUDER must be an integer!");
1056
-
1057
   /**
1058
   /**
1058
    * Z_PROBE_SLED is incompatible with DELTA
1059
    * Z_PROBE_SLED is incompatible with DELTA
1059
    */
1060
    */
1205
  * Bed Leveling Requirements
1206
  * Bed Leveling Requirements
1206
  */
1207
  */
1207
 
1208
 
1208
-#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT)
1209
-  static_assert(WITHIN(PROBE_PT_1_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_1_X is outside the probe region.");
1210
-  static_assert(WITHIN(PROBE_PT_2_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_2_X is outside the probe region.");
1211
-  static_assert(WITHIN(PROBE_PT_3_X, MIN_PROBE_X, MAX_PROBE_X), "PROBE_PT_3_X is outside the probe region.");
1212
-  static_assert(WITHIN(PROBE_PT_1_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_1_Y is outside the probe region.");
1213
-  static_assert(WITHIN(PROBE_PT_2_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_2_Y is outside the probe region.");
1214
-  static_assert(WITHIN(PROBE_PT_3_Y, MIN_PROBE_Y, MAX_PROBE_Y), "PROBE_PT_3_Y is outside the probe region.");
1215
-#endif
1209
+//
1210
+// !! TODO: REPLACE WITH TESTS IN THE 3-POINT LEVELING CODE !!
1211
+//
1212
+
1213
+//#if EITHER(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_3POINT)
1214
+//  static_assert(WITHIN(PROBE_PT_1_X, PROBE_X_MIN, PROBE_X_MAX), "PROBE_PT_1_X is outside the probe region.");
1215
+//  static_assert(WITHIN(PROBE_PT_2_X, PROBE_X_MIN, PROBE_X_MAX), "PROBE_PT_2_X is outside the probe region.");
1216
+//  static_assert(WITHIN(PROBE_PT_3_X, PROBE_X_MIN, PROBE_X_MAX), "PROBE_PT_3_X is outside the probe region.");
1217
+//  static_assert(WITHIN(PROBE_PT_1_Y, PROBE_Y_MIN, PROBE_Y_MAX), "PROBE_PT_1_Y is outside the probe region.");
1218
+//  static_assert(WITHIN(PROBE_PT_2_Y, PROBE_Y_MIN, PROBE_Y_MAX), "PROBE_PT_2_Y is outside the probe region.");
1219
+//  static_assert(WITHIN(PROBE_PT_3_Y, PROBE_Y_MIN, PROBE_Y_MAX), "PROBE_PT_3_Y is outside the probe region.");
1220
+//#endif
1216
 
1221
 
1217
 #if ENABLED(AUTO_BED_LEVELING_UBL)
1222
 #if ENABLED(AUTO_BED_LEVELING_UBL)
1218
 
1223
 
1246
     #error "SCARA machines can only use the AUTO_BED_LEVELING_BILINEAR leveling option."
1251
     #error "SCARA machines can only use the AUTO_BED_LEVELING_BILINEAR leveling option."
1247
   #endif
1252
   #endif
1248
 
1253
 
1249
-  /**
1250
-   * Check auto bed leveling probe points
1251
-   */
1252
-  #if ABL_GRID
1253
-
1254
-    static_assert(LEFT_PROBE_BED_POSITION < RIGHT_PROBE_BED_POSITION, "LEFT_PROBE_BED_POSITION must be less than RIGHT_PROBE_BED_POSITION.");
1255
-    static_assert(FRONT_PROBE_BED_POSITION < BACK_PROBE_BED_POSITION, "FRONT_PROBE_BED_POSITION must be less than BACK_PROBE_BED_POSITION.");
1256
-    static_assert(LEFT_PROBE_BED_POSITION >= MIN_PROBE_X, "LEFT_PROBE_BED_POSITION is outside the probe region.");
1257
-    static_assert(RIGHT_PROBE_BED_POSITION <= MAX_PROBE_X, "RIGHT_PROBE_BED_POSITION is outside the probe region.");
1258
-    static_assert(FRONT_PROBE_BED_POSITION >= MIN_PROBE_Y, "FRONT_PROBE_BED_POSITION is outside the probe region.");
1259
-    static_assert(BACK_PROBE_BED_POSITION <= MAX_PROBE_Y, "BACK_PROBE_BED_POSITION is outside the probe region.");
1260
-
1261
-  #endif
1262
-
1263
 #elif ENABLED(MESH_BED_LEVELING)
1254
 #elif ENABLED(MESH_BED_LEVELING)
1264
 
1255
 
1265
   // Hide PROBE_MANUALLY from the rest of the code
1256
   // Hide PROBE_MANUALLY from the rest of the code
1328
  */
1319
  */
1329
 #if ENABLED(Z_SAFE_HOMING)
1320
 #if ENABLED(Z_SAFE_HOMING)
1330
   #if HAS_BED_PROBE
1321
   #if HAS_BED_PROBE
1331
-    static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, MIN_PROBE_X, MAX_PROBE_X), "Z_SAFE_HOMING_X_POINT is outside the probe region.");
1332
-    static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, MIN_PROBE_Y, MAX_PROBE_Y), "Z_SAFE_HOMING_Y_POINT is outside the probe region.");
1322
+    //
1323
+    // !! TODO: REPLACE WITH TESTS IN THE Z_SAFE_HOMING CODE !!
1324
+    //
1325
+    //static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, PROBE_X_MIN, PROBE_X_MAX), "Z_SAFE_HOMING_X_POINT is outside the probe region.");
1326
+    //static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, PROBE_Y_MIN, PROBE_Y_MAX), "Z_SAFE_HOMING_Y_POINT is outside the probe region.");
1333
   #else
1327
   #else
1334
     static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, X_MIN_POS, X_MAX_POS), "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle.");
1328
     static_assert(WITHIN(Z_SAFE_HOMING_X_POINT, X_MIN_POS, X_MAX_POS), "Z_SAFE_HOMING_X_POINT can't be reached by the nozzle.");
1335
     static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, Y_MIN_POS, Y_MAX_POS), "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle.");
1329
     static_assert(WITHIN(Z_SAFE_HOMING_Y_POINT, Y_MIN_POS, Y_MAX_POS), "Z_SAFE_HOMING_Y_POINT can't be reached by the nozzle.");

+ 3
- 3
Marlin/src/lcd/extensible_ui/ui_api.cpp View File

708
           #if EXTRUDERS > 1
708
           #if EXTRUDERS > 1
709
             && (linked_nozzles || active_extruder == 0)
709
             && (linked_nozzles || active_extruder == 0)
710
           #endif
710
           #endif
711
-        ) zprobe_zoffset += mm;
711
+        ) zprobe_offset[Z_AXIS] += mm;
712
       #else
712
       #else
713
         UNUSED(mm);
713
         UNUSED(mm);
714
       #endif
714
       #endif
746
 
746
 
747
   float getZOffset_mm() {
747
   float getZOffset_mm() {
748
     #if HAS_BED_PROBE
748
     #if HAS_BED_PROBE
749
-      return zprobe_zoffset;
749
+      return zprobe_offset[Z_AXIS];
750
     #elif ENABLED(BABYSTEP_DISPLAY_TOTAL)
750
     #elif ENABLED(BABYSTEP_DISPLAY_TOTAL)
751
       return babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1];
751
       return babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1];
752
     #else
752
     #else
757
   void setZOffset_mm(const float value) {
757
   void setZOffset_mm(const float value) {
758
     #if HAS_BED_PROBE
758
     #if HAS_BED_PROBE
759
       if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX))
759
       if (WITHIN(value, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX))
760
-        zprobe_zoffset = value;
760
+        zprobe_offset[Z_AXIS] = value;
761
     #elif ENABLED(BABYSTEP_DISPLAY_TOTAL)
761
     #elif ENABLED(BABYSTEP_DISPLAY_TOTAL)
762
       babystep.add_mm(Z_AXIS, (value - babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]));
762
       babystep.add_mm(Z_AXIS, (value - babystep.axis_total[BS_TOTAL_AXIS(Z_AXIS) + 1]));
763
     #else
763
     #else

+ 4
- 4
Marlin/src/lcd/menu/menu.cpp View File

402
       ui.encoderPosition = 0;
402
       ui.encoderPosition = 0;
403
 
403
 
404
       const float diff = planner.steps_to_mm[Z_AXIS] * babystep_increment,
404
       const float diff = planner.steps_to_mm[Z_AXIS] * babystep_increment,
405
-                  new_probe_offset = zprobe_zoffset + diff,
405
+                  new_probe_offset = zprobe_offset[Z_AXIS] + diff,
406
                   new_offs =
406
                   new_offs =
407
                     #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
407
                     #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
408
                       do_probe ? new_probe_offset : hotend_offset[Z_AXIS][active_extruder] - diff
408
                       do_probe ? new_probe_offset : hotend_offset[Z_AXIS][active_extruder] - diff
414
 
414
 
415
         babystep.add_steps(Z_AXIS, babystep_increment);
415
         babystep.add_steps(Z_AXIS, babystep_increment);
416
 
416
 
417
-        if (do_probe) zprobe_zoffset = new_offs;
417
+        if (do_probe) zprobe_offset[Z_AXIS] = new_offs;
418
         #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
418
         #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
419
           else hotend_offset[Z_AXIS][active_extruder] = new_offs;
419
           else hotend_offset[Z_AXIS][active_extruder] = new_offs;
420
         #endif
420
         #endif
428
           draw_edit_screen(PSTR(MSG_Z_OFFSET), ftostr43sign(hotend_offset[Z_AXIS][active_extruder]));
428
           draw_edit_screen(PSTR(MSG_Z_OFFSET), ftostr43sign(hotend_offset[Z_AXIS][active_extruder]));
429
         else
429
         else
430
       #endif
430
       #endif
431
-          draw_edit_screen(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
431
+          draw_edit_screen(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_offset[Z_AXIS]));
432
 
432
 
433
       #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
433
       #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
434
-        if (do_probe) _lcd_zoffset_overlay_gfx(zprobe_zoffset);
434
+        if (do_probe) _lcd_zoffset_overlay_gfx(zprobe_offset[Z_AXIS]);
435
       #endif
435
       #endif
436
     }
436
     }
437
   }
437
   }

+ 2
- 2
Marlin/src/lcd/menu/menu_bed_corners.cpp View File

62
       current_position[Y_AXIS] = Y_MIN_BED + LEVEL_CORNERS_INSET;
62
       current_position[Y_AXIS] = Y_MIN_BED + LEVEL_CORNERS_INSET;
63
       break;
63
       break;
64
     case 1:
64
     case 1:
65
-      current_position[X_AXIS] = X_MAX_BED - LEVEL_CORNERS_INSET;
65
+      current_position[X_AXIS] = X_MAX_BED - (LEVEL_CORNERS_INSET);
66
       break;
66
       break;
67
     case 2:
67
     case 2:
68
-      current_position[Y_AXIS] = Y_MAX_BED - LEVEL_CORNERS_INSET;
68
+      current_position[Y_AXIS] = Y_MAX_BED - (LEVEL_CORNERS_INSET);
69
       break;
69
       break;
70
     case 3:
70
     case 3:
71
       current_position[X_AXIS] = X_MIN_BED + LEVEL_CORNERS_INSET;
71
       current_position[X_AXIS] = X_MIN_BED + LEVEL_CORNERS_INSET;

+ 1
- 1
Marlin/src/lcd/menu/menu_bed_leveling.cpp View File

279
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
279
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
280
     MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
280
     MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
281
   #elif HAS_BED_PROBE
281
   #elif HAS_BED_PROBE
282
-    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
282
+    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
283
   #endif
283
   #endif
284
 
284
 
285
   #if ENABLED(LEVEL_BED_CORNERS)
285
   #if ENABLED(LEVEL_BED_CORNERS)

+ 1
- 1
Marlin/src/lcd/menu/menu_configuration.cpp View File

347
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
347
   #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
348
     MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
348
     MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
349
   #elif HAS_BED_PROBE
349
   #elif HAS_BED_PROBE
350
-    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
350
+    MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_offset[Z_AXIS], Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
351
   #endif
351
   #endif
352
 
352
 
353
   const bool busy = printer_busy();
353
   const bool busy = printer_busy();

+ 21
- 18
Marlin/src/module/configuration_store.cpp View File

37
  */
37
  */
38
 
38
 
39
 // Change EEPROM version if the structure changes
39
 // Change EEPROM version if the structure changes
40
-#define EEPROM_VERSION "V69"
40
+#define EEPROM_VERSION "V70"
41
 #define EEPROM_OFFSET 100
41
 #define EEPROM_OFFSET 100
42
 
42
 
43
 // Check the integrity of data offsets.
43
 // Check the integrity of data offsets.
60
   #include "../HAL/shared/persistent_store_api.h"
60
   #include "../HAL/shared/persistent_store_api.h"
61
 #endif
61
 #endif
62
 
62
 
63
+#include "probe.h"
64
+
63
 #if HAS_LEVELING
65
 #if HAS_LEVELING
64
   #include "../feature/bedlevel/bedlevel.h"
66
   #include "../feature/bedlevel/bedlevel.h"
65
 #endif
67
 #endif
78
   #define EEPROM_NUM_SERVOS NUM_SERVO_PLUGS
80
   #define EEPROM_NUM_SERVOS NUM_SERVO_PLUGS
79
 #endif
81
 #endif
80
 
82
 
81
-#if HAS_BED_PROBE
82
-  #include "probe.h"
83
-#endif
84
-
85
 #include "../feature/fwretract.h"
83
 #include "../feature/fwretract.h"
86
 
84
 
87
 #if ENABLED(POWER_LOSS_RECOVERY)
85
 #if ENABLED(POWER_LOSS_RECOVERY)
178
   // HAS_BED_PROBE
176
   // HAS_BED_PROBE
179
   //
177
   //
180
 
178
 
181
-  float zprobe_zoffset;
179
+  float zprobe_offset[XYZ];
182
 
180
 
183
   //
181
   //
184
   // ABL_PLANAR
182
   // ABL_PLANAR
615
     // Probe Z Offset
613
     // Probe Z Offset
616
     //
614
     //
617
     {
615
     {
618
-      _FIELD_TEST(zprobe_zoffset);
619
-
620
-      #if !HAS_BED_PROBE
621
-        const float zprobe_zoffset = 0;
622
-      #endif
623
-      EEPROM_WRITE(zprobe_zoffset);
616
+      _FIELD_TEST(zprobe_offset[Z_AXIS]);
617
+      EEPROM_WRITE(zprobe_offset);
624
     }
618
     }
625
 
619
 
626
     //
620
     //
1421
       // Probe Z Offset
1415
       // Probe Z Offset
1422
       //
1416
       //
1423
       {
1417
       {
1424
-        _FIELD_TEST(zprobe_zoffset);
1418
+        _FIELD_TEST(zprobe_offset[Z_AXIS]);
1425
 
1419
 
1426
-        #if !HAS_BED_PROBE
1427
-          float zprobe_zoffset;
1420
+        #if HAS_BED_PROBE
1421
+          float (&zpo)[XYZ] = zprobe_offset;
1422
+        #else
1423
+          float zpo[XYZ];
1428
         #endif
1424
         #endif
1429
-        EEPROM_READ(zprobe_zoffset);
1425
+        EEPROM_READ(zpo);
1430
       }
1426
       }
1431
 
1427
 
1432
       //
1428
       //
2321
   #endif
2317
   #endif
2322
 
2318
 
2323
   #if HAS_BED_PROBE
2319
   #if HAS_BED_PROBE
2324
-    zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
2320
+    #ifndef NOZZLE_TO_PROBE_OFFSET
2321
+      #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
2322
+    #endif
2323
+    constexpr float dpo[XYZ] = NOZZLE_TO_PROBE_OFFSET;
2324
+    static_assert(COUNT(dpo) == 3, "NOZZLE_TO_PROBE_OFFSET must contain offsets for X, Y, and Z.");
2325
+    LOOP_XYZ(a) zprobe_offset[a] = dpo[a];
2325
   #endif
2326
   #endif
2326
 
2327
 
2327
   //
2328
   //
3070
         say_units(true);
3071
         say_units(true);
3071
       }
3072
       }
3072
       CONFIG_ECHO_START();
3073
       CONFIG_ECHO_START();
3073
-      SERIAL_ECHOLNPAIR("  M851 Z", LINEAR_UNIT(zprobe_zoffset));
3074
+      SERIAL_ECHOLNPAIR("  M851 X", LINEAR_UNIT(zprobe_offset[X_AXIS]),
3075
+                              " Y", LINEAR_UNIT(zprobe_offset[Y_AXIS]),
3076
+                              " Z", LINEAR_UNIT(zprobe_offset[Z_AXIS]));
3074
     #endif
3077
     #endif
3075
 
3078
 
3076
     /**
3079
     /**

+ 1
- 1
Marlin/src/module/delta.cpp View File

233
   // Move all carriages together linearly until an endstop is hit.
233
   // Move all carriages together linearly until an endstop is hit.
234
   destination[Z_AXIS] = (delta_height
234
   destination[Z_AXIS] = (delta_height
235
     #if HAS_BED_PROBE
235
     #if HAS_BED_PROBE
236
-      - zprobe_zoffset
236
+      - zprobe_offset[Z_AXIS]
237
     #endif
237
     #endif
238
     + 10);
238
     + 10);
239
   buffer_line_to_destination(homing_feedrate(X_AXIS));
239
   buffer_line_to_destination(homing_feedrate(X_AXIS));

+ 4
- 4
Marlin/src/module/motion.cpp View File

505
       soft_endstop[axis].min = base_min_pos(axis);
505
       soft_endstop[axis].min = base_min_pos(axis);
506
       soft_endstop[axis].max = (axis == Z_AXIS ? delta_height
506
       soft_endstop[axis].max = (axis == Z_AXIS ? delta_height
507
       #if HAS_BED_PROBE
507
       #if HAS_BED_PROBE
508
-        - zprobe_zoffset
508
+        - zprobe_offset[Z_AXIS]
509
       #endif
509
       #endif
510
       : base_max_pos(axis));
510
       : base_max_pos(axis));
511
 
511
 
1340
   #elif ENABLED(DELTA)
1340
   #elif ENABLED(DELTA)
1341
     current_position[axis] = (axis == Z_AXIS ? delta_height
1341
     current_position[axis] = (axis == Z_AXIS ? delta_height
1342
     #if HAS_BED_PROBE
1342
     #if HAS_BED_PROBE
1343
-      - zprobe_zoffset
1343
+      - zprobe_offset[Z_AXIS]
1344
     #endif
1344
     #endif
1345
     : base_home_pos(axis));
1345
     : base_home_pos(axis));
1346
   #else
1346
   #else
1354
     if (axis == Z_AXIS) {
1354
     if (axis == Z_AXIS) {
1355
       #if HOMING_Z_WITH_PROBE
1355
       #if HOMING_Z_WITH_PROBE
1356
 
1356
 
1357
-        current_position[Z_AXIS] -= zprobe_zoffset;
1357
+        current_position[Z_AXIS] -= zprobe_offset[Z_AXIS];
1358
 
1358
 
1359
-        if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\n> zprobe_zoffset = ", zprobe_zoffset);
1359
+        if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\n> zprobe_offset[Z_AXIS] = ", zprobe_offset[Z_AXIS]);
1360
 
1360
 
1361
       #else
1361
       #else
1362
 
1362
 

+ 8
- 8
Marlin/src/module/motion.h View File

30
 
30
 
31
 #include "../inc/MarlinConfig.h"
31
 #include "../inc/MarlinConfig.h"
32
 
32
 
33
-#if IS_SCARA
34
-  #include "scara.h"
35
-#endif
36
-
37
 #if HAS_BED_PROBE
33
 #if HAS_BED_PROBE
38
   #include "probe.h"
34
   #include "probe.h"
39
 #endif
35
 #endif
40
 
36
 
37
+#if IS_SCARA
38
+  #include "scara.h"
39
+#endif
40
+
41
 // Axis homed and known-position states
41
 // Axis homed and known-position states
42
 extern uint8_t axis_homed, axis_known_position;
42
 extern uint8_t axis_homed, axis_known_position;
43
 constexpr uint8_t xyz_bits = _BV(X_AXIS) | _BV(Y_AXIS) | _BV(Z_AXIS);
43
 constexpr uint8_t xyz_bits = _BV(X_AXIS) | _BV(Y_AXIS) | _BV(Z_AXIS);
284
     // Return true if the both nozzle and the probe can reach the given point.
284
     // Return true if the both nozzle and the probe can reach the given point.
285
     // Note: This won't work on SCARA since the probe offset rotates with the arm.
285
     // Note: This won't work on SCARA since the probe offset rotates with the arm.
286
     inline bool position_is_reachable_by_probe(const float &rx, const float &ry) {
286
     inline bool position_is_reachable_by_probe(const float &rx, const float &ry) {
287
-      return position_is_reachable(rx - (X_PROBE_OFFSET_FROM_EXTRUDER), ry - (Y_PROBE_OFFSET_FROM_EXTRUDER))
287
+      return position_is_reachable(rx - zprobe_offset[X_AXIS], ry - zprobe_offset[Y_AXIS])
288
              && position_is_reachable(rx, ry, ABS(MIN_PROBE_EDGE));
288
              && position_is_reachable(rx, ry, ABS(MIN_PROBE_EDGE));
289
     }
289
     }
290
   #endif
290
   #endif
313
      *          nozzle must be be able to reach +10,-10.
313
      *          nozzle must be be able to reach +10,-10.
314
      */
314
      */
315
     inline bool position_is_reachable_by_probe(const float &rx, const float &ry) {
315
     inline bool position_is_reachable_by_probe(const float &rx, const float &ry) {
316
-      return position_is_reachable(rx - (X_PROBE_OFFSET_FROM_EXTRUDER), ry - (Y_PROBE_OFFSET_FROM_EXTRUDER))
317
-          && WITHIN(rx, MIN_PROBE_X - slop, MAX_PROBE_X + slop)
318
-          && WITHIN(ry, MIN_PROBE_Y - slop, MAX_PROBE_Y + slop);
316
+      return position_is_reachable(rx - zprobe_offset[X_AXIS], ry - zprobe_offset[Y_AXIS])
317
+          && WITHIN(rx, probe_min_x() - slop, probe_max_x() + slop)
318
+          && WITHIN(ry, probe_min_y() - slop, probe_max_y() + slop);
319
     }
319
     }
320
   #endif
320
   #endif
321
 
321
 

+ 44
- 7
Marlin/src/module/probe.cpp View File

56
   #include "../feature/backlash.h"
56
   #include "../feature/backlash.h"
57
 #endif
57
 #endif
58
 
58
 
59
-float zprobe_zoffset; // Initialized by settings.load()
59
+float zprobe_offset[XYZ]; // Initialized by settings.load()
60
 
60
 
61
 #if ENABLED(BLTOUCH)
61
 #if ENABLED(BLTOUCH)
62
   #include "../feature/bltouch.h"
62
   #include "../feature/bltouch.h"
86
 #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
86
 #define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
87
 #include "../core/debug_out.h"
87
 #include "../core/debug_out.h"
88
 
88
 
89
+float probe_min_x() {
90
+  return _MAX(
91
+    #if ENABLED(DELTA) || IS_SCARA
92
+      PROBE_X_MIN, MESH_MIN_X
93
+    #else
94
+      (X_MIN_BED) + (MIN_PROBE_EDGE), (X_MIN_POS) + zprobe_offset[X_AXIS]
95
+    #endif
96
+  );
97
+}
98
+float probe_max_x() {
99
+  return _MIN(
100
+    #if ENABLED(DELTA) || IS_SCARA
101
+      PROBE_X_MAX, MESH_MAX_X
102
+    #else
103
+      (X_MAX_BED) - (MIN_PROBE_EDGE), (X_MAX_POS) + zprobe_offset[X_AXIS]
104
+    #endif
105
+  );
106
+}
107
+float probe_min_y() {
108
+  return _MAX(
109
+    #if ENABLED(DELTA) || IS_SCARA
110
+      PROBE_Y_MIN, MESH_MIN_Y
111
+    #else
112
+      (Y_MIN_BED) + (MIN_PROBE_EDGE), (Y_MIN_POS) + zprobe_offset[Y_AXIS]
113
+    #endif
114
+  );
115
+}
116
+float probe_max_y() {
117
+  return _MIN(
118
+    #if ENABLED(DELTA) || IS_SCARA
119
+      PROBE_Y_MAX, MESH_MAX_Y
120
+    #else
121
+      (Y_MAX_BED) - (MIN_PROBE_EDGE), (Y_MAX_POS) + zprobe_offset[Y_AXIS]
122
+    #endif
123
+  );
124
+}
125
+
89
 #if ENABLED(Z_PROBE_SLED)
126
 #if ENABLED(Z_PROBE_SLED)
90
 
127
 
91
   #ifndef SLED_DOCKING_OFFSET
128
   #ifndef SLED_DOCKING_OFFSET
263
   if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("do_probe_raise(", z_raise, ")");
300
   if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("do_probe_raise(", z_raise, ")");
264
 
301
 
265
   float z_dest = z_raise;
302
   float z_dest = z_raise;
266
-  if (zprobe_zoffset < 0) z_dest -= zprobe_zoffset;
303
+  if (zprobe_offset[Z_AXIS] < 0) z_dest -= zprobe_offset[Z_AXIS];
267
 
304
 
268
   NOMORE(z_dest, Z_MAX_POS);
305
   NOMORE(z_dest, Z_MAX_POS);
269
 
306
 
543
 
580
 
544
   // Stop the probe before it goes too low to prevent damage.
581
   // Stop the probe before it goes too low to prevent damage.
545
   // If Z isn't known then probe to -10mm.
582
   // If Z isn't known then probe to -10mm.
546
-  const float z_probe_low_point = TEST(axis_known_position, Z_AXIS) ? -zprobe_zoffset + Z_PROBE_LOW_POINT : -10.0;
583
+  const float z_probe_low_point = TEST(axis_known_position, Z_AXIS) ? -zprobe_offset[Z_AXIS] + Z_PROBE_LOW_POINT : -10.0;
547
 
584
 
548
   // Double-probing does a fast probe followed by a slow probe
585
   // Double-probing does a fast probe followed by a slow probe
549
   #if TOTAL_PROBING == 2
586
   #if TOTAL_PROBING == 2
568
 
605
 
569
     // If the nozzle is well over the travel height then
606
     // If the nozzle is well over the travel height then
570
     // move down quickly before doing the slow probe
607
     // move down quickly before doing the slow probe
571
-    const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (zprobe_zoffset < 0 ? -zprobe_zoffset : 0);
608
+    const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (zprobe_offset[Z_AXIS] < 0 ? -zprobe_offset[Z_AXIS] : 0);
572
     if (current_position[Z_AXIS] > z) {
609
     if (current_position[Z_AXIS] > z) {
573
       // Probe down fast. If the probe never triggered, raise for probe clearance
610
       // Probe down fast. If the probe never triggered, raise for probe clearance
574
       if (!do_probe_move(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST)))
611
       if (!do_probe_move(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST)))
698
   float nx = rx, ny = ry;
735
   float nx = rx, ny = ry;
699
   if (probe_relative) {
736
   if (probe_relative) {
700
     if (!position_is_reachable_by_probe(rx, ry)) return NAN;  // The given position is in terms of the probe
737
     if (!position_is_reachable_by_probe(rx, ry)) return NAN;  // The given position is in terms of the probe
701
-    nx -= (X_PROBE_OFFSET_FROM_EXTRUDER);                     // Get the nozzle position
702
-    ny -= (Y_PROBE_OFFSET_FROM_EXTRUDER);
738
+    nx -= zprobe_offset[X_AXIS];                     // Get the nozzle position
739
+    ny -= zprobe_offset[Y_AXIS];
703
   }
740
   }
704
   else if (!position_is_reachable(nx, ny)) return NAN;        // The given position is in terms of the nozzle
741
   else if (!position_is_reachable(nx, ny)) return NAN;        // The given position is in terms of the nozzle
705
 
742
 
720
 
757
 
721
   float measured_z = NAN;
758
   float measured_z = NAN;
722
   if (!DEPLOY_PROBE()) {
759
   if (!DEPLOY_PROBE()) {
723
-    measured_z = run_z_probe() + zprobe_zoffset;
760
+    measured_z = run_z_probe() + zprobe_offset[Z_AXIS];
724
 
761
 
725
     const bool big_raise = raise_after == PROBE_PT_BIG_RAISE;
762
     const bool big_raise = raise_after == PROBE_PT_BIG_RAISE;
726
     if (big_raise || raise_after == PROBE_PT_RAISE)
763
     if (big_raise || raise_after == PROBE_PT_RAISE)

+ 8
- 1
Marlin/src/module/probe.h View File

28
 #include "../inc/MarlinConfig.h"
28
 #include "../inc/MarlinConfig.h"
29
 
29
 
30
 #if HAS_BED_PROBE
30
 #if HAS_BED_PROBE
31
-  extern float zprobe_zoffset;
31
+
32
+  extern float zprobe_offset[XYZ];
32
   bool set_probe_deployed(const bool deploy);
33
   bool set_probe_deployed(const bool deploy);
33
   #ifdef Z_AFTER_PROBING
34
   #ifdef Z_AFTER_PROBING
34
     void move_z_after_probing();
35
     void move_z_after_probing();
45
   #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER)
46
   #if HAS_HEATED_BED && ENABLED(WAIT_FOR_BED_HEATER)
46
     extern const char msg_wait_for_bed_heating[25];
47
     extern const char msg_wait_for_bed_heating[25];
47
   #endif
48
   #endif
49
+
50
+  float probe_min_x(), probe_max_x(), probe_min_y(), probe_max_y();
51
+
48
 #else
52
 #else
53
+
54
+  constexpr float zprobe_offset[XYZ] = { 0 };
49
   #define DEPLOY_PROBE()
55
   #define DEPLOY_PROBE()
50
   #define STOW_PROBE()
56
   #define STOW_PROBE()
57
+
51
 #endif
58
 #endif
52
 
59
 
53
 #if HAS_Z_SERVO_PROBE
60
 #if HAS_Z_SERVO_PROBE

+ 6
- 13
config/default/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/3DFabXYZ/Migbot/Configuration.h View File

894
 
894
 
895
 /**
895
 /**
896
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
897
- * X and Y offsets must be integers.
898
  *
897
  *
899
  * In the following example the X and Y offsets are both positive:
898
  * In the following example the X and Y offsets are both positive:
900
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
901
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
899
+ *
900
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
902
  *
901
  *
903
  *     +-- BACK ---+
902
  *     +-- BACK ---+
904
  *     |           |
903
  *     |           |
910
  *     |           |
909
  *     |           |
911
  *     O-- FRONT --+
910
  *     O-- FRONT --+
912
  *   (0,0)
911
  *   (0,0)
912
+ *
913
+ * Specify a Probe position as { X, Y, Z }
913
  */
914
  */
914
-#define X_PROBE_OFFSET_FROM_EXTRUDER 21  // X offset: -left  +right  [of the nozzle]
915
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 61  // Y offset: -front +behind [the nozzle]
916
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
915
+#define NOZZLE_TO_PROBE_OFFSET { 21, 61, 0 }
917
 
916
 
918
 // Certain types of probes need to stay away from edges
917
 // Certain types of probes need to stay away from edges
919
 #define MIN_PROBE_EDGE 10
918
 #define MIN_PROBE_EDGE 10
947
  *
946
  *
948
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * Use these settings to specify the distance (mm) to raise the probe (or
949
  * lower the bed). The values set here apply over and above any (negative)
948
  * lower the bed). The values set here apply over and above any (negative)
950
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
949
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
951
  * Only integer values >= 1 are valid here.
950
  * Only integer values >= 1 are valid here.
952
  *
951
  *
953
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1205
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_X 3
1206
   #define GRID_MAX_POINTS_Y 4
1205
   #define GRID_MAX_POINTS_Y 4
1207
 
1206
 
1208
-  // Set the boundaries for probing (where the probe can reach).
1209
-  #define LEFT_PROBE_BED_POSITION X_PROBE_OFFSET_FROM_EXTRUDER
1210
-  #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (X_PROBE_OFFSET_FROM_EXTRUDER) + MIN_PROBE_EDGE)
1211
-  #define FRONT_PROBE_BED_POSITION Y_PROBE_OFFSET_FROM_EXTRUDER
1212
-  #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1213
-
1214
   // Probe along the Y axis, advancing X after each column
1207
   // Probe along the Y axis, advancing X after each column
1215
   //#define PROBE_Y_FIRST
1208
   //#define PROBE_Y_FIRST
1216
 
1209
 

+ 6
- 13
config/examples/ADIMLab/Gantry v1/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1200
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
 
1201
 
1203
-  // Set the boundaries for probing (where the probe can reach).
1204
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1206
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1208
-
1209
   // Probe along the Y axis, advancing X after each column
1202
   // Probe along the Y axis, advancing X after each column
1210
   //#define PROBE_Y_FIRST
1203
   //#define PROBE_Y_FIRST
1211
 
1204
 

+ 6
- 13
config/examples/ADIMLab/Gantry v2/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1200
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
 
1201
 
1203
-  // Set the boundaries for probing (where the probe can reach).
1204
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1206
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1208
-
1209
   // Probe along the Y axis, advancing X after each column
1202
   // Probe along the Y axis, advancing X after each column
1210
   //#define PROBE_Y_FIRST
1203
   //#define PROBE_Y_FIRST
1211
 
1204
 

+ 6
- 13
config/examples/AlephObjects/TAZ4/Configuration.h View File

908
 
908
 
909
 /**
909
 /**
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
911
- * X and Y offsets must be integers.
912
  *
911
  *
913
  * In the following example the X and Y offsets are both positive:
912
  * In the following example the X and Y offsets are both positive:
914
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
915
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
913
+ *
914
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
  *
915
  *
917
  *     +-- BACK ---+
916
  *     +-- BACK ---+
918
  *     |           |
917
  *     |           |
924
  *     |           |
923
  *     |           |
925
  *     O-- FRONT --+
924
  *     O-- FRONT --+
926
  *   (0,0)
925
  *   (0,0)
926
+ *
927
+ * Specify a Probe position as { X, Y, Z }
927
  */
928
  */
928
-#define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
929
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
930
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
929
+#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 }
931
 
930
 
932
 // Certain types of probes need to stay away from edges
931
 // Certain types of probes need to stay away from edges
933
 #define MIN_PROBE_EDGE 10
932
 #define MIN_PROBE_EDGE 10
961
  *
960
  *
962
  * Use these settings to specify the distance (mm) to raise the probe (or
961
  * Use these settings to specify the distance (mm) to raise the probe (or
963
  * lower the bed). The values set here apply over and above any (negative)
962
  * lower the bed). The values set here apply over and above any (negative)
964
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
963
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
965
  * Only integer values >= 1 are valid here.
964
  * Only integer values >= 1 are valid here.
966
  *
965
  *
967
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
966
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1219
   #define GRID_MAX_POINTS_X 3
1218
   #define GRID_MAX_POINTS_X 3
1220
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1219
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1221
 
1220
 
1222
-  // Set the boundaries for probing (where the probe can reach).
1223
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1224
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1225
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1226
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1227
-
1228
   // Probe along the Y axis, advancing X after each column
1221
   // Probe along the Y axis, advancing X after each column
1229
   //#define PROBE_Y_FIRST
1222
   //#define PROBE_Y_FIRST
1230
 
1223
 

+ 7
- 14
config/examples/Alfawise/U20-bltouch/Configuration.h View File

953
 
953
 
954
 /**
954
 /**
955
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
955
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
956
- * X and Y offsets must be integers.
957
  *
956
  *
958
  * In the following example the X and Y offsets are both positive:
957
  * In the following example the X and Y offsets are both positive:
959
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
960
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
958
+ *
959
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
961
  *
960
  *
962
  *     +-- BACK ---+
961
  *     +-- BACK ---+
963
  *     |           |
962
  *     |           |
969
  *     |           |
968
  *     |           |
970
  *     O-- FRONT --+
969
  *     O-- FRONT --+
971
  *   (0,0)
970
  *   (0,0)
971
+ *
972
+ * Specify a Probe position as { X, Y, Z }
972
  */
973
  */
973
-#define X_PROBE_OFFSET_FROM_EXTRUDER  -35 // X offset: -left  +right  [of the nozzle]
974
-#define Y_PROBE_OFFSET_FROM_EXTRUDER   -6 // Y offset: -front +behind [the nozzle]
975
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.5 // Z offset: -below +above  [the nozzle]
974
+#define NOZZLE_TO_PROBE_OFFSET { -35, -6, -0.5 }
976
 
975
 
977
 // Certain types of probes need to stay away from edges
976
 // Certain types of probes need to stay away from edges
978
 #define MIN_PROBE_EDGE 10
977
 #define MIN_PROBE_EDGE 10
1006
  *
1005
  *
1007
  * Use these settings to specify the distance (mm) to raise the probe (or
1006
  * Use these settings to specify the distance (mm) to raise the probe (or
1008
  * lower the bed). The values set here apply over and above any (negative)
1007
  * lower the bed). The values set here apply over and above any (negative)
1009
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
1008
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
1010
  * Only integer values >= 1 are valid here.
1009
  * Only integer values >= 1 are valid here.
1011
  *
1010
  *
1012
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1011
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1278
   #define GRID_MAX_POINTS_X 4
1277
   #define GRID_MAX_POINTS_X 4
1279
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1278
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1280
 
1279
 
1281
-  // Set the boundaries for probing (where the probe can reach).
1282
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1283
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1284
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1285
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1286
-
1287
   // Probe along the Y axis, advancing X after each column
1280
   // Probe along the Y axis, advancing X after each column
1288
   //#define PROBE_Y_FIRST
1281
   //#define PROBE_Y_FIRST
1289
 
1282
 
1404
 #if ENABLED(Z_SAFE_HOMING)
1397
 #if ENABLED(Z_SAFE_HOMING)
1405
   #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
1398
   #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
1406
   //#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)  // Y point for Z homing when homing all axes (G28).
1399
   //#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)  // Y point for Z homing when homing all axes (G28).
1407
-  #define Z_SAFE_HOMING_Y_POINT MIN_PROBE_Y
1400
+  #define Z_SAFE_HOMING_Y_POINT 4
1408
 #endif
1401
 #endif
1409
 
1402
 
1410
 // Homing speeds (mm/m)
1403
 // Homing speeds (mm/m)

+ 7
- 14
config/examples/Alfawise/U20/Configuration.h View File

953
 
953
 
954
 /**
954
 /**
955
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
955
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
956
- * X and Y offsets must be integers.
957
  *
956
  *
958
  * In the following example the X and Y offsets are both positive:
957
  * In the following example the X and Y offsets are both positive:
959
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
960
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
958
+ *
959
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
961
  *
960
  *
962
  *     +-- BACK ---+
961
  *     +-- BACK ---+
963
  *     |           |
962
  *     |           |
969
  *     |           |
968
  *     |           |
970
  *     O-- FRONT --+
969
  *     O-- FRONT --+
971
  *   (0,0)
970
  *   (0,0)
971
+ *
972
+ * Specify a Probe position as { X, Y, Z }
972
  */
973
  */
973
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
974
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
975
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
974
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
976
 
975
 
977
 // Certain types of probes need to stay away from edges
976
 // Certain types of probes need to stay away from edges
978
 #define MIN_PROBE_EDGE 10
977
 #define MIN_PROBE_EDGE 10
1006
  *
1005
  *
1007
  * Use these settings to specify the distance (mm) to raise the probe (or
1006
  * Use these settings to specify the distance (mm) to raise the probe (or
1008
  * lower the bed). The values set here apply over and above any (negative)
1007
  * lower the bed). The values set here apply over and above any (negative)
1009
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
1008
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
1010
  * Only integer values >= 1 are valid here.
1009
  * Only integer values >= 1 are valid here.
1011
  *
1010
  *
1012
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1011
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1278
   #define GRID_MAX_POINTS_X 3
1277
   #define GRID_MAX_POINTS_X 3
1279
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1278
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1280
 
1279
 
1281
-  // Set the boundaries for probing (where the probe can reach).
1282
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1283
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1284
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1285
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1286
-
1287
   // Probe along the Y axis, advancing X after each column
1280
   // Probe along the Y axis, advancing X after each column
1288
   //#define PROBE_Y_FIRST
1281
   //#define PROBE_Y_FIRST
1289
 
1282
 
1403
 
1396
 
1404
 #if ENABLED(Z_SAFE_HOMING)
1397
 #if ENABLED(Z_SAFE_HOMING)
1405
   #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
1398
   #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
1406
-  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
1399
+  #define Z_SAFE_HOMING_Y_POINT 4                     // Y point for Z homing when homing all axes (G28).
1407
 #endif
1400
 #endif
1408
 
1401
 
1409
 // Homing speeds (mm/m)
1402
 // Homing speeds (mm/m)

+ 6
- 13
config/examples/AliExpress/CL-260/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/AliExpress/UM2pExt/Configuration.h View File

899
 
899
 
900
 /**
900
 /**
901
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
902
- * X and Y offsets must be integers.
903
  *
902
  *
904
  * In the following example the X and Y offsets are both positive:
903
  * In the following example the X and Y offsets are both positive:
905
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
906
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
904
+ *
905
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
907
  *
906
  *
908
  *     +-- BACK ---+
907
  *     +-- BACK ---+
909
  *     |           |
908
  *     |           |
915
  *     |           |
914
  *     |           |
916
  *     O-- FRONT --+
915
  *     O-- FRONT --+
917
  *   (0,0)
916
  *   (0,0)
917
+ *
918
+ * Specify a Probe position as { X, Y, Z }
918
  */
919
  */
919
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
920
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
921
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
920
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
922
 
921
 
923
 // Certain types of probes need to stay away from edges
922
 // Certain types of probes need to stay away from edges
924
 #define MIN_PROBE_EDGE 10
923
 #define MIN_PROBE_EDGE 10
952
  *
951
  *
953
  * Use these settings to specify the distance (mm) to raise the probe (or
952
  * Use these settings to specify the distance (mm) to raise the probe (or
954
  * lower the bed). The values set here apply over and above any (negative)
953
  * lower the bed). The values set here apply over and above any (negative)
955
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
954
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
956
  * Only integer values >= 1 are valid here.
955
  * Only integer values >= 1 are valid here.
957
  *
956
  *
958
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1210
   #define GRID_MAX_POINTS_X 3
1209
   #define GRID_MAX_POINTS_X 3
1211
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1212
 
1211
 
1213
-  // Set the boundaries for probing (where the probe can reach).
1214
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1215
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1216
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1217
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1218
-
1219
   // Probe along the Y axis, advancing X after each column
1212
   // Probe along the Y axis, advancing X after each column
1220
   //#define PROBE_Y_FIRST
1213
   //#define PROBE_Y_FIRST
1221
 
1214
 

+ 6
- 13
config/examples/Anet/A2/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-//#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 //#define MIN_PROBE_EDGE 10
912
 //#define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/Anet/A2plus/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-//#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 //#define MIN_PROBE_EDGE 10
912
 //#define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 10
- 49
config/examples/Anet/A6/Configuration.h View File

935
 
935
 
936
 /**
936
 /**
937
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
937
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
938
- * X and Y offsets must be integers.
939
  *
938
  *
940
  * In the following example the X and Y offsets are both positive:
939
  * In the following example the X and Y offsets are both positive:
941
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
942
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
940
+ *
941
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
943
  *
942
  *
944
  *     +-- BACK ---+
943
  *     +-- BACK ---+
945
  *     |           |
944
  *     |           |
951
  *     |           |
950
  *     |           |
952
  *     O-- FRONT --+
951
  *     O-- FRONT --+
953
  *   (0,0)
952
  *   (0,0)
953
+ *
954
+ * Specify a Probe position as { X, Y, Z }
954
  */
955
  */
955
-//#define X_PROBE_OFFSET_FROM_EXTRUDER 10   // X offset: -left  +right  [of the nozzle]
956
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER 10   // Y offset: -front +behind [the nozzle]
957
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER  0   // Z offset: -below +above  [the nozzle]
956
+//#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
958
 
957
 
959
 // ANET A8: FRONT-MOUNTED SENSOR WITH 3D PRINTED MOUNT
958
 // ANET A8: FRONT-MOUNTED SENSOR WITH 3D PRINTED MOUNT
960
-//#define X_PROBE_OFFSET_FROM_EXTRUDER -28  // X offset: -left  +right  [of the nozzle]
961
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER -45  // Y offset: -front +behind [the nozzle]
962
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER   0  // Z offset: -below +above  [the nozzle]
959
+//#define NOZZLE_TO_PROBE_OFFSET { -28, -45, 0 }
963
 
960
 
964
 // THESE ARE FOR THE OFFICIAL ANET REAR-MOUNTED SENSOR
961
 // THESE ARE FOR THE OFFICIAL ANET REAR-MOUNTED SENSOR
965
-//#define X_PROBE_OFFSET_FROM_EXTRUDER -1   // X offset: -left  +right  [of the nozzle]
966
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER  3   // Y offset: -front +behind [the nozzle]
967
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER  0   // Z offset: -below +above  [the nozzle]
962
+//#define NOZZLE_TO_PROBE_OFFSET { -1, 3, 0 }
968
 
963
 
969
 // ANET A6 with BLTouch/3D-Touch mounted right to the nozzle
964
 // ANET A6 with BLTouch/3D-Touch mounted right to the nozzle
970
-#define X_PROBE_OFFSET_FROM_EXTRUDER 39   // X offset: -left  +right  [of the nozzle]
971
-#define Y_PROBE_OFFSET_FROM_EXTRUDER  0   // Y offset: -front +behind [the nozzle]
972
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  0   // Z offset: -below +above  [the nozzle]
965
+#define NOZZLE_TO_PROBE_OFFSET { 39, 0, 0 }
973
 
966
 
974
 //ANET A6 with BLTouch/3D-Touch betwen Fan and Belt
967
 //ANET A6 with BLTouch/3D-Touch betwen Fan and Belt
975
 // (mount: https://github.com/ralf-e/ANET_A6_modifications/tree/master/A6_X-Axis)
968
 // (mount: https://github.com/ralf-e/ANET_A6_modifications/tree/master/A6_X-Axis)
976
-//#define X_PROBE_OFFSET_FROM_EXTRUDER -30      // X offset: -left  +right  [of the nozzle]
977
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER  15      // Y offset: -front +behind [the nozzle]
978
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER   0.75   // Z offset: -below +above  [the nozzle]
969
+//#define NOZZLE_TO_PROBE_OFFSET { -30, 15, 0.75 }
979
 
970
 
980
 // Certain types of probes need to stay away from edges
971
 // Certain types of probes need to stay away from edges
981
 #define MIN_PROBE_EDGE 10
972
 #define MIN_PROBE_EDGE 10
1010
  *
1001
  *
1011
  * Use these settings to specify the distance (mm) to raise the probe (or
1002
  * Use these settings to specify the distance (mm) to raise the probe (or
1012
  * lower the bed). The values set here apply over and above any (negative)
1003
  * lower the bed). The values set here apply over and above any (negative)
1013
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
1004
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
1014
  * Only integer values >= 1 are valid here.
1005
  * Only integer values >= 1 are valid here.
1015
  *
1006
  *
1016
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1007
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1312
   #define GRID_MAX_POINTS_X 4
1303
   #define GRID_MAX_POINTS_X 4
1313
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1304
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1314
 
1305
 
1315
-  // Set the boundaries for probing (where the probe can reach).
1316
-  //#define LEFT_PROBE_BED_POSITION 15
1317
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 15)
1318
-  //#define FRONT_PROBE_BED_POSITION 15
1319
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 15)
1320
-
1321
-  // ANET A6
1322
-  //#define LEFT_PROBE_BED_POSITION 20
1323
-  //#define RIGHT_PROBE_BED_POSITION 190
1324
-  //#define FRONT_PROBE_BED_POSITION 20
1325
-  //#define BACK_PROBE_BED_POSITION 190
1326
-
1327
-  // ANET A6 BLTOUCH right (39mm) to the nozzle
1328
-  //#define LEFT_PROBE_BED_POSITION 36
1329
-  //#define RIGHT_PROBE_BED_POSITION 190
1330
-  //#define FRONT_PROBE_BED_POSITION 20
1331
-  //#define BACK_PROBE_BED_POSITION 190
1332
-
1333
-  // ANET A6 with new X-Axis and modded Y-Axis
1334
-  //#define LEFT_PROBE_BED_POSITION 20
1335
-  //#define RIGHT_PROBE_BED_POSITION 205
1336
-  //#define FRONT_PROBE_BED_POSITION 20
1337
-  //#define BACK_PROBE_BED_POSITION 205
1338
-
1339
-  // ANET A6 with new X-Axis and modded Y-Axis, X0/Y0 front left bed edge
1340
-  //#define LEFT_PROBE_BED_POSITION 20
1341
-  //#define RIGHT_PROBE_BED_POSITION 194
1342
-  //#define FRONT_PROBE_BED_POSITION 20
1343
-  //#define BACK_PROBE_BED_POSITION 194
1344
-
1345
   // Probe along the Y axis, advancing X after each column
1306
   // Probe along the Y axis, advancing X after each column
1346
   //#define PROBE_Y_FIRST
1307
   //#define PROBE_Y_FIRST
1347
 
1308
 

+ 6
- 13
config/examples/Anet/A8/Configuration.h View File

901
 
901
 
902
 /**
902
 /**
903
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
903
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
904
- * X and Y offsets must be integers.
905
  *
904
  *
906
  * In the following example the X and Y offsets are both positive:
905
  * In the following example the X and Y offsets are both positive:
907
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
908
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
906
+ *
907
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
909
  *
908
  *
910
  *     +-- BACK ---+
909
  *     +-- BACK ---+
911
  *     |           |
910
  *     |           |
917
  *     |           |
916
  *     |           |
918
  *     O-- FRONT --+
917
  *     O-- FRONT --+
919
  *   (0,0)
918
  *   (0,0)
919
+ *
920
+ * Specify a Probe position as { X, Y, Z }
920
  */
921
  */
921
-#define X_PROBE_OFFSET_FROM_EXTRUDER 0   // X offset: -left  +right  [of the nozzle]
922
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 0   // Y offset: -front +behind [the nozzle]
923
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
922
+#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
924
 
923
 
925
 // Certain types of probes need to stay away from edges
924
 // Certain types of probes need to stay away from edges
926
 #define MIN_PROBE_EDGE 10
925
 #define MIN_PROBE_EDGE 10
954
  *
953
  *
955
  * Use these settings to specify the distance (mm) to raise the probe (or
954
  * Use these settings to specify the distance (mm) to raise the probe (or
956
  * lower the bed). The values set here apply over and above any (negative)
955
  * lower the bed). The values set here apply over and above any (negative)
957
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
956
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
958
  * Only integer values >= 1 are valid here.
957
  * Only integer values >= 1 are valid here.
959
  *
958
  *
960
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
959
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1212
   #define GRID_MAX_POINTS_X 3
1211
   #define GRID_MAX_POINTS_X 3
1213
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1212
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1214
 
1213
 
1215
-  // Set the boundaries for probing (where the probe can reach).
1216
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1217
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1218
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1219
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1220
-
1221
   // Probe along the Y axis, advancing X after each column
1214
   // Probe along the Y axis, advancing X after each column
1222
   //#define PROBE_Y_FIRST
1215
   //#define PROBE_Y_FIRST
1223
 
1216
 

+ 6
- 13
config/examples/Anet/A8plus/Configuration.h View File

899
 
899
 
900
 /**
900
 /**
901
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
902
- * X and Y offsets must be integers.
903
  *
902
  *
904
  * In the following example the X and Y offsets are both positive:
903
  * In the following example the X and Y offsets are both positive:
905
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
906
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
904
+ *
905
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
907
  *
906
  *
908
  *     +-- BACK ---+
907
  *     +-- BACK ---+
909
  *     |           |
908
  *     |           |
915
  *     |           |
914
  *     |           |
916
  *     O-- FRONT --+
915
  *     O-- FRONT --+
917
  *   (0,0)
916
  *   (0,0)
917
+ *
918
+ * Specify a Probe position as { X, Y, Z }
918
  */
919
  */
919
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
920
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
921
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
920
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
922
 
921
 
923
 // Certain types of probes need to stay away from edges
922
 // Certain types of probes need to stay away from edges
924
 #define MIN_PROBE_EDGE 10
923
 #define MIN_PROBE_EDGE 10
952
  *
951
  *
953
  * Use these settings to specify the distance (mm) to raise the probe (or
952
  * Use these settings to specify the distance (mm) to raise the probe (or
954
  * lower the bed). The values set here apply over and above any (negative)
953
  * lower the bed). The values set here apply over and above any (negative)
955
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
954
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
956
  * Only integer values >= 1 are valid here.
955
  * Only integer values >= 1 are valid here.
957
  *
956
  *
958
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1210
   #define GRID_MAX_POINTS_X 3
1209
   #define GRID_MAX_POINTS_X 3
1211
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1212
 
1211
 
1213
-  // Set the boundaries for probing (where the probe can reach).
1214
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1215
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1216
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1217
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1218
-
1219
   // Probe along the Y axis, advancing X after each column
1212
   // Probe along the Y axis, advancing X after each column
1220
   //#define PROBE_Y_FIRST
1213
   //#define PROBE_Y_FIRST
1221
 
1214
 

+ 6
- 13
config/examples/Anet/E16/Configuration.h View File

900
 
900
 
901
 /**
901
 /**
902
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
902
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
903
- * X and Y offsets must be integers.
904
  *
903
  *
905
  * In the following example the X and Y offsets are both positive:
904
  * In the following example the X and Y offsets are both positive:
906
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
907
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
905
+ *
906
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
908
  *
907
  *
909
  *     +-- BACK ---+
908
  *     +-- BACK ---+
910
  *     |           |
909
  *     |           |
916
  *     |           |
915
  *     |           |
917
  *     O-- FRONT --+
916
  *     O-- FRONT --+
918
  *   (0,0)
917
  *   (0,0)
918
+ *
919
+ * Specify a Probe position as { X, Y, Z }
919
  */
920
  */
920
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
921
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
922
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
921
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
923
 
922
 
924
 // Certain types of probes need to stay away from edges
923
 // Certain types of probes need to stay away from edges
925
 #define MIN_PROBE_EDGE 10
924
 #define MIN_PROBE_EDGE 10
953
  *
952
  *
954
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * Use these settings to specify the distance (mm) to raise the probe (or
955
  * lower the bed). The values set here apply over and above any (negative)
954
  * lower the bed). The values set here apply over and above any (negative)
956
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
955
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
957
  * Only integer values >= 1 are valid here.
956
  * Only integer values >= 1 are valid here.
958
  *
957
  *
959
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
958
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1211
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_X 3
1212
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1213
 
1212
 
1214
-  // Set the boundaries for probing (where the probe can reach).
1215
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1217
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1218
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1219
-
1220
   // Probe along the Y axis, advancing X after each column
1213
   // Probe along the Y axis, advancing X after each column
1221
   //#define PROBE_Y_FIRST
1214
   //#define PROBE_Y_FIRST
1222
 
1215
 

+ 6
- 13
config/examples/AnyCubic/i3/Configuration.h View File

898
 
898
 
899
 /**
899
 /**
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
- * X and Y offsets must be integers.
902
  *
901
  *
903
  * In the following example the X and Y offsets are both positive:
902
  * In the following example the X and Y offsets are both positive:
904
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
905
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
903
+ *
904
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
906
  *
905
  *
907
  *     +-- BACK ---+
906
  *     +-- BACK ---+
908
  *     |           |
907
  *     |           |
914
  *     |           |
913
  *     |           |
915
  *     O-- FRONT --+
914
  *     O-- FRONT --+
916
  *   (0,0)
915
  *   (0,0)
916
+ *
917
+ * Specify a Probe position as { X, Y, Z }
917
  */
918
  */
918
-#define X_PROBE_OFFSET_FROM_EXTRUDER 75  // X offset: -left  +right  [of the nozzle]
919
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 5  // Y offset: -front +behind [the nozzle]
920
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -2   // Z offset: -below +above  [the nozzle]
919
+#define NOZZLE_TO_PROBE_OFFSET { 75, 5, -2 }
921
 
920
 
922
 // Certain types of probes need to stay away from edges
921
 // Certain types of probes need to stay away from edges
923
 #define MIN_PROBE_EDGE 10
922
 #define MIN_PROBE_EDGE 10
951
  *
950
  *
952
  * Use these settings to specify the distance (mm) to raise the probe (or
951
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * lower the bed). The values set here apply over and above any (negative)
952
  * lower the bed). The values set here apply over and above any (negative)
954
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
953
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
955
  * Only integer values >= 1 are valid here.
954
  * Only integer values >= 1 are valid here.
956
  *
955
  *
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
956
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1209
   #define GRID_MAX_POINTS_X 3
1208
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1209
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
 
1210
 
1212
-  // Set the boundaries for probing (where the probe can reach).
1213
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1214
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1215
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1217
-
1218
   // Probe along the Y axis, advancing X after each column
1211
   // Probe along the Y axis, advancing X after each column
1219
   //#define PROBE_Y_FIRST
1212
   //#define PROBE_Y_FIRST
1220
 
1213
 

+ 6
- 13
config/examples/ArmEd/Configuration.h View File

889
 
889
 
890
 /**
890
 /**
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
892
- * X and Y offsets must be integers.
893
  *
892
  *
894
  * In the following example the X and Y offsets are both positive:
893
  * In the following example the X and Y offsets are both positive:
895
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
896
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
894
+ *
895
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
897
  *
896
  *
898
  *     +-- BACK ---+
897
  *     +-- BACK ---+
899
  *     |           |
898
  *     |           |
905
  *     |           |
904
  *     |           |
906
  *     O-- FRONT --+
905
  *     O-- FRONT --+
907
  *   (0,0)
906
  *   (0,0)
907
+ *
908
+ * Specify a Probe position as { X, Y, Z }
908
  */
909
  */
909
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
910
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
911
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
910
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
912
 
911
 
913
 // Certain types of probes need to stay away from edges
912
 // Certain types of probes need to stay away from edges
914
 #define MIN_PROBE_EDGE 10
913
 #define MIN_PROBE_EDGE 10
942
  *
941
  *
943
  * Use these settings to specify the distance (mm) to raise the probe (or
942
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * lower the bed). The values set here apply over and above any (negative)
943
  * lower the bed). The values set here apply over and above any (negative)
945
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
944
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
946
  * Only integer values >= 1 are valid here.
945
  * Only integer values >= 1 are valid here.
947
  *
946
  *
948
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1200
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
 
1201
 
1203
-  // Set the boundaries for probing (where the probe can reach).
1204
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1206
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1208
-
1209
   // Probe along the Y axis, advancing X after each column
1202
   // Probe along the Y axis, advancing X after each column
1210
   //#define PROBE_Y_FIRST
1203
   //#define PROBE_Y_FIRST
1211
 
1204
 

+ 6
- 13
config/examples/Azteeg/X5GT/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/BIBO/TouchX/cyclops/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION 15
1204
-  //#define RIGHT_PROBE_BED_POSITION 170
1205
-  //#define FRONT_PROBE_BED_POSITION 20
1206
-  //#define BACK_PROBE_BED_POSITION 170
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/BIBO/TouchX/default/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION 15
1204
-  //#define RIGHT_PROBE_BED_POSITION 170
1205
-  //#define FRONT_PROBE_BED_POSITION 20
1206
-  //#define BACK_PROBE_BED_POSITION 170
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/BQ/Hephestos/Configuration.h View File

876
 
876
 
877
 /**
877
 /**
878
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
878
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
879
- * X and Y offsets must be integers.
880
  *
879
  *
881
  * In the following example the X and Y offsets are both positive:
880
  * In the following example the X and Y offsets are both positive:
882
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
883
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
881
+ *
882
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
884
  *
883
  *
885
  *     +-- BACK ---+
884
  *     +-- BACK ---+
886
  *     |           |
885
  *     |           |
892
  *     |           |
891
  *     |           |
893
  *     O-- FRONT --+
892
  *     O-- FRONT --+
894
  *   (0,0)
893
  *   (0,0)
894
+ *
895
+ * Specify a Probe position as { X, Y, Z }
895
  */
896
  */
896
-#define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
897
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
898
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
897
+#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 }
899
 
898
 
900
 // Certain types of probes need to stay away from edges
899
 // Certain types of probes need to stay away from edges
901
 #define MIN_PROBE_EDGE 10
900
 #define MIN_PROBE_EDGE 10
929
  *
928
  *
930
  * Use these settings to specify the distance (mm) to raise the probe (or
929
  * Use these settings to specify the distance (mm) to raise the probe (or
931
  * lower the bed). The values set here apply over and above any (negative)
930
  * lower the bed). The values set here apply over and above any (negative)
932
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
931
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
933
  * Only integer values >= 1 are valid here.
932
  * Only integer values >= 1 are valid here.
934
  *
933
  *
935
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
934
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1187
   #define GRID_MAX_POINTS_X 3
1186
   #define GRID_MAX_POINTS_X 3
1188
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1187
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1189
 
1188
 
1190
-  // Set the boundaries for probing (where the probe can reach).
1191
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1192
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1193
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1194
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1195
-
1196
   // Probe along the Y axis, advancing X after each column
1189
   // Probe along the Y axis, advancing X after each column
1197
   //#define PROBE_Y_FIRST
1190
   //#define PROBE_Y_FIRST
1198
 
1191
 

+ 6
- 13
config/examples/BQ/Hephestos_2/Configuration.h View File

889
 
889
 
890
 /**
890
 /**
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
892
- * X and Y offsets must be integers.
893
  *
892
  *
894
  * In the following example the X and Y offsets are both positive:
893
  * In the following example the X and Y offsets are both positive:
895
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
896
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
894
+ *
895
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
897
  *
896
  *
898
  *     +-- BACK ---+
897
  *     +-- BACK ---+
899
  *     |           |
898
  *     |           |
905
  *     |           |
904
  *     |           |
906
  *     O-- FRONT --+
905
  *     O-- FRONT --+
907
  *   (0,0)
906
  *   (0,0)
907
+ *
908
+ * Specify a Probe position as { X, Y, Z }
908
  */
909
  */
909
-#define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
910
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
911
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  0  // Z offset: -below +above  [the nozzle]
910
+#define NOZZLE_TO_PROBE_OFFSET { 34, 15, 0 }
912
 
911
 
913
 // Certain types of probes need to stay away from edges
912
 // Certain types of probes need to stay away from edges
914
 #define MIN_PROBE_EDGE 10
913
 #define MIN_PROBE_EDGE 10
942
  *
941
  *
943
  * Use these settings to specify the distance (mm) to raise the probe (or
942
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * lower the bed). The values set here apply over and above any (negative)
943
  * lower the bed). The values set here apply over and above any (negative)
945
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
944
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
946
  * Only integer values >= 1 are valid here.
945
  * Only integer values >= 1 are valid here.
947
  *
946
  *
948
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 5
1198
   #define GRID_MAX_POINTS_X 5
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION  X_MIN_POS + (X_PROBE_OFFSET_FROM_EXTRUDER)
1204
-  //#define RIGHT_PROBE_BED_POSITION X_MAX_POS - (X_PROBE_OFFSET_FROM_EXTRUDER)
1205
-  //#define FRONT_PROBE_BED_POSITION Y_MIN_POS + (Y_PROBE_OFFSET_FROM_EXTRUDER)
1206
-  //#define BACK_PROBE_BED_POSITION  Y_MAX_POS - (Y_PROBE_OFFSET_FROM_EXTRUDER)
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/BQ/WITBOX/Configuration.h View File

876
 
876
 
877
 /**
877
 /**
878
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
878
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
879
- * X and Y offsets must be integers.
880
  *
879
  *
881
  * In the following example the X and Y offsets are both positive:
880
  * In the following example the X and Y offsets are both positive:
882
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
883
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
881
+ *
882
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
884
  *
883
  *
885
  *     +-- BACK ---+
884
  *     +-- BACK ---+
886
  *     |           |
885
  *     |           |
892
  *     |           |
891
  *     |           |
893
  *     O-- FRONT --+
892
  *     O-- FRONT --+
894
  *   (0,0)
893
  *   (0,0)
894
+ *
895
+ * Specify a Probe position as { X, Y, Z }
895
  */
896
  */
896
-#define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
897
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
898
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
897
+#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 }
899
 
898
 
900
 // Certain types of probes need to stay away from edges
899
 // Certain types of probes need to stay away from edges
901
 #define MIN_PROBE_EDGE 10
900
 #define MIN_PROBE_EDGE 10
929
  *
928
  *
930
  * Use these settings to specify the distance (mm) to raise the probe (or
929
  * Use these settings to specify the distance (mm) to raise the probe (or
931
  * lower the bed). The values set here apply over and above any (negative)
930
  * lower the bed). The values set here apply over and above any (negative)
932
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
931
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
933
  * Only integer values >= 1 are valid here.
932
  * Only integer values >= 1 are valid here.
934
  *
933
  *
935
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
934
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1187
   #define GRID_MAX_POINTS_X 3
1186
   #define GRID_MAX_POINTS_X 3
1188
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1187
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1189
 
1188
 
1190
-  // Set the boundaries for probing (where the probe can reach).
1191
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1192
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1193
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1194
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1195
-
1196
   // Probe along the Y axis, advancing X after each column
1189
   // Probe along the Y axis, advancing X after each column
1197
   //#define PROBE_Y_FIRST
1190
   //#define PROBE_Y_FIRST
1198
 
1191
 

+ 6
- 13
config/examples/Cartesio/Configuration.h View File

887
 
887
 
888
 /**
888
 /**
889
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
889
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
- * X and Y offsets must be integers.
891
  *
890
  *
892
  * In the following example the X and Y offsets are both positive:
891
  * In the following example the X and Y offsets are both positive:
893
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
894
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
892
+ *
893
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
895
  *
894
  *
896
  *     +-- BACK ---+
895
  *     +-- BACK ---+
897
  *     |           |
896
  *     |           |
903
  *     |           |
902
  *     |           |
904
  *     O-- FRONT --+
903
  *     O-- FRONT --+
905
  *   (0,0)
904
  *   (0,0)
905
+ *
906
+ * Specify a Probe position as { X, Y, Z }
906
  */
907
  */
907
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
908
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
909
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
908
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
910
 
909
 
911
 // Certain types of probes need to stay away from edges
910
 // Certain types of probes need to stay away from edges
912
 #define MIN_PROBE_EDGE 10
911
 #define MIN_PROBE_EDGE 10
940
  *
939
  *
941
  * Use these settings to specify the distance (mm) to raise the probe (or
940
  * Use these settings to specify the distance (mm) to raise the probe (or
942
  * lower the bed). The values set here apply over and above any (negative)
941
  * lower the bed). The values set here apply over and above any (negative)
943
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
942
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
944
  * Only integer values >= 1 are valid here.
943
  * Only integer values >= 1 are valid here.
945
  *
944
  *
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
945
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1198
   #define GRID_MAX_POINTS_X 3
1197
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1198
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
 
1199
 
1201
-  // Set the boundaries for probing (where the probe can reach).
1202
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1203
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1204
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1206
-
1207
   // Probe along the Y axis, advancing X after each column
1200
   // Probe along the Y axis, advancing X after each column
1208
   //#define PROBE_Y_FIRST
1201
   //#define PROBE_Y_FIRST
1209
 
1202
 

+ 6
- 13
config/examples/Creality/CR-10/Configuration.h View File

898
 
898
 
899
 /**
899
 /**
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
- * X and Y offsets must be integers.
902
  *
901
  *
903
  * In the following example the X and Y offsets are both positive:
902
  * In the following example the X and Y offsets are both positive:
904
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
905
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
903
+ *
904
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
906
  *
905
  *
907
  *     +-- BACK ---+
906
  *     +-- BACK ---+
908
  *     |           |
907
  *     |           |
914
  *     |           |
913
  *     |           |
915
  *     O-- FRONT --+
914
  *     O-- FRONT --+
916
  *   (0,0)
915
  *   (0,0)
916
+ *
917
+ * Specify a Probe position as { X, Y, Z }
917
  */
918
  */
918
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
919
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
920
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
919
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
921
 
920
 
922
 // Certain types of probes need to stay away from edges
921
 // Certain types of probes need to stay away from edges
923
 #define MIN_PROBE_EDGE 10
922
 #define MIN_PROBE_EDGE 10
951
  *
950
  *
952
  * Use these settings to specify the distance (mm) to raise the probe (or
951
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * lower the bed). The values set here apply over and above any (negative)
952
  * lower the bed). The values set here apply over and above any (negative)
954
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
953
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
955
  * Only integer values >= 1 are valid here.
954
  * Only integer values >= 1 are valid here.
956
  *
955
  *
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
956
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1209
   #define GRID_MAX_POINTS_X 3
1208
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1209
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
 
1210
 
1212
-  // Set the boundaries for probing (where the probe can reach).
1213
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1214
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1215
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1217
-
1218
   // Probe along the Y axis, advancing X after each column
1211
   // Probe along the Y axis, advancing X after each column
1219
   //#define PROBE_Y_FIRST
1212
   //#define PROBE_Y_FIRST
1220
 
1213
 

+ 6
- 13
config/examples/Creality/CR-10S/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1200
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
 
1201
 
1203
-  // Set the boundaries for probing (where the probe can reach).
1204
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1206
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1208
-
1209
   // Probe along the Y axis, advancing X after each column
1202
   // Probe along the Y axis, advancing X after each column
1210
   //#define PROBE_Y_FIRST
1203
   //#define PROBE_Y_FIRST
1211
 
1204
 

+ 6
- 13
config/examples/Creality/CR-10_5S/Configuration.h View File

889
 
889
 
890
 /**
890
 /**
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
892
- * X and Y offsets must be integers.
893
  *
892
  *
894
  * In the following example the X and Y offsets are both positive:
893
  * In the following example the X and Y offsets are both positive:
895
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
896
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
894
+ *
895
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
897
  *
896
  *
898
  *     +-- BACK ---+
897
  *     +-- BACK ---+
899
  *     |           |
898
  *     |           |
905
  *     |           |
904
  *     |           |
906
  *     O-- FRONT --+
905
  *     O-- FRONT --+
907
  *   (0,0)
906
  *   (0,0)
907
+ *
908
+ * Specify a Probe position as { X, Y, Z }
908
  */
909
  */
909
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
910
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
911
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
910
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
912
 
911
 
913
 // Certain types of probes need to stay away from edges
912
 // Certain types of probes need to stay away from edges
914
 #define MIN_PROBE_EDGE 10
913
 #define MIN_PROBE_EDGE 10
942
  *
941
  *
943
  * Use these settings to specify the distance (mm) to raise the probe (or
942
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * lower the bed). The values set here apply over and above any (negative)
943
  * lower the bed). The values set here apply over and above any (negative)
945
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
944
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
946
  * Only integer values >= 1 are valid here.
945
  * Only integer values >= 1 are valid here.
947
  *
946
  *
948
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1202
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
 
1203
 
1205
-  // Set the boundaries for probing (where the probe can reach).
1206
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1208
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1210
-
1211
   // Probe along the Y axis, advancing X after each column
1204
   // Probe along the Y axis, advancing X after each column
1212
   //#define PROBE_Y_FIRST
1205
   //#define PROBE_Y_FIRST
1213
 
1206
 

+ 6
- 13
config/examples/Creality/CR-10mini/Configuration.h View File

907
 
907
 
908
 /**
908
 /**
909
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
909
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
910
- * X and Y offsets must be integers.
911
  *
910
  *
912
  * In the following example the X and Y offsets are both positive:
911
  * In the following example the X and Y offsets are both positive:
913
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
914
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
912
+ *
913
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
915
  *
914
  *
916
  *     +-- BACK ---+
915
  *     +-- BACK ---+
917
  *     |           |
916
  *     |           |
923
  *     |           |
922
  *     |           |
924
  *     O-- FRONT --+
923
  *     O-- FRONT --+
925
  *   (0,0)
924
  *   (0,0)
925
+ *
926
+ * Specify a Probe position as { X, Y, Z }
926
  */
927
  */
927
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
928
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
929
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
928
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
930
 
929
 
931
 // Certain types of probes need to stay away from edges
930
 // Certain types of probes need to stay away from edges
932
 #define MIN_PROBE_EDGE 10
931
 #define MIN_PROBE_EDGE 10
960
  *
959
  *
961
  * Use these settings to specify the distance (mm) to raise the probe (or
960
  * Use these settings to specify the distance (mm) to raise the probe (or
962
  * lower the bed). The values set here apply over and above any (negative)
961
  * lower the bed). The values set here apply over and above any (negative)
963
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
962
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
964
  * Only integer values >= 1 are valid here.
963
  * Only integer values >= 1 are valid here.
965
  *
964
  *
966
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
965
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1218
   #define GRID_MAX_POINTS_X 3
1217
   #define GRID_MAX_POINTS_X 3
1219
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1218
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1220
 
1219
 
1221
-  // Set the boundaries for probing (where the probe can reach).
1222
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1223
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1224
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1225
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1226
-
1227
   // Probe along the Y axis, advancing X after each column
1220
   // Probe along the Y axis, advancing X after each column
1228
   //#define PROBE_Y_FIRST
1221
   //#define PROBE_Y_FIRST
1229
 
1222
 

+ 6
- 13
config/examples/Creality/CR-20 Pro/Configuration.h View File

891
 
891
 
892
 /**
892
 /**
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
- * X and Y offsets must be integers.
895
  *
894
  *
896
  * In the following example the X and Y offsets are both positive:
895
  * In the following example the X and Y offsets are both positive:
897
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
898
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
896
+ *
897
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
899
  *
898
  *
900
  *     +-- BACK ---+
899
  *     +-- BACK ---+
901
  *     |           |
900
  *     |           |
907
  *     |           |
906
  *     |           |
908
  *     O-- FRONT --+
907
  *     O-- FRONT --+
909
  *   (0,0)
908
  *   (0,0)
909
+ *
910
+ * Specify a Probe position as { X, Y, Z }
910
  */
911
  */
911
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
912
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
913
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
912
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
914
 
913
 
915
 // Certain types of probes need to stay away from edges
914
 // Certain types of probes need to stay away from edges
916
 #define MIN_PROBE_EDGE 10
915
 #define MIN_PROBE_EDGE 10
944
  *
943
  *
945
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * lower the bed). The values set here apply over and above any (negative)
945
  * lower the bed). The values set here apply over and above any (negative)
947
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
946
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
948
  * Only integer values >= 1 are valid here.
947
  * Only integer values >= 1 are valid here.
949
  *
948
  *
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
949
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1202
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
 
1203
 
1205
-  // Set the boundaries for probing (where the probe can reach).
1206
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1208
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1210
-
1211
   // Probe along the Y axis, advancing X after each column
1204
   // Probe along the Y axis, advancing X after each column
1212
   //#define PROBE_Y_FIRST
1205
   //#define PROBE_Y_FIRST
1213
 
1206
 

+ 6
- 13
config/examples/Creality/CR-20/Configuration.h View File

891
 
891
 
892
 /**
892
 /**
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
- * X and Y offsets must be integers.
895
  *
894
  *
896
  * In the following example the X and Y offsets are both positive:
895
  * In the following example the X and Y offsets are both positive:
897
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
898
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
896
+ *
897
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
899
  *
898
  *
900
  *     +-- BACK ---+
899
  *     +-- BACK ---+
901
  *     |           |
900
  *     |           |
907
  *     |           |
906
  *     |           |
908
  *     O-- FRONT --+
907
  *     O-- FRONT --+
909
  *   (0,0)
908
  *   (0,0)
909
+ *
910
+ * Specify a Probe position as { X, Y, Z }
910
  */
911
  */
911
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
912
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
913
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
912
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
914
 
913
 
915
 // Certain types of probes need to stay away from edges
914
 // Certain types of probes need to stay away from edges
916
 #define MIN_PROBE_EDGE 10
915
 #define MIN_PROBE_EDGE 10
944
  *
943
  *
945
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * lower the bed). The values set here apply over and above any (negative)
945
  * lower the bed). The values set here apply over and above any (negative)
947
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
946
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
948
  * Only integer values >= 1 are valid here.
947
  * Only integer values >= 1 are valid here.
949
  *
948
  *
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
949
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1202
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
 
1203
 
1205
-  // Set the boundaries for probing (where the probe can reach).
1206
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1208
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1210
-
1211
   // Probe along the Y axis, advancing X after each column
1204
   // Probe along the Y axis, advancing X after each column
1212
   //#define PROBE_Y_FIRST
1205
   //#define PROBE_Y_FIRST
1213
 
1206
 

+ 6
- 13
config/examples/Creality/CR-8/Configuration.h View File

898
 
898
 
899
 /**
899
 /**
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
- * X and Y offsets must be integers.
902
  *
901
  *
903
  * In the following example the X and Y offsets are both positive:
902
  * In the following example the X and Y offsets are both positive:
904
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
905
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
903
+ *
904
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
906
  *
905
  *
907
  *     +-- BACK ---+
906
  *     +-- BACK ---+
908
  *     |           |
907
  *     |           |
914
  *     |           |
913
  *     |           |
915
  *     O-- FRONT --+
914
  *     O-- FRONT --+
916
  *   (0,0)
915
  *   (0,0)
916
+ *
917
+ * Specify a Probe position as { X, Y, Z }
917
  */
918
  */
918
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
919
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
920
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
919
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
921
 
920
 
922
 // Certain types of probes need to stay away from edges
921
 // Certain types of probes need to stay away from edges
923
 #define MIN_PROBE_EDGE 10
922
 #define MIN_PROBE_EDGE 10
951
  *
950
  *
952
  * Use these settings to specify the distance (mm) to raise the probe (or
951
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * lower the bed). The values set here apply over and above any (negative)
952
  * lower the bed). The values set here apply over and above any (negative)
954
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
953
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
955
  * Only integer values >= 1 are valid here.
954
  * Only integer values >= 1 are valid here.
956
  *
955
  *
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
956
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1209
   #define GRID_MAX_POINTS_X 3
1208
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1209
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
 
1210
 
1212
-  // Set the boundaries for probing (where the probe can reach).
1213
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1214
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1215
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1217
-
1218
   // Probe along the Y axis, advancing X after each column
1211
   // Probe along the Y axis, advancing X after each column
1219
   //#define PROBE_Y_FIRST
1212
   //#define PROBE_Y_FIRST
1220
 
1213
 

+ 6
- 13
config/examples/Creality/Ender-2/Configuration.h View File

892
 
892
 
893
 /**
893
 /**
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
- * X and Y offsets must be integers.
896
  *
895
  *
897
  * In the following example the X and Y offsets are both positive:
896
  * In the following example the X and Y offsets are both positive:
898
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
899
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
897
+ *
898
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
900
  *
899
  *
901
  *     +-- BACK ---+
900
  *     +-- BACK ---+
902
  *     |           |
901
  *     |           |
908
  *     |           |
907
  *     |           |
909
  *     O-- FRONT --+
908
  *     O-- FRONT --+
910
  *   (0,0)
909
  *   (0,0)
910
+ *
911
+ * Specify a Probe position as { X, Y, Z }
911
  */
912
  */
912
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
913
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
914
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
913
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
915
 
914
 
916
 // Certain types of probes need to stay away from edges
915
 // Certain types of probes need to stay away from edges
917
 #define MIN_PROBE_EDGE 10
916
 #define MIN_PROBE_EDGE 10
945
  *
944
  *
946
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * lower the bed). The values set here apply over and above any (negative)
946
  * lower the bed). The values set here apply over and above any (negative)
948
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
947
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
949
  * Only integer values >= 1 are valid here.
948
  * Only integer values >= 1 are valid here.
950
  *
949
  *
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1203
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
 
1204
 
1206
-  // Set the boundaries for probing (where the probe can reach).
1207
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1209
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1211
-
1212
   // Probe along the Y axis, advancing X after each column
1205
   // Probe along the Y axis, advancing X after each column
1213
   //#define PROBE_Y_FIRST
1206
   //#define PROBE_Y_FIRST
1214
 
1207
 

+ 6
- 13
config/examples/Creality/Ender-3/Configuration.h View File

892
 
892
 
893
 /**
893
 /**
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
- * X and Y offsets must be integers.
896
  *
895
  *
897
  * In the following example the X and Y offsets are both positive:
896
  * In the following example the X and Y offsets are both positive:
898
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
899
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
897
+ *
898
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
900
  *
899
  *
901
  *     +-- BACK ---+
900
  *     +-- BACK ---+
902
  *     |           |
901
  *     |           |
908
  *     |           |
907
  *     |           |
909
  *     O-- FRONT --+
908
  *     O-- FRONT --+
910
  *   (0,0)
909
  *   (0,0)
910
+ *
911
+ * Specify a Probe position as { X, Y, Z }
911
  */
912
  */
912
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
913
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
914
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
913
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
915
 
914
 
916
 // Certain types of probes need to stay away from edges
915
 // Certain types of probes need to stay away from edges
917
 #define MIN_PROBE_EDGE 10
916
 #define MIN_PROBE_EDGE 10
945
  *
944
  *
946
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * lower the bed). The values set here apply over and above any (negative)
946
  * lower the bed). The values set here apply over and above any (negative)
948
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
947
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
949
  * Only integer values >= 1 are valid here.
948
  * Only integer values >= 1 are valid here.
950
  *
949
  *
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1203
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
 
1204
 
1206
-  // Set the boundaries for probing (where the probe can reach).
1207
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1209
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1211
-
1212
   // Probe along the Y axis, advancing X after each column
1205
   // Probe along the Y axis, advancing X after each column
1213
   //#define PROBE_Y_FIRST
1206
   //#define PROBE_Y_FIRST
1214
 
1207
 

+ 6
- 13
config/examples/Creality/Ender-4/Configuration.h View File

898
 
898
 
899
 /**
899
 /**
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
- * X and Y offsets must be integers.
902
  *
901
  *
903
  * In the following example the X and Y offsets are both positive:
902
  * In the following example the X and Y offsets are both positive:
904
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
905
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
903
+ *
904
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
906
  *
905
  *
907
  *     +-- BACK ---+
906
  *     +-- BACK ---+
908
  *     |           |
907
  *     |           |
914
  *     |           |
913
  *     |           |
915
  *     O-- FRONT --+
914
  *     O-- FRONT --+
916
  *   (0,0)
915
  *   (0,0)
916
+ *
917
+ * Specify a Probe position as { X, Y, Z }
917
  */
918
  */
918
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
919
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
920
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
919
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
921
 
920
 
922
 // Certain types of probes need to stay away from edges
921
 // Certain types of probes need to stay away from edges
923
 #define MIN_PROBE_EDGE 10
922
 #define MIN_PROBE_EDGE 10
951
  *
950
  *
952
  * Use these settings to specify the distance (mm) to raise the probe (or
951
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * lower the bed). The values set here apply over and above any (negative)
952
  * lower the bed). The values set here apply over and above any (negative)
954
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
953
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
955
  * Only integer values >= 1 are valid here.
954
  * Only integer values >= 1 are valid here.
956
  *
955
  *
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
956
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1209
   #define GRID_MAX_POINTS_X 3
1208
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1209
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
 
1210
 
1212
-  // Set the boundaries for probing (where the probe can reach).
1213
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1214
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1215
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1217
-
1218
   // Probe along the Y axis, advancing X after each column
1211
   // Probe along the Y axis, advancing X after each column
1219
   //#define PROBE_Y_FIRST
1212
   //#define PROBE_Y_FIRST
1220
 
1213
 

+ 6
- 13
config/examples/Creality/Ender-5/Configuration.h View File

891
 
891
 
892
 /**
892
 /**
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
893
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
- * X and Y offsets must be integers.
895
  *
894
  *
896
  * In the following example the X and Y offsets are both positive:
895
  * In the following example the X and Y offsets are both positive:
897
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
898
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
896
+ *
897
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
899
  *
898
  *
900
  *     +-- BACK ---+
899
  *     +-- BACK ---+
901
  *     |           |
900
  *     |           |
907
  *     |           |
906
  *     |           |
908
  *     O-- FRONT --+
907
  *     O-- FRONT --+
909
  *   (0,0)
908
  *   (0,0)
909
+ *
910
+ * Specify a Probe position as { X, Y, Z }
910
  */
911
  */
911
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
912
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
913
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
912
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
914
 
913
 
915
 // Certain types of probes need to stay away from edges
914
 // Certain types of probes need to stay away from edges
916
 #define MIN_PROBE_EDGE 10
915
 #define MIN_PROBE_EDGE 10
944
  *
943
  *
945
  * Use these settings to specify the distance (mm) to raise the probe (or
944
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * lower the bed). The values set here apply over and above any (negative)
945
  * lower the bed). The values set here apply over and above any (negative)
947
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
946
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
948
  * Only integer values >= 1 are valid here.
947
  * Only integer values >= 1 are valid here.
949
  *
948
  *
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
949
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1202
   #define GRID_MAX_POINTS_X 3
1201
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1202
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
 
1203
 
1205
-  // Set the boundaries for probing (where the probe can reach).
1206
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1207
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1208
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1210
-
1211
   // Probe along the Y axis, advancing X after each column
1204
   // Probe along the Y axis, advancing X after each column
1212
   //#define PROBE_Y_FIRST
1205
   //#define PROBE_Y_FIRST
1213
 
1206
 

+ 6
- 13
config/examples/Dagoma/Disco Ultimate/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 0   // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 21  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 0, 21, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/Einstart-S/Configuration.h View File

898
 
898
 
899
 /**
899
 /**
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
900
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
901
- * X and Y offsets must be integers.
902
  *
901
  *
903
  * In the following example the X and Y offsets are both positive:
902
  * In the following example the X and Y offsets are both positive:
904
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
905
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
903
+ *
904
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
906
  *
905
  *
907
  *     +-- BACK ---+
906
  *     +-- BACK ---+
908
  *     |           |
907
  *     |           |
914
  *     |           |
913
  *     |           |
915
  *     O-- FRONT --+
914
  *     O-- FRONT --+
916
  *   (0,0)
915
  *   (0,0)
916
+ *
917
+ * Specify a Probe position as { X, Y, Z }
917
  */
918
  */
918
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
919
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
920
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
919
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
921
 
920
 
922
 // Certain types of probes need to stay away from edges
921
 // Certain types of probes need to stay away from edges
923
 #define MIN_PROBE_EDGE 10
922
 #define MIN_PROBE_EDGE 10
951
  *
950
  *
952
  * Use these settings to specify the distance (mm) to raise the probe (or
951
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * lower the bed). The values set here apply over and above any (negative)
952
  * lower the bed). The values set here apply over and above any (negative)
954
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
953
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
955
  * Only integer values >= 1 are valid here.
954
  * Only integer values >= 1 are valid here.
956
  *
955
  *
957
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
956
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1209
   #define GRID_MAX_POINTS_X 3
1208
   #define GRID_MAX_POINTS_X 3
1210
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1209
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
 
1210
 
1212
-  // Set the boundaries for probing (where the probe can reach).
1213
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1214
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1215
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1216
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1217
-
1218
   // Probe along the Y axis, advancing X after each column
1211
   // Probe along the Y axis, advancing X after each column
1219
   //#define PROBE_Y_FIRST
1212
   //#define PROBE_Y_FIRST
1220
 
1213
 

+ 6
- 13
config/examples/FYSETC/AIO_II/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER -44  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.9   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { -44, -6, -3.9 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/FYSETC/Cheetah 1.2/base/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/FYSETC/Cheetah/BLTouch/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER -44  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.9   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { -44, -6, -3.9 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/FYSETC/Cheetah/base/Configuration.h View File

893
 
893
 
894
 /**
894
 /**
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
- * X and Y offsets must be integers.
897
  *
896
  *
898
  * In the following example the X and Y offsets are both positive:
897
  * In the following example the X and Y offsets are both positive:
899
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
900
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
898
+ *
899
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
901
  *
900
  *
902
  *     +-- BACK ---+
901
  *     +-- BACK ---+
903
  *     |           |
902
  *     |           |
909
  *     |           |
908
  *     |           |
910
  *     O-- FRONT --+
909
  *     O-- FRONT --+
911
  *   (0,0)
910
  *   (0,0)
911
+ *
912
+ * Specify a Probe position as { X, Y, Z }
912
  */
913
  */
913
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
914
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
915
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
914
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
 
915
 
917
 // Certain types of probes need to stay away from edges
916
 // Certain types of probes need to stay away from edges
918
 #define MIN_PROBE_EDGE 10
917
 #define MIN_PROBE_EDGE 10
946
  *
945
  *
947
  * Use these settings to specify the distance (mm) to raise the probe (or
946
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * lower the bed). The values set here apply over and above any (negative)
947
  * lower the bed). The values set here apply over and above any (negative)
949
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
948
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
950
  * Only integer values >= 1 are valid here.
949
  * Only integer values >= 1 are valid here.
951
  *
950
  *
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1204
   #define GRID_MAX_POINTS_X 3
1203
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
 
1205
 
1207
-  // Set the boundaries for probing (where the probe can reach).
1208
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1209
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1210
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1212
-
1213
   // Probe along the Y axis, advancing X after each column
1206
   // Probe along the Y axis, advancing X after each column
1214
   //#define PROBE_Y_FIRST
1207
   //#define PROBE_Y_FIRST
1215
 
1208
 

+ 6
- 13
config/examples/FYSETC/F6_13/Configuration.h View File

890
 
890
 
891
 /**
891
 /**
892
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
892
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
893
- * X and Y offsets must be integers.
894
  *
893
  *
895
  * In the following example the X and Y offsets are both positive:
894
  * In the following example the X and Y offsets are both positive:
896
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
897
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
895
+ *
896
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
898
  *
897
  *
899
  *     +-- BACK ---+
898
  *     +-- BACK ---+
900
  *     |           |
899
  *     |           |
906
  *     |           |
905
  *     |           |
907
  *     O-- FRONT --+
906
  *     O-- FRONT --+
908
  *   (0,0)
907
  *   (0,0)
908
+ *
909
+ * Specify a Probe position as { X, Y, Z }
909
  */
910
  */
910
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
911
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
912
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
911
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
913
 
912
 
914
 // Certain types of probes need to stay away from edges
913
 // Certain types of probes need to stay away from edges
915
 #define MIN_PROBE_EDGE 10
914
 #define MIN_PROBE_EDGE 10
943
  *
942
  *
944
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * lower the bed). The values set here apply over and above any (negative)
944
  * lower the bed). The values set here apply over and above any (negative)
946
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
945
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
947
  * Only integer values >= 1 are valid here.
946
  * Only integer values >= 1 are valid here.
948
  *
947
  *
949
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
948
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1201
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
 
1202
 
1204
-  // Set the boundaries for probing (where the probe can reach).
1205
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1207
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1209
-
1210
   // Probe along the Y axis, advancing X after each column
1203
   // Probe along the Y axis, advancing X after each column
1211
   //#define PROBE_Y_FIRST
1204
   //#define PROBE_Y_FIRST
1212
 
1205
 

+ 6
- 13
config/examples/Felix/Configuration.h View File

870
 
870
 
871
 /**
871
 /**
872
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
872
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
873
- * X and Y offsets must be integers.
874
  *
873
  *
875
  * In the following example the X and Y offsets are both positive:
874
  * In the following example the X and Y offsets are both positive:
876
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
877
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
875
+ *
876
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
878
  *
877
  *
879
  *     +-- BACK ---+
878
  *     +-- BACK ---+
880
  *     |           |
879
  *     |           |
886
  *     |           |
885
  *     |           |
887
  *     O-- FRONT --+
886
  *     O-- FRONT --+
888
  *   (0,0)
887
  *   (0,0)
888
+ *
889
+ * Specify a Probe position as { X, Y, Z }
889
  */
890
  */
890
-#define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
891
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
892
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
891
+#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 }
893
 
892
 
894
 // Certain types of probes need to stay away from edges
893
 // Certain types of probes need to stay away from edges
895
 #define MIN_PROBE_EDGE 10
894
 #define MIN_PROBE_EDGE 10
923
  *
922
  *
924
  * Use these settings to specify the distance (mm) to raise the probe (or
923
  * Use these settings to specify the distance (mm) to raise the probe (or
925
  * lower the bed). The values set here apply over and above any (negative)
924
  * lower the bed). The values set here apply over and above any (negative)
926
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
925
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
927
  * Only integer values >= 1 are valid here.
926
  * Only integer values >= 1 are valid here.
928
  *
927
  *
929
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
928
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1181
   #define GRID_MAX_POINTS_X 3
1180
   #define GRID_MAX_POINTS_X 3
1182
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1181
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1183
 
1182
 
1184
-  // Set the boundaries for probing (where the probe can reach).
1185
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1186
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1187
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1188
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1189
-
1190
   // Probe along the Y axis, advancing X after each column
1183
   // Probe along the Y axis, advancing X after each column
1191
   //#define PROBE_Y_FIRST
1184
   //#define PROBE_Y_FIRST
1192
 
1185
 

+ 6
- 13
config/examples/Felix/DUAL/Configuration.h View File

870
 
870
 
871
 /**
871
 /**
872
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
872
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
873
- * X and Y offsets must be integers.
874
  *
873
  *
875
  * In the following example the X and Y offsets are both positive:
874
  * In the following example the X and Y offsets are both positive:
876
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
877
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
875
+ *
876
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
878
  *
877
  *
879
  *     +-- BACK ---+
878
  *     +-- BACK ---+
880
  *     |           |
879
  *     |           |
886
  *     |           |
885
  *     |           |
887
  *     O-- FRONT --+
886
  *     O-- FRONT --+
888
  *   (0,0)
887
  *   (0,0)
888
+ *
889
+ * Specify a Probe position as { X, Y, Z }
889
  */
890
  */
890
-#define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
891
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
892
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
891
+#define NOZZLE_TO_PROBE_OFFSET { -25, -29, -12.35 }
893
 
892
 
894
 // Certain types of probes need to stay away from edges
893
 // Certain types of probes need to stay away from edges
895
 #define MIN_PROBE_EDGE 10
894
 #define MIN_PROBE_EDGE 10
923
  *
922
  *
924
  * Use these settings to specify the distance (mm) to raise the probe (or
923
  * Use these settings to specify the distance (mm) to raise the probe (or
925
  * lower the bed). The values set here apply over and above any (negative)
924
  * lower the bed). The values set here apply over and above any (negative)
926
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
925
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
927
  * Only integer values >= 1 are valid here.
926
  * Only integer values >= 1 are valid here.
928
  *
927
  *
929
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
928
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1181
   #define GRID_MAX_POINTS_X 3
1180
   #define GRID_MAX_POINTS_X 3
1182
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1181
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1183
 
1182
 
1184
-  // Set the boundaries for probing (where the probe can reach).
1185
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1186
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1187
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1188
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1189
-
1190
   // Probe along the Y axis, advancing X after each column
1183
   // Probe along the Y axis, advancing X after each column
1191
   //#define PROBE_Y_FIRST
1184
   //#define PROBE_Y_FIRST
1192
 
1185
 

+ 6
- 13
config/examples/FlashForge/CreatorPro/Configuration.h View File

880
 
880
 
881
 /**
881
 /**
882
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
882
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
883
- * X and Y offsets must be integers.
884
  *
883
  *
885
  * In the following example the X and Y offsets are both positive:
884
  * In the following example the X and Y offsets are both positive:
886
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
887
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
885
+ *
886
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
888
  *
887
  *
889
  *     +-- BACK ---+
888
  *     +-- BACK ---+
890
  *     |           |
889
  *     |           |
896
  *     |           |
895
  *     |           |
897
  *     O-- FRONT --+
896
  *     O-- FRONT --+
898
  *   (0,0)
897
  *   (0,0)
898
+ *
899
+ * Specify a Probe position as { X, Y, Z }
899
  */
900
  */
900
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
901
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
902
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
901
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
903
 
902
 
904
 // Certain types of probes need to stay away from edges
903
 // Certain types of probes need to stay away from edges
905
 #define MIN_PROBE_EDGE 10
904
 #define MIN_PROBE_EDGE 10
933
  *
932
  *
934
  * Use these settings to specify the distance (mm) to raise the probe (or
933
  * Use these settings to specify the distance (mm) to raise the probe (or
935
  * lower the bed). The values set here apply over and above any (negative)
934
  * lower the bed). The values set here apply over and above any (negative)
936
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
935
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
937
  * Only integer values >= 1 are valid here.
936
  * Only integer values >= 1 are valid here.
938
  *
937
  *
939
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
938
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1192
   #define GRID_MAX_POINTS_X 3
1191
   #define GRID_MAX_POINTS_X 3
1193
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1192
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1194
 
1193
 
1195
-  // Set the boundaries for probing (where the probe can reach).
1196
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1197
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1198
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1199
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1200
-
1201
   // Probe along the Y axis, advancing X after each column
1194
   // Probe along the Y axis, advancing X after each column
1202
   //#define PROBE_Y_FIRST
1195
   //#define PROBE_Y_FIRST
1203
 
1196
 

+ 6
- 13
config/examples/FolgerTech/i3-2020/Configuration.h View File

894
 
894
 
895
 /**
895
 /**
896
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
896
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
897
- * X and Y offsets must be integers.
898
  *
897
  *
899
  * In the following example the X and Y offsets are both positive:
898
  * In the following example the X and Y offsets are both positive:
900
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
901
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
899
+ *
900
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
902
  *
901
  *
903
  *     +-- BACK ---+
902
  *     +-- BACK ---+
904
  *     |           |
903
  *     |           |
910
  *     |           |
909
  *     |           |
911
  *     O-- FRONT --+
910
  *     O-- FRONT --+
912
  *   (0,0)
911
  *   (0,0)
912
+ *
913
+ * Specify a Probe position as { X, Y, Z }
913
  */
914
  */
914
-#define X_PROBE_OFFSET_FROM_EXTRUDER 38     // X offset: -left  +right  [of the nozzle]
915
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -7     // Y offset: -front +behind [the nozzle]
916
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -10.75 // Z offset: -below +above  [the nozzle]
915
+#define NOZZLE_TO_PROBE_OFFSET { 38, -7, -10.75 }
917
 
916
 
918
 // Certain types of probes need to stay away from edges
917
 // Certain types of probes need to stay away from edges
919
 #define MIN_PROBE_EDGE 0
918
 #define MIN_PROBE_EDGE 0
947
  *
946
  *
948
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * Use these settings to specify the distance (mm) to raise the probe (or
949
  * lower the bed). The values set here apply over and above any (negative)
948
  * lower the bed). The values set here apply over and above any (negative)
950
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
949
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
951
  * Only integer values >= 1 are valid here.
950
  * Only integer values >= 1 are valid here.
952
  *
951
  *
953
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
952
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1205
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_X 3
1206
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1207
 
1206
 
1208
-  // Set the boundaries for probing (where the probe can reach).
1209
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1211
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1212
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1213
-
1214
   // Probe along the Y axis, advancing X after each column
1207
   // Probe along the Y axis, advancing X after each column
1215
   //#define PROBE_Y_FIRST
1208
   //#define PROBE_Y_FIRST
1216
 
1209
 

+ 6
- 13
config/examples/Formbot/Raptor/Configuration.h View File

971
 
971
 
972
 /**
972
 /**
973
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
973
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
974
- * X and Y offsets must be integers.
975
  *
974
  *
976
  * In the following example the X and Y offsets are both positive:
975
  * In the following example the X and Y offsets are both positive:
977
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
978
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
976
+ *
977
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
979
  *
978
  *
980
  *     +-- BACK ---+
979
  *     +-- BACK ---+
981
  *     |           |
980
  *     |           |
987
  *     |           |
986
  *     |           |
988
  *     O-- FRONT --+
987
  *     O-- FRONT --+
989
  *   (0,0)
988
  *   (0,0)
989
+ *
990
+ * Specify a Probe position as { X, Y, Z }
990
  */
991
  */
991
-#define X_PROBE_OFFSET_FROM_EXTRUDER -22  // X offset: -left  +right  [of the nozzle]
992
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 0  // Y offset: -front +behind [the nozzle]
993
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.5   // Z offset: -below +above  [the nozzle]
992
+#define NOZZLE_TO_PROBE_OFFSET { -22, 0, -1.5 }
994
 #define MIN_PROBE_EDGE 10
993
 #define MIN_PROBE_EDGE 10
995
 
994
 
996
 // X and Y axis travel speed (mm/m) between probes
995
 // X and Y axis travel speed (mm/m) between probes
1022
  *
1021
  *
1023
  * Use these settings to specify the distance (mm) to raise the probe (or
1022
  * Use these settings to specify the distance (mm) to raise the probe (or
1024
  * lower the bed). The values set here apply over and above any (negative)
1023
  * lower the bed). The values set here apply over and above any (negative)
1025
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
1024
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
1026
  * Only integer values >= 1 are valid here.
1025
  * Only integer values >= 1 are valid here.
1027
  *
1026
  *
1028
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1027
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1301
   #define GRID_MAX_POINTS_X 6
1300
   #define GRID_MAX_POINTS_X 6
1302
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1301
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1303
 
1302
 
1304
-  // Set the boundaries for probing (where the probe can reach).
1305
-  #define LEFT_PROBE_BED_POSITION 30
1306
-  #define RIGHT_PROBE_BED_POSITION 365
1307
-  #define FRONT_PROBE_BED_POSITION 30
1308
-  #define BACK_PROBE_BED_POSITION 365
1309
-
1310
   // The Z probe minimum outer margin (to validate G29 parameters).
1303
   // The Z probe minimum outer margin (to validate G29 parameters).
1311
   #define MIN_PROBE_EDGE 10
1304
   #define MIN_PROBE_EDGE 10
1312
 
1305
 

+ 6
- 13
config/examples/Formbot/T_Rex_2+/Configuration.h View File

917
 
917
 
918
 /**
918
 /**
919
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
919
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
920
- * X and Y offsets must be integers.
921
  *
920
  *
922
  * In the following example the X and Y offsets are both positive:
921
  * In the following example the X and Y offsets are both positive:
923
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
924
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
922
+ *
923
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
925
  *
924
  *
926
  *     +-- BACK ---+
925
  *     +-- BACK ---+
927
  *     |           |
926
  *     |           |
933
  *     |           |
932
  *     |           |
934
  *     O-- FRONT --+
933
  *     O-- FRONT --+
935
  *   (0,0)
934
  *   (0,0)
935
+ *
936
+ * Specify a Probe position as { X, Y, Z }
936
  */
937
  */
937
-#define X_PROBE_OFFSET_FROM_EXTRUDER -3      // X offset: -left  +right  [of the nozzle]
938
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 31      // Y offset: -front +behind [the nozzle]
939
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.25   // Z offset: -below +above  [the nozzle]
938
+#define NOZZLE_TO_PROBE_OFFSET { -3, 31, -1.25 }
940
 
939
 
941
 // Certain types of probes need to stay away from edges
940
 // Certain types of probes need to stay away from edges
942
 #define MIN_PROBE_EDGE 0
941
 #define MIN_PROBE_EDGE 0
970
  *
969
  *
971
  * Use these settings to specify the distance (mm) to raise the probe (or
970
  * Use these settings to specify the distance (mm) to raise the probe (or
972
  * lower the bed). The values set here apply over and above any (negative)
971
  * lower the bed). The values set here apply over and above any (negative)
973
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
972
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
974
  * Only integer values >= 1 are valid here.
973
  * Only integer values >= 1 are valid here.
975
  *
974
  *
976
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
975
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1228
   #define GRID_MAX_POINTS_X 3
1227
   #define GRID_MAX_POINTS_X 3
1229
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1228
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1230
 
1229
 
1231
-  // Set the boundaries for probing (where the probe can reach).
1232
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1233
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1234
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1235
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1236
-
1237
   // Probe along the Y axis, advancing X after each column
1230
   // Probe along the Y axis, advancing X after each column
1238
   //#define PROBE_Y_FIRST
1231
   //#define PROBE_Y_FIRST
1239
 
1232
 

+ 6
- 13
config/examples/Formbot/T_Rex_3/Configuration.h View File

904
 
904
 
905
 /**
905
 /**
906
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
906
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
907
- * X and Y offsets must be integers.
908
  *
907
  *
909
  * In the following example the X and Y offsets are both positive:
908
  * In the following example the X and Y offsets are both positive:
910
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
911
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
909
+ *
910
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
912
  *
911
  *
913
  *     +-- BACK ---+
912
  *     +-- BACK ---+
914
  *     |           |
913
  *     |           |
920
  *     |           |
919
  *     |           |
921
  *     O-- FRONT --+
920
  *     O-- FRONT --+
922
  *   (0,0)
921
  *   (0,0)
922
+ *
923
+ * Specify a Probe position as { X, Y, Z }
923
  */
924
  */
924
-#define X_PROBE_OFFSET_FROM_EXTRUDER -3      // X offset: -left  +right  [of the nozzle]
925
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 31      // Y offset: -front +behind [the nozzle]
926
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.25   // Z offset: -below +above  [the nozzle]
925
+#define NOZZLE_TO_PROBE_OFFSET { -3, 31, -1.25 }
927
 
926
 
928
 // Certain types of probes need to stay away from edges
927
 // Certain types of probes need to stay away from edges
929
 #define MIN_PROBE_EDGE 0
928
 #define MIN_PROBE_EDGE 0
957
  *
956
  *
958
  * Use these settings to specify the distance (mm) to raise the probe (or
957
  * Use these settings to specify the distance (mm) to raise the probe (or
959
  * lower the bed). The values set here apply over and above any (negative)
958
  * lower the bed). The values set here apply over and above any (negative)
960
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
959
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
961
  * Only integer values >= 1 are valid here.
960
  * Only integer values >= 1 are valid here.
962
  *
961
  *
963
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
962
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1224
   #define GRID_MAX_POINTS_X 3
1223
   #define GRID_MAX_POINTS_X 3
1225
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1224
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1226
 
1225
 
1227
-  // Set the boundaries for probing (where the probe can reach).
1228
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1229
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
1230
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1231
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
1232
-
1233
   // Probe along the Y axis, advancing X after each column
1226
   // Probe along the Y axis, advancing X after each column
1234
   //#define PROBE_Y_FIRST
1227
   //#define PROBE_Y_FIRST
1235
 
1228
 

+ 6
- 13
config/examples/Geeetech/A10/Configuration.h View File

871
 
871
 
872
 /**
872
 /**
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
874
- * X and Y offsets must be integers.
875
  *
874
  *
876
  * In the following example the X and Y offsets are both positive:
875
  * In the following example the X and Y offsets are both positive:
877
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
878
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
876
+ *
877
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
879
  *
878
  *
880
  *     +-- BACK ---+
879
  *     +-- BACK ---+
881
  *     |           |
880
  *     |           |
887
  *     |           |
886
  *     |           |
888
  *     O-- FRONT --+
887
  *     O-- FRONT --+
889
  *   (0,0)
888
  *   (0,0)
889
+ *
890
+ * Specify a Probe position as { X, Y, Z }
890
  */
891
  */
891
-#define X_PROBE_OFFSET_FROM_EXTRUDER -37    // X offset: -left  +right  [of the nozzle]
892
-#define Y_PROBE_OFFSET_FROM_EXTRUDER   0    // Y offset: -front +behind [the nozzle]
893
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  -3.6  // Z offset: -below +above  [the nozzle]
892
+#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 }
894
 
893
 
895
 // Certain types of probes need to stay away from edges
894
 // Certain types of probes need to stay away from edges
896
 #define MIN_PROBE_EDGE 10
895
 #define MIN_PROBE_EDGE 10
924
  *
923
  *
925
  * Use these settings to specify the distance (mm) to raise the probe (or
924
  * Use these settings to specify the distance (mm) to raise the probe (or
926
  * lower the bed). The values set here apply over and above any (negative)
925
  * lower the bed). The values set here apply over and above any (negative)
927
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
926
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
928
  * Only integer values >= 1 are valid here.
927
  * Only integer values >= 1 are valid here.
929
  *
928
  *
930
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
929
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1184
   #define GRID_MAX_POINTS_X 5
1183
   #define GRID_MAX_POINTS_X 5
1185
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1184
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1186
 
1185
 
1187
-  // Set the boundaries for probing (where the probe can reach).
1188
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1189
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1190
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1191
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1192
-
1193
   // Probe along the Y axis, advancing X after each column
1186
   // Probe along the Y axis, advancing X after each column
1194
   //#define PROBE_Y_FIRST
1187
   //#define PROBE_Y_FIRST
1195
 
1188
 

+ 6
- 13
config/examples/Geeetech/A10M/Configuration.h View File

871
 
871
 
872
 /**
872
 /**
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
874
- * X and Y offsets must be integers.
875
  *
874
  *
876
  * In the following example the X and Y offsets are both positive:
875
  * In the following example the X and Y offsets are both positive:
877
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
878
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
876
+ *
877
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
879
  *
878
  *
880
  *     +-- BACK ---+
879
  *     +-- BACK ---+
881
  *     |           |
880
  *     |           |
887
  *     |           |
886
  *     |           |
888
  *     O-- FRONT --+
887
  *     O-- FRONT --+
889
  *   (0,0)
888
  *   (0,0)
889
+ *
890
+ * Specify a Probe position as { X, Y, Z }
890
  */
891
  */
891
-#define X_PROBE_OFFSET_FROM_EXTRUDER -37    // X offset: -left  +right  [of the nozzle]
892
-#define Y_PROBE_OFFSET_FROM_EXTRUDER   0    // Y offset: -front +behind [the nozzle]
893
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  -3.6  // Z offset: -below +above  [the nozzle]
892
+#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 }
894
 
893
 
895
 // Certain types of probes need to stay away from edges
894
 // Certain types of probes need to stay away from edges
896
 #define MIN_PROBE_EDGE 10
895
 #define MIN_PROBE_EDGE 10
924
  *
923
  *
925
  * Use these settings to specify the distance (mm) to raise the probe (or
924
  * Use these settings to specify the distance (mm) to raise the probe (or
926
  * lower the bed). The values set here apply over and above any (negative)
925
  * lower the bed). The values set here apply over and above any (negative)
927
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
926
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
928
  * Only integer values >= 1 are valid here.
927
  * Only integer values >= 1 are valid here.
929
  *
928
  *
930
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
929
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1184
   #define GRID_MAX_POINTS_X 5
1183
   #define GRID_MAX_POINTS_X 5
1185
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1184
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1186
 
1185
 
1187
-  // Set the boundaries for probing (where the probe can reach).
1188
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1189
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1190
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1191
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1192
-
1193
   // Probe along the Y axis, advancing X after each column
1186
   // Probe along the Y axis, advancing X after each column
1194
   //#define PROBE_Y_FIRST
1187
   //#define PROBE_Y_FIRST
1195
 
1188
 

+ 6
- 13
config/examples/Geeetech/A20M/Configuration.h View File

871
 
871
 
872
 /**
872
 /**
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
873
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
874
- * X and Y offsets must be integers.
875
  *
874
  *
876
  * In the following example the X and Y offsets are both positive:
875
  * In the following example the X and Y offsets are both positive:
877
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
878
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
876
+ *
877
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
879
  *
878
  *
880
  *     +-- BACK ---+
879
  *     +-- BACK ---+
881
  *     |           |
880
  *     |           |
887
  *     |           |
886
  *     |           |
888
  *     O-- FRONT --+
887
  *     O-- FRONT --+
889
  *   (0,0)
888
  *   (0,0)
889
+ *
890
+ * Specify a Probe position as { X, Y, Z }
890
  */
891
  */
891
-#define X_PROBE_OFFSET_FROM_EXTRUDER -37    // X offset: -left  +right  [of the nozzle]
892
-#define Y_PROBE_OFFSET_FROM_EXTRUDER   0    // Y offset: -front +behind [the nozzle]
893
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  -3.6  // Z offset: -below +above  [the nozzle]
892
+#define NOZZLE_TO_PROBE_OFFSET { -37, 0, -3.6 }
894
 
893
 
895
 // Certain types of probes need to stay away from edges
894
 // Certain types of probes need to stay away from edges
896
 #define MIN_PROBE_EDGE 10
895
 #define MIN_PROBE_EDGE 10
924
  *
923
  *
925
  * Use these settings to specify the distance (mm) to raise the probe (or
924
  * Use these settings to specify the distance (mm) to raise the probe (or
926
  * lower the bed). The values set here apply over and above any (negative)
925
  * lower the bed). The values set here apply over and above any (negative)
927
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
926
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
928
  * Only integer values >= 1 are valid here.
927
  * Only integer values >= 1 are valid here.
929
  *
928
  *
930
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
929
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1184
   #define GRID_MAX_POINTS_X 5
1183
   #define GRID_MAX_POINTS_X 5
1185
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1184
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1186
 
1185
 
1187
-  // Set the boundaries for probing (where the probe can reach).
1188
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1189
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1190
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1191
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1192
-
1193
   // Probe along the Y axis, advancing X after each column
1186
   // Probe along the Y axis, advancing X after each column
1194
   //#define PROBE_Y_FIRST
1187
   //#define PROBE_Y_FIRST
1195
 
1188
 

+ 6
- 13
config/examples/Geeetech/GT2560/Configuration.h View File

903
 
903
 
904
 /**
904
 /**
905
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
905
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
906
- * X and Y offsets must be integers.
907
  *
906
  *
908
  * In the following example the X and Y offsets are both positive:
907
  * In the following example the X and Y offsets are both positive:
909
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
910
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
908
+ *
909
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
  *
910
  *
912
  *     +-- BACK ---+
911
  *     +-- BACK ---+
913
  *     |           |
912
  *     |           |
919
  *     |           |
918
  *     |           |
920
  *     O-- FRONT --+
919
  *     O-- FRONT --+
921
  *   (0,0)
920
  *   (0,0)
921
+ *
922
+ * Specify a Probe position as { X, Y, Z }
922
  */
923
  */
923
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
924
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
925
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
924
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
926
 
925
 
927
 // Certain types of probes need to stay away from edges
926
 // Certain types of probes need to stay away from edges
928
 #define MIN_PROBE_EDGE 10
927
 #define MIN_PROBE_EDGE 10
956
  *
955
  *
957
  * Use these settings to specify the distance (mm) to raise the probe (or
956
  * Use these settings to specify the distance (mm) to raise the probe (or
958
  * lower the bed). The values set here apply over and above any (negative)
957
  * lower the bed). The values set here apply over and above any (negative)
959
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
958
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
960
  * Only integer values >= 1 are valid here.
959
  * Only integer values >= 1 are valid here.
961
  *
960
  *
962
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
961
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1214
   #define GRID_MAX_POINTS_X 3
1213
   #define GRID_MAX_POINTS_X 3
1215
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1214
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1216
 
1215
 
1217
-  // Set the boundaries for probing (where the probe can reach).
1218
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1219
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1220
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1221
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1222
-
1223
   // Probe along the Y axis, advancing X after each column
1216
   // Probe along the Y axis, advancing X after each column
1224
   //#define PROBE_Y_FIRST
1217
   //#define PROBE_Y_FIRST
1225
 
1218
 

+ 6
- 13
config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE  8
912
 #define MIN_PROBE_EDGE  8
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/Geeetech/MeCreator2/Configuration.h View File

895
 
895
 
896
 /**
896
 /**
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
898
- * X and Y offsets must be integers.
899
  *
898
  *
900
  * In the following example the X and Y offsets are both positive:
899
  * In the following example the X and Y offsets are both positive:
901
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
902
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
900
+ *
901
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
903
  *
902
  *
904
  *     +-- BACK ---+
903
  *     +-- BACK ---+
905
  *     |           |
904
  *     |           |
911
  *     |           |
910
  *     |           |
912
  *     O-- FRONT --+
911
  *     O-- FRONT --+
913
  *   (0,0)
912
  *   (0,0)
913
+ *
914
+ * Specify a Probe position as { X, Y, Z }
914
  */
915
  */
915
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
916
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
917
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
916
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
918
 
917
 
919
 // Certain types of probes need to stay away from edges
918
 // Certain types of probes need to stay away from edges
920
 #define MIN_PROBE_EDGE 10
919
 #define MIN_PROBE_EDGE 10
948
  *
947
  *
949
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * Use these settings to specify the distance (mm) to raise the probe (or
950
  * lower the bed). The values set here apply over and above any (negative)
949
  * lower the bed). The values set here apply over and above any (negative)
951
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
950
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
952
  * Only integer values >= 1 are valid here.
951
  * Only integer values >= 1 are valid here.
953
  *
952
  *
954
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
953
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1206
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_X 3
1207
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1208
 
1207
 
1209
-  // Set the boundaries for probing (where the probe can reach).
1210
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1212
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1213
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1214
-
1215
   // Probe along the Y axis, advancing X after each column
1208
   // Probe along the Y axis, advancing X after each column
1216
   //#define PROBE_Y_FIRST
1209
   //#define PROBE_Y_FIRST
1217
 
1210
 

+ 6
- 13
config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h View File

909
 
909
 
910
 /**
910
 /**
911
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
911
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
912
- * X and Y offsets must be integers.
913
  *
912
  *
914
  * In the following example the X and Y offsets are both positive:
913
  * In the following example the X and Y offsets are both positive:
915
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
916
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
914
+ *
915
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
917
  *
916
  *
918
  *     +-- BACK ---+
917
  *     +-- BACK ---+
919
  *     |           |
918
  *     |           |
925
  *     |           |
924
  *     |           |
926
  *     O-- FRONT --+
925
  *     O-- FRONT --+
927
  *   (0,0)
926
  *   (0,0)
927
+ *
928
+ * Specify a Probe position as { X, Y, Z }
928
  */
929
  */
929
-#define X_PROBE_OFFSET_FROM_EXTRUDER 4     // X offset: -left  +right  [of the nozzle]
930
-#define Y_PROBE_OFFSET_FROM_EXTRUDER -44   // Y offset: -front +behind [the nozzle]
931
-#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.4  // Z offset: -below +above  [the nozzle]
930
+#define NOZZLE_TO_PROBE_OFFSET { 4, -44, -1.4 }
932
 
931
 
933
 // Certain types of probes need to stay away from edges
932
 // Certain types of probes need to stay away from edges
934
 #define MIN_PROBE_EDGE 10
933
 #define MIN_PROBE_EDGE 10
962
  *
961
  *
963
  * Use these settings to specify the distance (mm) to raise the probe (or
962
  * Use these settings to specify the distance (mm) to raise the probe (or
964
  * lower the bed). The values set here apply over and above any (negative)
963
  * lower the bed). The values set here apply over and above any (negative)
965
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
964
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
966
  * Only integer values >= 1 are valid here.
965
  * Only integer values >= 1 are valid here.
967
  *
966
  *
968
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
967
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1220
   #define GRID_MAX_POINTS_X 4
1219
   #define GRID_MAX_POINTS_X 4
1221
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1220
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1222
 
1221
 
1223
-  // Set the boundaries for probing (where the probe can reach).
1224
-  //#define LEFT_PROBE_BED_POSITION 10
1225
-  //#define RIGHT_PROBE_BED_POSITION (X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER - 14)
1226
-  //#define FRONT_PROBE_BED_POSITION 15
1227
-  //#define BACK_PROBE_BED_POSITION (Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - 25)
1228
-
1229
   // Probe along the Y axis, advancing X after each column
1222
   // Probe along the Y axis, advancing X after each column
1230
   //#define PROBE_Y_FIRST
1223
   //#define PROBE_Y_FIRST
1231
 
1224
 

+ 6
- 13
config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h View File

908
 
908
 
909
 /**
909
 /**
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
911
- * X and Y offsets must be integers.
912
  *
911
  *
913
  * In the following example the X and Y offsets are both positive:
912
  * In the following example the X and Y offsets are both positive:
914
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
915
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
913
+ *
914
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
  *
915
  *
917
  *     +-- BACK ---+
916
  *     +-- BACK ---+
918
  *     |           |
917
  *     |           |
924
  *     |           |
923
  *     |           |
925
  *     O-- FRONT --+
924
  *     O-- FRONT --+
926
  *   (0,0)
925
  *   (0,0)
926
+ *
927
+ * Specify a Probe position as { X, Y, Z }
927
  */
928
  */
928
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
929
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
930
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
929
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
931
 
930
 
932
 // Certain types of probes need to stay away from edges
931
 // Certain types of probes need to stay away from edges
933
 #define MIN_PROBE_EDGE 10
932
 #define MIN_PROBE_EDGE 10
961
  *
960
  *
962
  * Use these settings to specify the distance (mm) to raise the probe (or
961
  * Use these settings to specify the distance (mm) to raise the probe (or
963
  * lower the bed). The values set here apply over and above any (negative)
962
  * lower the bed). The values set here apply over and above any (negative)
964
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
963
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
965
  * Only integer values >= 1 are valid here.
964
  * Only integer values >= 1 are valid here.
966
  *
965
  *
967
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
966
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1219
   #define GRID_MAX_POINTS_X 4
1218
   #define GRID_MAX_POINTS_X 4
1220
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1219
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1221
 
1220
 
1222
-  // Set the boundaries for probing (where the probe can reach).
1223
-  //#define LEFT_PROBE_BED_POSITION 10
1224
-  //#define RIGHT_PROBE_BED_POSITION (X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER - 14)
1225
-  //#define FRONT_PROBE_BED_POSITION 15
1226
-  //#define BACK_PROBE_BED_POSITION (Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER - 25)
1227
-
1228
   // Probe along the Y axis, advancing X after each column
1221
   // Probe along the Y axis, advancing X after each column
1229
   //#define PROBE_Y_FIRST
1222
   //#define PROBE_Y_FIRST
1230
 
1223
 

+ 6
- 13
config/examples/Geeetech/Prusa i3 Pro C/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/Geeetech/Prusa i3 Pro W/Configuration.h View File

888
 
888
 
889
 /**
889
 /**
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
891
- * X and Y offsets must be integers.
892
  *
891
  *
893
  * In the following example the X and Y offsets are both positive:
892
  * In the following example the X and Y offsets are both positive:
894
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
895
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
893
+ *
894
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
896
  *
895
  *
897
  *     +-- BACK ---+
896
  *     +-- BACK ---+
898
  *     |           |
897
  *     |           |
904
  *     |           |
903
  *     |           |
905
  *     O-- FRONT --+
904
  *     O-- FRONT --+
906
  *   (0,0)
905
  *   (0,0)
906
+ *
907
+ * Specify a Probe position as { X, Y, Z }
907
  */
908
  */
908
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
909
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
910
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
909
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
911
 
910
 
912
 // Certain types of probes need to stay away from edges
911
 // Certain types of probes need to stay away from edges
913
 #define MIN_PROBE_EDGE 10
912
 #define MIN_PROBE_EDGE 10
941
  *
940
  *
942
  * Use these settings to specify the distance (mm) to raise the probe (or
941
  * Use these settings to specify the distance (mm) to raise the probe (or
943
  * lower the bed). The values set here apply over and above any (negative)
942
  * lower the bed). The values set here apply over and above any (negative)
944
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
943
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
945
  * Only integer values >= 1 are valid here.
944
  * Only integer values >= 1 are valid here.
946
  *
945
  *
947
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1199
   #define GRID_MAX_POINTS_X 3
1198
   #define GRID_MAX_POINTS_X 3
1200
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1201
 
1200
 
1202
-  // Set the boundaries for probing (where the probe can reach).
1203
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1204
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1205
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1206
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1207
-
1208
   // Probe along the Y axis, advancing X after each column
1201
   // Probe along the Y axis, advancing X after each column
1209
   //#define PROBE_Y_FIRST
1202
   //#define PROBE_Y_FIRST
1210
 
1203
 

+ 6
- 13
config/examples/HMS434/Configuration.h View File

875
 
875
 
876
 /**
876
 /**
877
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
877
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
878
- * X and Y offsets must be integers.
879
  *
878
  *
880
  * In the following example the X and Y offsets are both positive:
879
  * In the following example the X and Y offsets are both positive:
881
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
882
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
880
+ *
881
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
883
  *
882
  *
884
  *     +-- BACK ---+
883
  *     +-- BACK ---+
885
  *     |           |
884
  *     |           |
891
  *     |           |
890
  *     |           |
892
  *     O-- FRONT --+
891
  *     O-- FRONT --+
893
  *   (0,0)
892
  *   (0,0)
893
+ *
894
+ * Specify a Probe position as { X, Y, Z }
894
  */
895
  */
895
-#define X_PROBE_OFFSET_FROM_EXTRUDER -21  // X offset: -left  +right  [of the nozzle]
896
-#define Y_PROBE_OFFSET_FROM_EXTRUDER  22  // Y offset: -front +behind [the nozzle]
897
-#define Z_PROBE_OFFSET_FROM_EXTRUDER  -1.54   // Z offset: -below +above  [the nozzle]
896
+#define NOZZLE_TO_PROBE_OFFSET { -21, 22, -1.54 }
898
 
897
 
899
 // Certain types of probes need to stay away from edges
898
 // Certain types of probes need to stay away from edges
900
 #define MIN_PROBE_EDGE 20
899
 #define MIN_PROBE_EDGE 20
928
  *
927
  *
929
  * Use these settings to specify the distance (mm) to raise the probe (or
928
  * Use these settings to specify the distance (mm) to raise the probe (or
930
  * lower the bed). The values set here apply over and above any (negative)
929
  * lower the bed). The values set here apply over and above any (negative)
931
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
930
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
932
  * Only integer values >= 1 are valid here.
931
  * Only integer values >= 1 are valid here.
933
  *
932
  *
934
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
933
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1186
   #define GRID_MAX_POINTS_X 5
1185
   #define GRID_MAX_POINTS_X 5
1187
   #define GRID_MAX_POINTS_Y 3
1186
   #define GRID_MAX_POINTS_Y 3
1188
 
1187
 
1189
-  // Set the boundaries for probing (where the probe can reach).
1190
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1191
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1192
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1193
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1194
-
1195
   // Probe along the Y axis, advancing X after each column
1188
   // Probe along the Y axis, advancing X after each column
1196
   //#define PROBE_Y_FIRST
1189
   //#define PROBE_Y_FIRST
1197
 
1190
 

+ 6
- 13
config/examples/Infitary/i3-M508/Configuration.h View File

892
 
892
 
893
 /**
893
 /**
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
- * X and Y offsets must be integers.
896
  *
895
  *
897
  * In the following example the X and Y offsets are both positive:
896
  * In the following example the X and Y offsets are both positive:
898
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
899
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
897
+ *
898
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
900
  *
899
  *
901
  *     +-- BACK ---+
900
  *     +-- BACK ---+
902
  *     |           |
901
  *     |           |
908
  *     |           |
907
  *     |           |
909
  *     O-- FRONT --+
908
  *     O-- FRONT --+
910
  *   (0,0)
909
  *   (0,0)
910
+ *
911
+ * Specify a Probe position as { X, Y, Z }
911
  */
912
  */
912
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
913
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
914
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
913
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
915
 
914
 
916
 // Certain types of probes need to stay away from edges
915
 // Certain types of probes need to stay away from edges
917
 #define MIN_PROBE_EDGE 10
916
 #define MIN_PROBE_EDGE 10
945
  *
944
  *
946
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * lower the bed). The values set here apply over and above any (negative)
946
  * lower the bed). The values set here apply over and above any (negative)
948
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
947
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
949
  * Only integer values >= 1 are valid here.
948
  * Only integer values >= 1 are valid here.
950
  *
949
  *
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1203
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
 
1204
 
1206
-  // Set the boundaries for probing (where the probe can reach).
1207
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1209
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1211
-
1212
   // Probe along the Y axis, advancing X after each column
1205
   // Probe along the Y axis, advancing X after each column
1213
   //#define PROBE_Y_FIRST
1206
   //#define PROBE_Y_FIRST
1214
 
1207
 

+ 6
- 13
config/examples/JGAurora/A1/Configuration.h View File

895
 
895
 
896
 /**
896
 /**
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
898
- * X and Y offsets must be integers.
899
  *
898
  *
900
  * In the following example the X and Y offsets are both positive:
899
  * In the following example the X and Y offsets are both positive:
901
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
902
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
900
+ *
901
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
903
  *
902
  *
904
  *     +-- BACK ---+
903
  *     +-- BACK ---+
905
  *     |           |
904
  *     |           |
911
  *     |           |
910
  *     |           |
912
  *     O-- FRONT --+
911
  *     O-- FRONT --+
913
  *   (0,0)
912
  *   (0,0)
913
+ *
914
+ * Specify a Probe position as { X, Y, Z }
914
  */
915
  */
915
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
916
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
917
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
916
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
918
 
917
 
919
 // Certain types of probes need to stay away from edges
918
 // Certain types of probes need to stay away from edges
920
 #define MIN_PROBE_EDGE 10
919
 #define MIN_PROBE_EDGE 10
948
  *
947
  *
949
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * Use these settings to specify the distance (mm) to raise the probe (or
950
  * lower the bed). The values set here apply over and above any (negative)
949
  * lower the bed). The values set here apply over and above any (negative)
951
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
950
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
952
  * Only integer values >= 1 are valid here.
951
  * Only integer values >= 1 are valid here.
953
  *
952
  *
954
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
953
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1206
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_X 3
1207
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1208
 
1207
 
1209
-  // Set the boundaries for probing (where the probe can reach).
1210
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1212
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1213
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1214
-
1215
   // Probe along the Y axis, advancing X after each column
1208
   // Probe along the Y axis, advancing X after each column
1216
   //#define PROBE_Y_FIRST
1209
   //#define PROBE_Y_FIRST
1217
 
1210
 

+ 6
- 13
config/examples/JGAurora/A5/Configuration.h View File

900
 
900
 
901
 /**
901
 /**
902
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
902
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
903
- * X and Y offsets must be integers.
904
  *
903
  *
905
  * In the following example the X and Y offsets are both positive:
904
  * In the following example the X and Y offsets are both positive:
906
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
907
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
905
+ *
906
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
908
  *
907
  *
909
  *     +-- BACK ---+
908
  *     +-- BACK ---+
910
  *     |           |
909
  *     |           |
916
  *     |           |
915
  *     |           |
917
  *     O-- FRONT --+
916
  *     O-- FRONT --+
918
  *   (0,0)
917
  *   (0,0)
918
+ *
919
+ * Specify a Probe position as { X, Y, Z }
919
  */
920
  */
920
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
921
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
922
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
921
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
923
 
922
 
924
 // Certain types of probes need to stay away from edges
923
 // Certain types of probes need to stay away from edges
925
 #define MIN_PROBE_EDGE 10
924
 #define MIN_PROBE_EDGE 10
953
  *
952
  *
954
  * Use these settings to specify the distance (mm) to raise the probe (or
953
  * Use these settings to specify the distance (mm) to raise the probe (or
955
  * lower the bed). The values set here apply over and above any (negative)
954
  * lower the bed). The values set here apply over and above any (negative)
956
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
955
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
957
  * Only integer values >= 1 are valid here.
956
  * Only integer values >= 1 are valid here.
958
  *
957
  *
959
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
958
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1211
   #define GRID_MAX_POINTS_X 5
1210
   #define GRID_MAX_POINTS_X 5
1212
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1211
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1213
 
1212
 
1214
-  // Set the boundaries for probing (where the probe can reach).
1215
-  //#define LEFT_PROBE_BED_POSITION 15
1216
-  //#define RIGHT_PROBE_BED_POSITION 170
1217
-  //#define FRONT_PROBE_BED_POSITION 20
1218
-  //#define BACK_PROBE_BED_POSITION 170
1219
-
1220
   // Probe along the Y axis, advancing X after each column
1213
   // Probe along the Y axis, advancing X after each column
1221
   //#define PROBE_Y_FIRST
1214
   //#define PROBE_Y_FIRST
1222
 
1215
 

+ 6
- 13
config/examples/JGAurora/A5S/Configuration.h View File

895
 
895
 
896
 /**
896
 /**
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
897
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
898
- * X and Y offsets must be integers.
899
  *
898
  *
900
  * In the following example the X and Y offsets are both positive:
899
  * In the following example the X and Y offsets are both positive:
901
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
902
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
900
+ *
901
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
903
  *
902
  *
904
  *     +-- BACK ---+
903
  *     +-- BACK ---+
905
  *     |           |
904
  *     |           |
911
  *     |           |
910
  *     |           |
912
  *     O-- FRONT --+
911
  *     O-- FRONT --+
913
  *   (0,0)
912
  *   (0,0)
913
+ *
914
+ * Specify a Probe position as { X, Y, Z }
914
  */
915
  */
915
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
916
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
917
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
916
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
918
 
917
 
919
 // Certain types of probes need to stay away from edges
918
 // Certain types of probes need to stay away from edges
920
 #define MIN_PROBE_EDGE 10
919
 #define MIN_PROBE_EDGE 10
948
  *
947
  *
949
  * Use these settings to specify the distance (mm) to raise the probe (or
948
  * Use these settings to specify the distance (mm) to raise the probe (or
950
  * lower the bed). The values set here apply over and above any (negative)
949
  * lower the bed). The values set here apply over and above any (negative)
951
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
950
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
952
  * Only integer values >= 1 are valid here.
951
  * Only integer values >= 1 are valid here.
953
  *
952
  *
954
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
953
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1206
   #define GRID_MAX_POINTS_X 3
1205
   #define GRID_MAX_POINTS_X 3
1207
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1206
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1208
 
1207
 
1209
-  // Set the boundaries for probing (where the probe can reach).
1210
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1211
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1212
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1213
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1214
-
1215
   // Probe along the Y axis, advancing X after each column
1208
   // Probe along the Y axis, advancing X after each column
1216
   //#define PROBE_Y_FIRST
1209
   //#define PROBE_Y_FIRST
1217
 
1210
 

+ 6
- 13
config/examples/MakerParts/Configuration.h View File

908
 
908
 
909
 /**
909
 /**
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
911
- * X and Y offsets must be integers.
912
  *
911
  *
913
  * In the following example the X and Y offsets are both positive:
912
  * In the following example the X and Y offsets are both positive:
914
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
915
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
913
+ *
914
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
  *
915
  *
917
  *     +-- BACK ---+
916
  *     +-- BACK ---+
918
  *     |           |
917
  *     |           |
924
  *     |           |
923
  *     |           |
925
  *     O-- FRONT --+
924
  *     O-- FRONT --+
926
  *   (0,0)
925
  *   (0,0)
926
+ *
927
+ * Specify a Probe position as { X, Y, Z }
927
  */
928
  */
928
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
929
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
930
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
929
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
931
 
930
 
932
 // Certain types of probes need to stay away from edges
931
 // Certain types of probes need to stay away from edges
933
 #define MIN_PROBE_EDGE 10
932
 #define MIN_PROBE_EDGE 10
961
  *
960
  *
962
  * Use these settings to specify the distance (mm) to raise the probe (or
961
  * Use these settings to specify the distance (mm) to raise the probe (or
963
  * lower the bed). The values set here apply over and above any (negative)
962
  * lower the bed). The values set here apply over and above any (negative)
964
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
963
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
965
  * Only integer values >= 1 are valid here.
964
  * Only integer values >= 1 are valid here.
966
  *
965
  *
967
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
966
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1219
   #define GRID_MAX_POINTS_X 3
1218
   #define GRID_MAX_POINTS_X 3
1220
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1219
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1221
 
1220
 
1222
-  // Set the boundaries for probing (where the probe can reach).
1223
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1224
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1225
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1226
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1227
-
1228
   // Probe along the Y axis, advancing X after each column
1221
   // Probe along the Y axis, advancing X after each column
1229
   //#define PROBE_Y_FIRST
1222
   //#define PROBE_Y_FIRST
1230
 
1223
 

+ 6
- 13
config/examples/Malyan/M150/Configuration.h View File

908
 
908
 
909
 /**
909
 /**
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
910
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
911
- * X and Y offsets must be integers.
912
  *
911
  *
913
  * In the following example the X and Y offsets are both positive:
912
  * In the following example the X and Y offsets are both positive:
914
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
915
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
913
+ *
914
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
916
  *
915
  *
917
  *     +-- BACK ---+
916
  *     +-- BACK ---+
918
  *     |           |
917
  *     |           |
924
  *     |           |
923
  *     |           |
925
  *     O-- FRONT --+
924
  *     O-- FRONT --+
926
  *   (0,0)
925
  *   (0,0)
926
+ *
927
+ * Specify a Probe position as { X, Y, Z }
927
  */
928
  */
928
 
929
 
929
 // Set for HoolyHoo's probe mount
930
 // Set for HoolyHoo's probe mount
930
 // http://www.thingiverse.com/thing:1960419
931
 // http://www.thingiverse.com/thing:1960419
931
 // Note: HoolyHoo mount is X=35, Y=-50.
932
 // Note: HoolyHoo mount is X=35, Y=-50.
932
-//#define X_PROBE_OFFSET_FROM_EXTRUDER 35  // X offset: -left  +right  [of the nozzle]
933
-//#define Y_PROBE_OFFSET_FROM_EXTRUDER -50  // Y offset: -front +behind [the nozzle]
934
-//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
933
+//#define NOZZLE_TO_PROBE_OFFSET { 35, -50, 0 }
935
 
934
 
936
 // Certain types of probes need to stay away from edges
935
 // Certain types of probes need to stay away from edges
937
 #define MIN_PROBE_EDGE 10
936
 #define MIN_PROBE_EDGE 10
965
  *
964
  *
966
  * Use these settings to specify the distance (mm) to raise the probe (or
965
  * Use these settings to specify the distance (mm) to raise the probe (or
967
  * lower the bed). The values set here apply over and above any (negative)
966
  * lower the bed). The values set here apply over and above any (negative)
968
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
967
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
969
  * Only integer values >= 1 are valid here.
968
  * Only integer values >= 1 are valid here.
970
  *
969
  *
971
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
970
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1227
   #define GRID_MAX_POINTS_X 3
1226
   #define GRID_MAX_POINTS_X 3
1228
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1227
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1229
 
1228
 
1230
-  // Set the boundaries for probing (where the probe can reach).
1231
-  //#define LEFT_PROBE_BED_POSITION 50
1232
-  //#define RIGHT_PROBE_BED_POSITION 150
1233
-  //#define FRONT_PROBE_BED_POSITION 50
1234
-  //#define BACK_PROBE_BED_POSITION 150
1235
-
1236
   // Probe along the Y axis, advancing X after each column
1229
   // Probe along the Y axis, advancing X after each column
1237
   //#define PROBE_Y_FIRST
1230
   //#define PROBE_Y_FIRST
1238
 
1231
 

+ 6
- 13
config/examples/Malyan/M200/Configuration.h View File

887
 
887
 
888
 /**
888
 /**
889
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
889
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
890
- * X and Y offsets must be integers.
891
  *
890
  *
892
  * In the following example the X and Y offsets are both positive:
891
  * In the following example the X and Y offsets are both positive:
893
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
894
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
892
+ *
893
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
895
  *
894
  *
896
  *     +-- BACK ---+
895
  *     +-- BACK ---+
897
  *     |           |
896
  *     |           |
903
  *     |           |
902
  *     |           |
904
  *     O-- FRONT --+
903
  *     O-- FRONT --+
905
  *   (0,0)
904
  *   (0,0)
905
+ *
906
+ * Specify a Probe position as { X, Y, Z }
906
  */
907
  */
907
-#define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
908
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
909
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
908
+#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
910
 
909
 
911
 // Certain types of probes need to stay away from edges
910
 // Certain types of probes need to stay away from edges
912
 #define MIN_PROBE_EDGE 10
911
 #define MIN_PROBE_EDGE 10
940
  *
939
  *
941
  * Use these settings to specify the distance (mm) to raise the probe (or
940
  * Use these settings to specify the distance (mm) to raise the probe (or
942
  * lower the bed). The values set here apply over and above any (negative)
941
  * lower the bed). The values set here apply over and above any (negative)
943
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
942
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
944
  * Only integer values >= 1 are valid here.
943
  * Only integer values >= 1 are valid here.
945
  *
944
  *
946
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
945
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1198
   #define GRID_MAX_POINTS_X 3
1197
   #define GRID_MAX_POINTS_X 3
1199
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1198
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1200
 
1199
 
1201
-  // Set the boundaries for probing (where the probe can reach).
1202
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1203
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1204
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1205
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1206
-
1207
   // Probe along the Y axis, advancing X after each column
1200
   // Probe along the Y axis, advancing X after each column
1208
   //#define PROBE_Y_FIRST
1201
   //#define PROBE_Y_FIRST
1209
 
1202
 

+ 6
- 13
config/examples/Micromake/C1/basic/Configuration.h View File

892
 
892
 
893
 /**
893
 /**
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
- * X and Y offsets must be integers.
896
  *
895
  *
897
  * In the following example the X and Y offsets are both positive:
896
  * In the following example the X and Y offsets are both positive:
898
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
899
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
897
+ *
898
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
900
  *
899
  *
901
  *     +-- BACK ---+
900
  *     +-- BACK ---+
902
  *     |           |
901
  *     |           |
908
  *     |           |
907
  *     |           |
909
  *     O-- FRONT --+
908
  *     O-- FRONT --+
910
  *   (0,0)
909
  *   (0,0)
910
+ *
911
+ * Specify a Probe position as { X, Y, Z }
911
  */
912
  */
912
-#define X_PROBE_OFFSET_FROM_EXTRUDER 0  // X offset: -left  +right  [of the nozzle]
913
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 0  // Y offset: -front +behind [the nozzle]
914
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
913
+#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
915
 
914
 
916
 // Certain types of probes need to stay away from edges
915
 // Certain types of probes need to stay away from edges
917
 #define MIN_PROBE_EDGE 10
916
 #define MIN_PROBE_EDGE 10
945
  *
944
  *
946
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * lower the bed). The values set here apply over and above any (negative)
946
  * lower the bed). The values set here apply over and above any (negative)
948
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
947
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
949
  * Only integer values >= 1 are valid here.
948
  * Only integer values >= 1 are valid here.
950
  *
949
  *
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1203
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
 
1204
 
1206
-  // Set the boundaries for probing (where the probe can reach).
1207
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1209
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1211
-
1212
   // Probe along the Y axis, advancing X after each column
1205
   // Probe along the Y axis, advancing X after each column
1213
   //#define PROBE_Y_FIRST
1206
   //#define PROBE_Y_FIRST
1214
 
1207
 

+ 6
- 13
config/examples/Micromake/C1/enhanced/Configuration.h View File

892
 
892
 
893
 /**
893
 /**
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
894
  * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
895
- * X and Y offsets must be integers.
896
  *
895
  *
897
  * In the following example the X and Y offsets are both positive:
896
  * In the following example the X and Y offsets are both positive:
898
- * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
899
- * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
897
+ *
898
+ *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
900
  *
899
  *
901
  *     +-- BACK ---+
900
  *     +-- BACK ---+
902
  *     |           |
901
  *     |           |
908
  *     |           |
907
  *     |           |
909
  *     O-- FRONT --+
908
  *     O-- FRONT --+
910
  *   (0,0)
909
  *   (0,0)
910
+ *
911
+ * Specify a Probe position as { X, Y, Z }
911
  */
912
  */
912
-#define X_PROBE_OFFSET_FROM_EXTRUDER 0  // X offset: -left  +right  [of the nozzle]
913
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 0  // Y offset: -front +behind [the nozzle]
914
-#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
913
+#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
915
 
914
 
916
 // Certain types of probes need to stay away from edges
915
 // Certain types of probes need to stay away from edges
917
 #define MIN_PROBE_EDGE 10
916
 #define MIN_PROBE_EDGE 10
945
  *
944
  *
946
  * Use these settings to specify the distance (mm) to raise the probe (or
945
  * Use these settings to specify the distance (mm) to raise the probe (or
947
  * lower the bed). The values set here apply over and above any (negative)
946
  * lower the bed). The values set here apply over and above any (negative)
948
- * probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
947
+ * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
949
  * Only integer values >= 1 are valid here.
948
  * Only integer values >= 1 are valid here.
950
  *
949
  *
951
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
950
  * Example: `M851 Z-5` with a CLEARANCE of 4  =>  9mm from bed to nozzle.
1203
   #define GRID_MAX_POINTS_X 3
1202
   #define GRID_MAX_POINTS_X 3
1204
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1203
   #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
1205
 
1204
 
1206
-  // Set the boundaries for probing (where the probe can reach).
1207
-  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
1208
-  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
1209
-  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
1210
-  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
1211
-
1212
   // Probe along the Y axis, advancing X after each column
1205
   // Probe along the Y axis, advancing X after each column
1213
   //#define PROBE_Y_FIRST
1206
   //#define PROBE_Y_FIRST
1214
 
1207
 

+ 0
- 0
config/examples/Mks/Robin/Configuration.h View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save