Browse Source

Merge pull request #8522 from Roxy-3D/bugfix-1.1.x

[1.1.x] Make G26 work with other meshes too
Scott Lahteine 6 years ago
parent
commit
5c087727a9
No account linked to committer's email address
52 changed files with 1041 additions and 847 deletions
  1. 3
    3
      .travis.yml
  2. 12
    7
      Marlin/Configuration.h
  3. 430
    438
      Marlin/G26_Mesh_Validation_Tool.cpp
  4. 17
    0
      Marlin/Marlin.h
  5. 15
    21
      Marlin/Marlin_main.cpp
  6. 8
    2
      Marlin/SanityCheck.h
  7. 38
    0
      Marlin/bitmap_flags.h
  8. 12
    7
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
  9. 12
    7
      Marlin/example_configurations/AliExpress/CL-260/Configuration.h
  10. 12
    7
      Marlin/example_configurations/Anet/A6/Configuration.h
  11. 12
    7
      Marlin/example_configurations/Anet/A8/Configuration.h
  12. 12
    7
      Marlin/example_configurations/BQ/Hephestos/Configuration.h
  13. 12
    7
      Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
  14. 12
    7
      Marlin/example_configurations/BQ/WITBOX/Configuration.h
  15. 12
    7
      Marlin/example_configurations/Cartesio/Configuration.h
  16. 12
    7
      Marlin/example_configurations/Creality/CR-10/Configuration.h
  17. 12
    7
      Marlin/example_configurations/Felix/Configuration.h
  18. 12
    7
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  19. 12
    7
      Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h
  20. 12
    7
      Marlin/example_configurations/Geeetech/GT2560/Configuration.h
  21. 12
    7
      Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
  22. 12
    7
      Marlin/example_configurations/Infitary/i3-M508/Configuration.h
  23. 12
    7
      Marlin/example_configurations/Malyan/M150/Configuration.h
  24. 12
    7
      Marlin/example_configurations/Micromake/C1/basic/Configuration.h
  25. 12
    7
      Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h
  26. 12
    7
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  27. 12
    7
      Marlin/example_configurations/RigidBot/Configuration.h
  28. 12
    7
      Marlin/example_configurations/SCARA/Configuration.h
  29. 12
    7
      Marlin/example_configurations/Sanguinololu/Configuration.h
  30. 12
    7
      Marlin/example_configurations/TinyBoy2/Configuration.h
  31. 12
    7
      Marlin/example_configurations/Velleman/K8200/Configuration.h
  32. 12
    7
      Marlin/example_configurations/Velleman/K8400/Configuration.h
  33. 12
    7
      Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
  34. 12
    7
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  35. 12
    7
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
  36. 12
    7
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
  37. 12
    7
      Marlin/example_configurations/delta/generic/Configuration.h
  38. 12
    7
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  39. 12
    7
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  40. 12
    7
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  41. 12
    7
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
  42. 12
    7
      Marlin/example_configurations/makibox/Configuration.h
  43. 12
    7
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  44. 12
    7
      Marlin/example_configurations/wt150/Configuration.h
  45. 1
    0
      Marlin/planner.cpp
  46. 5
    0
      Marlin/types.h
  47. 0
    13
      Marlin/ubl.cpp
  48. 2
    57
      Marlin/ubl.h
  49. 29
    25
      Marlin/ubl_G29.cpp
  50. 14
    14
      Marlin/ubl_motion.cpp
  51. 12
    8
      Marlin/ultralcd.cpp
  52. 11
    0
      Marlin/ultralcd.h

+ 3
- 3
.travis.yml View File

@@ -99,7 +99,7 @@ script:
99 99
   # Test a probeless build of AUTO_BED_LEVELING_UBL
100 100
   #
101 101
   - restore_configs
102
-  - opt_enable AUTO_BED_LEVELING_UBL UBL_G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS G3D_PANEL
102
+  - opt_enable AUTO_BED_LEVELING_UBL G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS G3D_PANEL
103 103
   - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING
104 104
   - build_marlin
105 105
   #
@@ -128,7 +128,7 @@ script:
128 128
   # Test MESH_BED_LEVELING feature, with LCD
129 129
   #
130 130
   - restore_configs
131
-  - opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
131
+  - opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
132 132
   - build_marlin
133 133
   #
134 134
   # Test MINIRAMBO for PWM_MOTOR_CURRENT
@@ -142,7 +142,7 @@ script:
142 142
   #
143 143
   - restore_configs
144 144
   - opt_set MOTHERBOARD BOARD_MINIRAMBO
145
-  - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR LCD_BED_LEVELING ULTIMAKERCONTROLLER
145
+  - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER
146 146
   - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
147 147
   - opt_enable ULTIMAKERCONTROLLER SDSUPPORT
148 148
   - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 USE_XMAX_PLUG

+ 12
- 7
Marlin/Configuration.h View File

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  #define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 430
- 438
Marlin/G26_Mesh_Validation_Tool.cpp
File diff suppressed because it is too large
View File


+ 17
- 0
Marlin/Marlin.h View File

@@ -311,6 +311,23 @@ void report_current_position();
311 311
   void forward_kinematics_SCARA(const float &a, const float &b);
312 312
 #endif
313 313
 
314
+#if ENABLED(G26_MESH_VALIDATION)
315
+  extern bool g26_debug_flag;
316
+#elif ENABLED(AUTO_BED_LEVELING_UBL)
317
+  constexpr bool g26_debug_flag = false;
318
+#endif
319
+
320
+#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
321
+  #define _GET_MESH_X(I) bilinear_start[X_AXIS] + I * bilinear_grid_spacing[X_AXIS]
322
+  #define _GET_MESH_Y(J) bilinear_start[Y_AXIS] + J * bilinear_grid_spacing[Y_AXIS]
323
+#elif ENABLED(AUTO_BED_LEVELING_UBL)
324
+  #define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
325
+  #define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
326
+#elif ENABLED(MESH_BED_LEVELING)
327
+  #define _GET_MESH_X(I) mbl.index_to_xpos[I]
328
+  #define _GET_MESH_Y(J) mbl.index_to_ypos[J]
329
+#endif
330
+
314 331
 #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
315 332
   extern int bilinear_grid_spacing[2], bilinear_start[2];
316 333
   extern float bilinear_grid_factor[2],

+ 15
- 21
Marlin/Marlin_main.cpp View File

@@ -59,7 +59,7 @@
59 59
  * G19  - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
60 60
  * G20  - Set input units to inches (Requires INCH_MODE_SUPPORT)
61 61
  * G21  - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
62
- * G26  - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION)
62
+ * G26  - Mesh Validation Pattern (Requires G26_MESH_VALIDATION)
63 63
  * G27  - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
64 64
  * G28  - Home one or more axes
65 65
  * G29  - Start or continue the bed leveling probe procedure (Requires bed leveling)
@@ -326,6 +326,11 @@
326 326
   void M100_dump_routine(const char * const title, const char *start, const char *end);
327 327
 #endif
328 328
 
329
+#if ENABLED(G26_MESH_VALIDATION)
330
+  bool g26_debug_flag; // =false
331
+  void gcode_G26();
332
+#endif
333
+
329 334
 #if ENABLED(SDSUPPORT)
330 335
   CardReader card;
331 336
 #endif
@@ -6197,17 +6202,6 @@ void home_all_axes() { gcode_G28(true); }
6197 6202
         return;
6198 6203
       }
6199 6204
 
6200
-      #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
6201
-        #define _GET_MESH_X(I) bilinear_start[X_AXIS] + I * bilinear_grid_spacing[X_AXIS]
6202
-        #define _GET_MESH_Y(J) bilinear_start[Y_AXIS] + J * bilinear_grid_spacing[Y_AXIS]
6203
-      #elif ENABLED(AUTO_BED_LEVELING_UBL)
6204
-        #define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
6205
-        #define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
6206
-      #elif ENABLED(MESH_BED_LEVELING)
6207
-        #define _GET_MESH_X(I) mbl.index_to_xpos[I]
6208
-        #define _GET_MESH_Y(J) mbl.index_to_ypos[J]
6209
-      #endif
6210
-
6211 6205
       set_destination_from_current();
6212 6206
       if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
6213 6207
       if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);
@@ -7567,15 +7561,15 @@ inline void gcode_M42() {
7567 7561
 
7568 7562
 #endif // Z_MIN_PROBE_REPEATABILITY_TEST
7569 7563
 
7570
-#if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(UBL_G26_MESH_VALIDATION)
7564
+#if ENABLED(G26_MESH_VALIDATION)
7571 7565
 
7572 7566
   inline void gcode_M49() {
7573
-    ubl.g26_debug_flag ^= true;
7574
-    SERIAL_PROTOCOLPGM("UBL Debug Flag turned ");
7575
-    serialprintPGM(ubl.g26_debug_flag ? PSTR("on.") : PSTR("off."));
7567
+    g26_debug_flag ^= true;
7568
+    SERIAL_PROTOCOLPGM("G26 Debug ");
7569
+    serialprintPGM(g26_debug_flag ? PSTR("on.") : PSTR("off."));
7576 7570
   }
7577 7571
 
7578
-#endif // AUTO_BED_LEVELING_UBL && UBL_G26_MESH_VALIDATION
7572
+#endif // G26_MESH_VALIDATION
7579 7573
 
7580 7574
 #if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY)
7581 7575
   /**
@@ -11295,11 +11289,11 @@ void process_parsed_command() {
11295 11289
           break;
11296 11290
       #endif // INCH_MODE_SUPPORT
11297 11291
 
11298
-      #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(UBL_G26_MESH_VALIDATION)
11292
+      #if ENABLED(G26_MESH_VALIDATION)
11299 11293
         case 26: // G26: Mesh Validation Pattern generation
11300 11294
           gcode_G26();
11301 11295
           break;
11302
-      #endif // AUTO_BED_LEVELING_UBL
11296
+      #endif // G26_MESH_VALIDATION
11303 11297
 
11304 11298
       #if ENABLED(NOZZLE_PARK_FEATURE)
11305 11299
         case 27: // G27: Nozzle Park
@@ -11459,11 +11453,11 @@ void process_parsed_command() {
11459 11453
           break;
11460 11454
       #endif // Z_MIN_PROBE_REPEATABILITY_TEST
11461 11455
 
11462
-      #if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(UBL_G26_MESH_VALIDATION)
11456
+      #if ENABLED(G26_MESH_VALIDATION)
11463 11457
         case 49: // M49: Turn on or off G26 debug flag for verbose output
11464 11458
           gcode_M49();
11465 11459
           break;
11466
-      #endif // AUTO_BED_LEVELING_UBL && UBL_G26_MESH_VALIDATION
11460
+      #endif // G26_MESH_VALIDATION
11467 11461
 
11468 11462
       #if ENABLED(ULTRA_LCD) && ENABLED(LCD_SET_PROGRESS_MANUALLY)
11469 11463
         case 73: // M73: Set print progress percentage

+ 8
- 2
Marlin/SanityCheck.h View File

@@ -180,10 +180,12 @@
180 180
   #error "MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
181 181
 #elif defined(UBL_MESH_NUM_X_POINTS) || defined(UBL_MESH_NUM_Y_POINTS)
182 182
   #error "UBL_MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
183
+#elif defined(UBL_G26_MESH_VALIDATION)
184
+  #error "UBL_G26_MESH_VALIDATION is now G26_MESH_VALIDATION. Please update your configuration."
183 185
 #elif defined(UBL_MESH_EDIT_ENABLED)
184
-  #error "UBL_MESH_EDIT_ENABLED is now UBL_G26_MESH_VALIDATION. Please update your configuration."
186
+  #error "UBL_MESH_EDIT_ENABLED is now G26_MESH_VALIDATION. Please update your configuration."
185 187
 #elif defined(UBL_MESH_EDITING)
186
-  #error "UBL_MESH_EDITING is now UBL_G26_MESH_VALIDATION. Please update your configuration."
188
+  #error "UBL_MESH_EDITING is now G26_MESH_VALIDATION. Please update your configuration."
187 189
 #elif defined(BLTOUCH_HEATERS_OFF)
188 190
   #error "BLTOUCH_HEATERS_OFF is now PROBING_HEATERS_OFF. Please update your configuration."
189 191
 #elif defined(BEEPER)
@@ -804,6 +806,10 @@ static_assert(1 >= 0
804 806
 
805 807
 #endif
806 808
 
809
+#if !HAS_MESH && ENABLED(G26_MESH_VALIDATION)
810
+  #error "G26_MESH_VALIDATION requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL."
811
+#endif
812
+
807 813
 /**
808 814
  * LCD_BED_LEVELING requirements
809 815
  */

+ 38
- 0
Marlin/bitmap_flags.h View File

@@ -0,0 +1,38 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016, 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+#ifndef _BITMAP_FLAGS_H_
24
+#define _BITMAP_FLAGS_H_
25
+
26
+#include "macros.h"
27
+
28
+/**
29
+ * These support functions allow the use of large bit arrays of flags that take very
30
+ * little RAM. Currently they are limited to being 16x16 in size. Changing the declaration
31
+ * to unsigned long will allow us to go to 32x32 if higher resolution meshes are needed
32
+ * in the future.
33
+ */
34
+FORCE_INLINE void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y) { CBI(bits[y], x); }
35
+FORCE_INLINE void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { SBI(bits[y], x); }
36
+FORCE_INLINE bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { return TEST(bits[y], x); }
37
+
38
+#endif // _BITMAP_FLAGS_H_

+ 12
- 7
Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h View File

@@ -910,6 +910,18 @@
910 910
   // at which point movement will be level to the machine's XY plane.
911 911
   // The height can be set with M420 Z<height>
912 912
   #define ENABLE_LEVELING_FADE_HEIGHT
913
+
914
+  /**
915
+   * Enable the G26 Mesh Validation Pattern tool.
916
+   */
917
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
918
+  #if ENABLED(G26_MESH_VALIDATION)
919
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
920
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
921
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
922
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
923
+  #endif
924
+
913 925
 #endif
914 926
 
915 927
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -976,13 +988,6 @@
976 988
   #define UBL_PROBE_PT_3_X 180
977 989
   #define UBL_PROBE_PT_3_Y 20
978 990
 
979
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
980
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
981
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
982
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
983
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
984
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
985
-  #endif
986 991
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
987 992
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
988 993
 

+ 12
- 7
Marlin/example_configurations/AliExpress/CL-260/Configuration.h View File

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 12
- 7
Marlin/example_configurations/Anet/A6/Configuration.h View File

@@ -1009,6 +1009,18 @@
1009 1009
   // at which point movement will be level to the machine's XY plane.
1010 1010
   // The height can be set with M420 Z<height>
1011 1011
   #define ENABLE_LEVELING_FADE_HEIGHT
1012
+
1013
+  /**
1014
+   * Enable the G26 Mesh Validation Pattern tool.
1015
+   */
1016
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1017
+  #if ENABLED(G26_MESH_VALIDATION)
1018
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1019
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1020
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1021
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1022
+  #endif
1023
+
1012 1024
 #endif
1013 1025
 
1014 1026
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1099,13 +1111,6 @@
1099 1111
   #define UBL_PROBE_PT_3_X 180
1100 1112
   #define UBL_PROBE_PT_3_Y 20
1101 1113
 
1102
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1103
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1104
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1105
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1106
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1107
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1108
-  #endif
1109 1114
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1110 1115
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1111 1116
 

+ 12
- 7
Marlin/example_configurations/Anet/A8/Configuration.h View File

@@ -897,6 +897,18 @@
897 897
   // at which point movement will be level to the machine's XY plane.
898 898
   // The height can be set with M420 Z<height>
899 899
   #define ENABLE_LEVELING_FADE_HEIGHT
900
+
901
+  /**
902
+   * Enable the G26 Mesh Validation Pattern tool.
903
+   */
904
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
905
+  #if ENABLED(G26_MESH_VALIDATION)
906
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
907
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
908
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
909
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
910
+  #endif
911
+
900 912
 #endif
901 913
 
902 914
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -963,13 +975,6 @@
963 975
   #define UBL_PROBE_PT_3_X 180
964 976
   #define UBL_PROBE_PT_3_Y 20
965 977
 
966
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
967
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
968
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
969
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
970
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
971
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
972
-  #endif
973 978
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
974 979
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
975 980
 

+ 12
- 7
Marlin/example_configurations/BQ/Hephestos/Configuration.h View File

@@ -881,6 +881,18 @@
881 881
   // at which point movement will be level to the machine's XY plane.
882 882
   // The height can be set with M420 Z<height>
883 883
   #define ENABLE_LEVELING_FADE_HEIGHT
884
+
885
+  /**
886
+   * Enable the G26 Mesh Validation Pattern tool.
887
+   */
888
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
889
+  #if ENABLED(G26_MESH_VALIDATION)
890
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
891
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
892
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
893
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
894
+  #endif
895
+
884 896
 #endif
885 897
 
886 898
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -947,13 +959,6 @@
947 959
   #define UBL_PROBE_PT_3_X 180
948 960
   #define UBL_PROBE_PT_3_Y 20
949 961
 
950
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
951
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
952
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
953
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
954
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
955
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
956
-  #endif
957 962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
958 963
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
959 964
 

+ 12
- 7
Marlin/example_configurations/BQ/Hephestos_2/Configuration.h View File

@@ -891,6 +891,18 @@
891 891
   // at which point movement will be level to the machine's XY plane.
892 892
   // The height can be set with M420 Z<height>
893 893
   #define ENABLE_LEVELING_FADE_HEIGHT
894
+
895
+  /**
896
+   * Enable the G26 Mesh Validation Pattern tool.
897
+   */
898
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
899
+  #if ENABLED(G26_MESH_VALIDATION)
900
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
901
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
903
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
904
+  #endif
905
+
894 906
 #endif
895 907
 
896 908
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -957,13 +969,6 @@
957 969
   #define UBL_PROBE_PT_3_X 180
958 970
   #define UBL_PROBE_PT_3_Y 20
959 971
 
960
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
961
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
962
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
963
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
965
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
966
-  #endif
967 972
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
968 973
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
969 974
 

+ 12
- 7
Marlin/example_configurations/BQ/WITBOX/Configuration.h View File

@@ -881,6 +881,18 @@
881 881
   // at which point movement will be level to the machine's XY plane.
882 882
   // The height can be set with M420 Z<height>
883 883
   #define ENABLE_LEVELING_FADE_HEIGHT
884
+
885
+  /**
886
+   * Enable the G26 Mesh Validation Pattern tool.
887
+   */
888
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
889
+  #if ENABLED(G26_MESH_VALIDATION)
890
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
891
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
892
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
893
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
894
+  #endif
895
+
884 896
 #endif
885 897
 
886 898
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -947,13 +959,6 @@
947 959
   #define UBL_PROBE_PT_3_X 180
948 960
   #define UBL_PROBE_PT_3_Y 20
949 961
 
950
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
951
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
952
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
953
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
954
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
955
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
956
-  #endif
957 962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
958 963
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
959 964
 

+ 12
- 7
Marlin/example_configurations/Cartesio/Configuration.h View File

@@ -889,6 +889,18 @@
889 889
   // at which point movement will be level to the machine's XY plane.
890 890
   // The height can be set with M420 Z<height>
891 891
   #define ENABLE_LEVELING_FADE_HEIGHT
892
+
893
+  /**
894
+   * Enable the G26 Mesh Validation Pattern tool.
895
+   */
896
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
897
+  #if ENABLED(G26_MESH_VALIDATION)
898
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
899
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
900
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
902
+  #endif
903
+
892 904
 #endif
893 905
 
894 906
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -955,13 +967,6 @@
955 967
   #define UBL_PROBE_PT_3_X 180
956 968
   #define UBL_PROBE_PT_3_Y 20
957 969
 
958
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
959
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
960
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
961
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
962
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
964
-  #endif
965 970
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
966 971
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
967 972
 

+ 12
- 7
Marlin/example_configurations/Creality/CR-10/Configuration.h View File

@@ -900,6 +900,18 @@
900 900
   // at which point movement will be level to the machine's XY plane.
901 901
   // The height can be set with M420 Z<height>
902 902
   #define ENABLE_LEVELING_FADE_HEIGHT
903
+
904
+  /**
905
+   * Enable the G26 Mesh Validation Pattern tool.
906
+   */
907
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
908
+  #if ENABLED(G26_MESH_VALIDATION)
909
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
910
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
911
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
912
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
913
+  #endif
914
+
903 915
 #endif
904 916
 
905 917
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -966,13 +978,6 @@
966 978
   #define UBL_PROBE_PT_3_X 180
967 979
   #define UBL_PROBE_PT_3_Y 20
968 980
 
969
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
970
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
971
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
972
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
973
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
974
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
975
-  #endif
976 981
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
977 982
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
978 983
 

+ 12
- 7
Marlin/example_configurations/Felix/Configuration.h View File

@@ -872,6 +872,18 @@
872 872
   // at which point movement will be level to the machine's XY plane.
873 873
   // The height can be set with M420 Z<height>
874 874
   #define ENABLE_LEVELING_FADE_HEIGHT
875
+
876
+  /**
877
+   * Enable the G26 Mesh Validation Pattern tool.
878
+   */
879
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
880
+  #if ENABLED(G26_MESH_VALIDATION)
881
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
882
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
883
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
884
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
885
+  #endif
886
+
875 887
 #endif
876 888
 
877 889
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -938,13 +950,6 @@
938 950
   #define UBL_PROBE_PT_3_X 180
939 951
   #define UBL_PROBE_PT_3_Y 20
940 952
 
941
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
942
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
943
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
944
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
945
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
946
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
947
-  #endif
948 953
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
949 954
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
950 955
 

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

@@ -872,6 +872,18 @@
872 872
   // at which point movement will be level to the machine's XY plane.
873 873
   // The height can be set with M420 Z<height>
874 874
   #define ENABLE_LEVELING_FADE_HEIGHT
875
+
876
+  /**
877
+   * Enable the G26 Mesh Validation Pattern tool.
878
+   */
879
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
880
+  #if ENABLED(G26_MESH_VALIDATION)
881
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
882
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
883
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
884
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
885
+  #endif
886
+
875 887
 #endif
876 888
 
877 889
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -938,13 +950,6 @@
938 950
   #define UBL_PROBE_PT_3_X 180
939 951
   #define UBL_PROBE_PT_3_Y 20
940 952
 
941
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
942
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
943
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
944
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
945
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
946
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
947
-  #endif
948 953
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
949 954
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
950 955
 

+ 12
- 7
Marlin/example_configurations/FolgerTech/i3-2020/Configuration.h View File

@@ -893,6 +893,18 @@
893 893
   // at which point movement will be level to the machine's XY plane.
894 894
   // The height can be set with M420 Z<height>
895 895
   #define ENABLE_LEVELING_FADE_HEIGHT
896
+
897
+  /**
898
+   * Enable the G26 Mesh Validation Pattern tool.
899
+   */
900
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
901
+  #if ENABLED(G26_MESH_VALIDATION)
902
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
903
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
904
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
905
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
906
+  #endif
907
+
896 908
 #endif
897 909
 
898 910
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -961,13 +973,6 @@
961 973
   #define UBL_PROBE_PT_3_X 180
962 974
   #define UBL_PROBE_PT_3_Y 25
963 975
 
964
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
965
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
966
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
967
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
968
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
969
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
970
-  #endif
971 976
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
972 977
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
973 978
 

+ 12
- 7
Marlin/example_configurations/Geeetech/GT2560/Configuration.h View File

@@ -905,6 +905,18 @@
905 905
   // at which point movement will be level to the machine's XY plane.
906 906
   // The height can be set with M420 Z<height>
907 907
   #define ENABLE_LEVELING_FADE_HEIGHT
908
+
909
+  /**
910
+   * Enable the G26 Mesh Validation Pattern tool.
911
+   */
912
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
913
+  #if ENABLED(G26_MESH_VALIDATION)
914
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
915
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
916
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
917
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
918
+  #endif
919
+
908 920
 #endif
909 921
 
910 922
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -971,13 +983,6 @@
971 983
   #define UBL_PROBE_PT_3_X 180
972 984
   #define UBL_PROBE_PT_3_Y 20
973 985
 
974
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
975
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
976
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
977
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
978
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
979
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
980
-  #endif
981 986
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
982 987
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
983 988
 

+ 12
- 7
Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 12
- 7
Marlin/example_configurations/Infitary/i3-M508/Configuration.h View File

@@ -894,6 +894,18 @@
894 894
   // at which point movement will be level to the machine's XY plane.
895 895
   // The height can be set with M420 Z<height>
896 896
   #define ENABLE_LEVELING_FADE_HEIGHT
897
+
898
+  /**
899
+   * Enable the G26 Mesh Validation Pattern tool.
900
+   */
901
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
902
+  #if ENABLED(G26_MESH_VALIDATION)
903
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
904
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
905
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
906
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
907
+  #endif
908
+
897 909
 #endif
898 910
 
899 911
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -960,13 +972,6 @@
960 972
   #define UBL_PROBE_PT_3_X 180
961 973
   #define UBL_PROBE_PT_3_Y 20
962 974
 
963
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
964
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
965
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
966
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
967
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
968
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
969
-  #endif
970 975
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971 976
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972 977
 

+ 12
- 7
Marlin/example_configurations/Malyan/M150/Configuration.h View File

@@ -918,6 +918,18 @@
918 918
   // at which point movement will be level to the machine's XY plane.
919 919
   // The height can be set with M420 Z<height>
920 920
   #define ENABLE_LEVELING_FADE_HEIGHT
921
+
922
+  /**
923
+   * Enable the G26 Mesh Validation Pattern tool.
924
+   */
925
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
926
+  #if ENABLED(G26_MESH_VALIDATION)
927
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
928
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
929
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
930
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
931
+  #endif
932
+
921 933
 #endif
922 934
 
923 935
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -984,13 +996,6 @@
984 996
   #define UBL_PROBE_PT_3_X 180
985 997
   #define UBL_PROBE_PT_3_Y 20
986 998
 
987
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
988
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
989
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
990
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
991
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
992
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
993
-  #endif
994 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
995 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
996 1001
 

+ 12
- 7
Marlin/example_configurations/Micromake/C1/basic/Configuration.h View File

@@ -894,6 +894,18 @@
894 894
   // at which point movement will be level to the machine's XY plane.
895 895
   // The height can be set with M420 Z<height>
896 896
   #define ENABLE_LEVELING_FADE_HEIGHT
897
+
898
+  /**
899
+   * Enable the G26 Mesh Validation Pattern tool.
900
+   */
901
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
902
+  #if ENABLED(G26_MESH_VALIDATION)
903
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
904
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
905
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
906
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
907
+  #endif
908
+
897 909
 #endif
898 910
 
899 911
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -960,13 +972,6 @@
960 972
   #define UBL_PROBE_PT_3_X 180
961 973
   #define UBL_PROBE_PT_3_Y 20
962 974
 
963
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
964
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
965
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
966
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
967
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
968
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
969
-  #endif
970 975
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971 976
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972 977
 

+ 12
- 7
Marlin/example_configurations/Micromake/C1/enhanced/Configuration.h View File

@@ -894,6 +894,18 @@
894 894
   // at which point movement will be level to the machine's XY plane.
895 895
   // The height can be set with M420 Z<height>
896 896
   #define ENABLE_LEVELING_FADE_HEIGHT
897
+
898
+  /**
899
+   * Enable the G26 Mesh Validation Pattern tool.
900
+   */
901
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
902
+  #if ENABLED(G26_MESH_VALIDATION)
903
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
904
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
905
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
906
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
907
+  #endif
908
+
897 909
 #endif
898 910
 
899 911
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -960,13 +972,6 @@
960 972
   #define UBL_PROBE_PT_3_X 180
961 973
   #define UBL_PROBE_PT_3_Y 20
962 974
 
963
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
964
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
965
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
966
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
967
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
968
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
969
-  #endif
970 975
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971 976
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972 977
 

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

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 12
- 7
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -888,6 +888,18 @@
888 888
   // at which point movement will be level to the machine's XY plane.
889 889
   // The height can be set with M420 Z<height>
890 890
   #define ENABLE_LEVELING_FADE_HEIGHT
891
+
892
+  /**
893
+   * Enable the G26 Mesh Validation Pattern tool.
894
+   */
895
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
896
+  #if ENABLED(G26_MESH_VALIDATION)
897
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
898
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
899
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
900
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
901
+  #endif
902
+
891 903
 #endif
892 904
 
893 905
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -954,13 +966,6 @@
954 966
   #define UBL_PROBE_PT_3_X 180
955 967
   #define UBL_PROBE_PT_3_Y 20
956 968
 
957
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
958
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
959
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
960
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
961
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
962
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
963
-  #endif
964 969
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
965 970
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
966 971
 

+ 12
- 7
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -902,6 +902,18 @@
902 902
   // at which point movement will be level to the machine's XY plane.
903 903
   // The height can be set with M420 Z<height>
904 904
   #define ENABLE_LEVELING_FADE_HEIGHT
905
+
906
+  /**
907
+   * Enable the G26 Mesh Validation Pattern tool.
908
+   */
909
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
910
+  #if ENABLED(G26_MESH_VALIDATION)
911
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
912
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
913
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
914
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
915
+  #endif
916
+
905 917
 #endif
906 918
 
907 919
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -968,13 +980,6 @@
968 980
   #define UBL_PROBE_PT_3_X 180
969 981
   #define UBL_PROBE_PT_3_Y 20
970 982
 
971
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
972
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
973
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
974
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
975
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
976
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
977
-  #endif
978 983
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
979 984
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
980 985
 

+ 12
- 7
Marlin/example_configurations/Sanguinololu/Configuration.h View File

@@ -921,6 +921,18 @@
921 921
   // at which point movement will be level to the machine's XY plane.
922 922
   // The height can be set with M420 Z<height>
923 923
   #define ENABLE_LEVELING_FADE_HEIGHT
924
+
925
+  /**
926
+   * Enable the G26 Mesh Validation Pattern tool.
927
+   */
928
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
929
+  #if ENABLED(G26_MESH_VALIDATION)
930
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
931
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
932
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
933
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
934
+  #endif
935
+
924 936
 #endif
925 937
 
926 938
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -987,13 +999,6 @@
987 999
   #define UBL_PROBE_PT_3_X 180
988 1000
   #define UBL_PROBE_PT_3_Y 20
989 1001
 
990
-  //#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
991
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
992
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
993
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
994
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
995
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
996
-  #endif
997 1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
998 1003
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
999 1004
 

+ 12
- 7
Marlin/example_configurations/TinyBoy2/Configuration.h View File

@@ -946,6 +946,18 @@
946 946
   // at which point movement will be level to the machine's XY plane.
947 947
   // The height can be set with M420 Z<height>
948 948
   #define ENABLE_LEVELING_FADE_HEIGHT
949
+
950
+  /**
951
+   * Enable the G26 Mesh Validation Pattern tool.
952
+   */
953
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
954
+  #if ENABLED(G26_MESH_VALIDATION)
955
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
956
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
957
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
958
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
959
+  #endif
960
+
949 961
 #endif
950 962
 
951 963
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1012,13 +1024,6 @@
1012 1024
   #define UBL_PROBE_PT_3_X 180
1013 1025
   #define UBL_PROBE_PT_3_Y 20
1014 1026
 
1015
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1016
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1017
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1018
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1019
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1020
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1021
-  #endif
1022 1027
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1023 1028
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1024 1029
 

+ 12
- 7
Marlin/example_configurations/Velleman/K8200/Configuration.h View File

@@ -920,6 +920,18 @@
920 920
   // at which point movement will be level to the machine's XY plane.
921 921
   // The height can be set with M420 Z<height>
922 922
   #define ENABLE_LEVELING_FADE_HEIGHT
923
+
924
+  /**
925
+   * Enable the G26 Mesh Validation Pattern tool.
926
+   */
927
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
928
+  #if ENABLED(G26_MESH_VALIDATION)
929
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
930
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
931
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
932
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
933
+  #endif
934
+
923 935
 #endif
924 936
 
925 937
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -986,13 +998,6 @@
986 998
   #define UBL_PROBE_PT_3_X 180
987 999
   #define UBL_PROBE_PT_3_Y 20
988 1000
 
989
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
990
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
991
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
992
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
993
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
994
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
995
-  #endif
996 1001
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
997 1002
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
998 1003
 

+ 12
- 7
Marlin/example_configurations/Velleman/K8400/Configuration.h View File

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 12
- 7
Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h View File

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

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

@@ -890,6 +890,18 @@
890 890
   // at which point movement will be level to the machine's XY plane.
891 891
   // The height can be set with M420 Z<height>
892 892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
898
+  #if ENABLED(G26_MESH_VALIDATION)
899
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
900
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
901
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
902
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
903
+  #endif
904
+
893 905
 #endif
894 906
 
895 907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -956,13 +968,6 @@
956 968
   #define UBL_PROBE_PT_3_X 180
957 969
   #define UBL_PROBE_PT_3_Y 20
958 970
 
959
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
960
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
961
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
962
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
963
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
964
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
965
-  #endif
966 971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967 972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968 973
 

+ 12
- 7
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -1020,6 +1020,18 @@
1020 1020
   // at which point movement will be level to the machine's XY plane.
1021 1021
   // The height can be set with M420 Z<height>
1022 1022
   //#define ENABLE_LEVELING_FADE_HEIGHT
1023
+
1024
+  /**
1025
+   * Enable the G26 Mesh Validation Pattern tool.
1026
+   */
1027
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1028
+  #if ENABLED(G26_MESH_VALIDATION)
1029
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1030
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1031
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1032
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1033
+  #endif
1034
+
1023 1035
 #endif
1024 1036
 
1025 1037
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1090,13 +1102,6 @@
1090 1102
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1091 1103
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1092 1104
 
1093
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1094
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1095
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1096
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1097
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1098
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1099
-  #endif
1100 1105
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1101 1106
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1102 1107
 

+ 12
- 7
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -1020,6 +1020,18 @@
1020 1020
   // at which point movement will be level to the machine's XY plane.
1021 1021
   // The height can be set with M420 Z<height>
1022 1022
   //#define ENABLE_LEVELING_FADE_HEIGHT
1023
+
1024
+  /**
1025
+   * Enable the G26 Mesh Validation Pattern tool.
1026
+   */
1027
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1028
+  #if ENABLED(G26_MESH_VALIDATION)
1029
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1030
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1031
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1032
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1033
+  #endif
1034
+
1023 1035
 #endif
1024 1036
 
1025 1037
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1084,13 +1096,6 @@
1084 1096
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1085 1097
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1086 1098
 
1087
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1088
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1089
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1090
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1091
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1092
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1093
-  #endif
1094 1099
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1095 1100
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1096 1101
 

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

@@ -1011,6 +1011,18 @@
1011 1011
   // Set the boundaries for probing (where the probe can reach).
1012 1012
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1013 1013
 
1014
+
1015
+  /**
1016
+   * Enable the G26 Mesh Validation Pattern tool.
1017
+   */
1018
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1019
+  #if ENABLED(G26_MESH_VALIDATION)
1020
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1021
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1022
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1023
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1024
+  #endif
1025
+
1014 1026
 #endif
1015 1027
 
1016 1028
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1079,13 +1091,6 @@
1079 1091
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1080 1092
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1081 1093
 
1082
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1083
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1084
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1085
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1086
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1087
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1088
-  #endif
1089 1094
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1090 1095
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1091 1096
 

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

@@ -1014,6 +1014,18 @@
1014 1014
   // Set the boundaries for probing (where the probe can reach).
1015 1015
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1016 1016
 
1017
+
1018
+  /**
1019
+   * Enable the G26 Mesh Validation Pattern tool.
1020
+   */
1021
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1022
+  #if ENABLED(G26_MESH_VALIDATION)
1023
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1024
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1025
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1026
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1027
+  #endif
1028
+
1017 1029
 #endif
1018 1030
 
1019 1031
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1082,13 +1094,6 @@
1082 1094
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1083 1095
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1084 1096
 
1085
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1086
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1087
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1088
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1089
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1090
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1091
-  #endif
1092 1097
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1093 1098
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1094 1099
 

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

@@ -1014,6 +1014,18 @@
1014 1014
   // Set the boundaries for probing (where the probe can reach).
1015 1015
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1016 1016
 
1017
+
1018
+  /**
1019
+   * Enable the G26 Mesh Validation Pattern tool.
1020
+   */
1021
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1022
+  #if ENABLED(G26_MESH_VALIDATION)
1023
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1024
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1025
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1026
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1027
+  #endif
1028
+
1017 1029
 #endif
1018 1030
 
1019 1031
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1082,13 +1094,6 @@
1082 1094
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1083 1095
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1084 1096
 
1085
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1086
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1087
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1088
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1089
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1090
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1091
-  #endif
1092 1097
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1093 1098
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1094 1099
 

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

@@ -1023,6 +1023,18 @@
1023 1023
   // Set the boundaries for probing (where the probe can reach).
1024 1024
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1025 1025
 
1026
+
1027
+  /**
1028
+   * Enable the G26 Mesh Validation Pattern tool.
1029
+   */
1030
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
1031
+  #if ENABLED(G26_MESH_VALIDATION)
1032
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1033
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1034
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1035
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1036
+  #endif
1037
+
1026 1038
 #endif
1027 1039
 
1028 1040
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -1091,13 +1103,6 @@
1091 1103
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1092 1104
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1093 1105
 
1094
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1095
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1096
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
1097
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
1098
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1099
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1100
-  #endif
1101 1106
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1102 1107
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1103 1108
 

+ 12
- 7
Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h View File

@@ -904,6 +904,18 @@
904 904
   // at which point movement will be level to the machine's XY plane.
905 905
   // The height can be set with M420 Z<height>
906 906
   #define ENABLE_LEVELING_FADE_HEIGHT
907
+
908
+  /**
909
+   * Enable the G26 Mesh Validation Pattern tool.
910
+   */
911
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
912
+  #if ENABLED(G26_MESH_VALIDATION)
913
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
914
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
915
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
916
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
917
+  #endif
918
+
907 919
 #endif
908 920
 
909 921
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -970,13 +982,6 @@
970 982
   #define UBL_PROBE_PT_3_X 348
971 983
   #define UBL_PROBE_PT_3_Y 211
972 984
 
973
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
974
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
975
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
976
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
977
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
978
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
979
-  #endif
980 985
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
981 986
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
982 987
 

+ 12
- 7
Marlin/example_configurations/makibox/Configuration.h View File

@@ -893,6 +893,18 @@
893 893
   // at which point movement will be level to the machine's XY plane.
894 894
   // The height can be set with M420 Z<height>
895 895
   #define ENABLE_LEVELING_FADE_HEIGHT
896
+
897
+  /**
898
+   * Enable the G26 Mesh Validation Pattern tool.
899
+   */
900
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
901
+  #if ENABLED(G26_MESH_VALIDATION)
902
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
903
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
904
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
905
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
906
+  #endif
907
+
896 908
 #endif
897 909
 
898 910
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -959,13 +971,6 @@
959 971
   #define UBL_PROBE_PT_3_X 180
960 972
   #define UBL_PROBE_PT_3_Y 20
961 973
 
962
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
963
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
964
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
965
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
966
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
967
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
968
-  #endif
969 974
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
970 975
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
971 976
 

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

@@ -885,6 +885,18 @@
885 885
   // at which point movement will be level to the machine's XY plane.
886 886
   // The height can be set with M420 Z<height>
887 887
   #define ENABLE_LEVELING_FADE_HEIGHT
888
+
889
+  /**
890
+   * Enable the G26 Mesh Validation Pattern tool.
891
+   */
892
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
893
+  #if ENABLED(G26_MESH_VALIDATION)
894
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
895
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
896
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
897
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
898
+  #endif
899
+
888 900
 #endif
889 901
 
890 902
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -951,13 +963,6 @@
951 963
   #define UBL_PROBE_PT_3_X 180
952 964
   #define UBL_PROBE_PT_3_Y 20
953 965
 
954
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
955
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
956
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
957
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
958
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
959
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
960
-  #endif
961 966
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
962 967
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
963 968
 

+ 12
- 7
Marlin/example_configurations/wt150/Configuration.h View File

@@ -895,6 +895,18 @@
895 895
   // at which point movement will be level to the machine's XY plane.
896 896
   // The height can be set with M420 Z<height>
897 897
   #define ENABLE_LEVELING_FADE_HEIGHT
898
+
899
+  /**
900
+   * Enable the G26 Mesh Validation Pattern tool.
901
+   */
902
+  //#define G26_MESH_VALIDATION   // Enable G26 mesh validation
903
+  #if ENABLED(G26_MESH_VALIDATION)
904
+    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
905
+    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
906
+    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
907
+    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
908
+  #endif
909
+
898 910
 #endif
899 911
 
900 912
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
@@ -961,13 +973,6 @@
961 973
   #define UBL_PROBE_PT_3_X 180
962 974
   #define UBL_PROBE_PT_3_Y 20
963 975
 
964
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
965
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
966
-    #define MESH_TEST_NOZZLE_SIZE     0.4   // (mm) Diameter of primary nozzle.
967
-    #define MESH_TEST_LAYER_HEIGHT    0.2   // (mm) Default layer height for the G26 Mesh Validation Tool.
968
-    #define MESH_TEST_HOTEND_TEMP   205.0   // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
969
-    #define MESH_TEST_BED_TEMP       60.0   // (°C) Default bed temperature for the G26 Mesh Validation Tool.
970
-  #endif
971 976
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
972 977
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
973 978
 

+ 1
- 0
Marlin/planner.cpp View File

@@ -58,6 +58,7 @@
58 58
  *
59 59
  */
60 60
 
61
+#include "MarlinConfig.h"
61 62
 #include "planner.h"
62 63
 #include "stepper.h"
63 64
 #include "temperature.h"

+ 5
- 0
Marlin/types.h View File

@@ -25,4 +25,9 @@
25 25
 
26 26
 typedef unsigned long millis_t;
27 27
 
28
+typedef struct {
29
+  int8_t x_index, y_index;
30
+  float distance; // When populated, the distance from the search location
31
+} mesh_index_pair;
32
+
28 33
 #endif

+ 0
- 13
Marlin/ubl.cpp View File

@@ -30,16 +30,6 @@
30 30
   #include "temperature.h"
31 31
   #include "planner.h"
32 32
 
33
-  /**
34
-   * These support functions allow the use of large bit arrays of flags that take very
35
-   * little RAM. Currently they are limited to being 16x16 in size. Changing the declaration
36
-   * to unsigned long will allow us to go to 32x32 if higher resolution Mesh's are needed
37
-   * in the future.
38
-   */
39
-  void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y) { CBI(bits[y], x); }
40
-  void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { SBI(bits[y], x); }
41
-  bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { return TEST(bits[y], x); }
42
-
43 33
   uint8_t ubl_cnt = 0;
44 34
 
45 35
   void unified_bed_leveling::echo_name() { SERIAL_PROTOCOLPGM("Unified Bed Leveling"); }
@@ -70,9 +60,6 @@
70 60
   constexpr float unified_bed_leveling::_mesh_index_to_xpos[16],
71 61
                   unified_bed_leveling::_mesh_index_to_ypos[16];
72 62
 
73
-  bool unified_bed_leveling::g26_debug_flag = false,
74
-       unified_bed_leveling::has_control_of_lcd_panel = false;
75
-
76 63
   #if ENABLED(ULTIPANEL)
77 64
     bool unified_bed_leveling::lcd_map_control = false;
78 65
   #endif

+ 2
- 57
Marlin/ubl.h View File

@@ -39,17 +39,6 @@
39 39
   #define USE_NOZZLE_AS_REFERENCE 0
40 40
   #define USE_PROBE_AS_REFERENCE 1
41 41
 
42
-  typedef struct {
43
-    int8_t x_index, y_index;
44
-    float distance; // When populated, the distance from the search location
45
-  } mesh_index_pair;
46
-
47
-  // ubl.cpp
48
-
49
-  void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y);
50
-  void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y);
51
-  bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y);
52
-
53 42
   // ubl_motion.cpp
54 43
 
55 44
   void debug_current_and_destination(const char * const title);
@@ -61,7 +50,6 @@
61 50
   // External references
62 51
 
63 52
   char *ftostr43sign(const float&, char);
64
-  bool ubl_lcd_clicked();
65 53
   void home_all_axes();
66 54
 
67 55
   extern uint8_t ubl_cnt;
@@ -93,22 +81,6 @@
93 81
         static int  g29_grid_size;
94 82
       #endif
95 83
 
96
-      #if ENABLED(UBL_G26_MESH_VALIDATION)
97
-        static float   g26_extrusion_multiplier,
98
-                       g26_retraction_multiplier,
99
-                       g26_nozzle,
100
-                       g26_filament_diameter,
101
-                       g26_prime_length,
102
-                       g26_x_pos, g26_y_pos,
103
-                       g26_ooze_amount,
104
-                       g26_layer_height;
105
-        static int16_t g26_bed_temp,
106
-                       g26_hotend_temp,
107
-                       g26_repeats;
108
-        static int8_t  g26_prime_flag;
109
-        static bool    g26_continue_with_closest, g26_keep_heaters_on;
110
-      #endif
111
-
112 84
       static float measure_point_with_encoder();
113 85
       static float measure_business_card_thickness(float);
114 86
       static bool g29_parameter_parsing();
@@ -125,21 +97,6 @@
125 97
       static bool smart_fill_one(const uint8_t x, const uint8_t y, const int8_t xdir, const int8_t ydir);
126 98
       static void smart_fill_mesh();
127 99
 
128
-      #if ENABLED(UBL_G26_MESH_VALIDATION)
129
-        static bool exit_from_g26();
130
-        static bool parse_G26_parameters();
131
-        static void G26_line_to_destination(const float &feed_rate);
132
-        static mesh_index_pair find_closest_circle_to_print(const float&, const float&);
133
-        static bool look_for_lines_to_connect();
134
-        static bool turn_on_heaters();
135
-        static bool prime_nozzle();
136
-        static void retract_filament(const float where[XYZE]);
137
-        static void recover_filament(const float where[XYZE]);
138
-        static void print_line_from_here_to_there(const float&, const float&, const float&, const float&, const float&, const float&);
139
-        static void move_to(const float&, const float&, const float&, const float&);
140
-        inline static void move_to(const float where[XYZE], const float &de) { move_to(where[X_AXIS], where[Y_AXIS], where[Z_AXIS], de); }
141
-      #endif
142
-
143 100
     public:
144 101
 
145 102
       static void echo_name();
@@ -147,8 +104,8 @@
147 104
       static void save_ubl_active_state_and_disable();
148 105
       static void restore_ubl_active_state_and_leave();
149 106
       static void display_map(const int);
150
-    static mesh_index_pair find_closest_mesh_point_of_type(const MeshPointType, const float&, const float&, const bool, uint16_t[16]);
151
-    static mesh_index_pair find_furthest_invalid_mesh_point();
107
+      static mesh_index_pair find_closest_mesh_point_of_type(const MeshPointType, const float&, const float&, const bool, uint16_t[16]);
108
+      static mesh_index_pair find_furthest_invalid_mesh_point();
152 109
       static void reset();
153 110
       static void invalidate();
154 111
       static void set_all_mesh_points_to_value(const float);
@@ -156,11 +113,6 @@
156 113
 
157 114
       static void G29() _O0;                          // O0 for no optimization
158 115
       static void smart_fill_wlsf(const float &) _O2; // O2 gives smaller code than Os on A2560
159
-
160
-      #if ENABLED(UBL_G26_MESH_VALIDATION)
161
-        static void G26();
162
-      #endif
163
-
164 116
       static int8_t storage_slot;
165 117
 
166 118
       static float z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
@@ -189,8 +141,6 @@
189 141
                                 MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST)
190 142
                               };
191 143
 
192
-      static bool g26_debug_flag, has_control_of_lcd_panel;
193
-
194 144
       #if ENABLED(ULTIPANEL)
195 145
         static bool lcd_map_control;
196 146
       #endif
@@ -390,15 +340,10 @@
390 340
         || isnan(z_values[0][0])
391 341
       );
392 342
     }
393
-
394 343
   }; // class unified_bed_leveling
395 344
 
396 345
   extern unified_bed_leveling ubl;
397 346
 
398
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
399
-    FORCE_INLINE void gcode_G26() { ubl.G26(); }
400
-  #endif
401
-
402 347
   FORCE_INLINE void gcode_G29() { ubl.G29(); }
403 348
 
404 349
 #endif // AUTO_BED_LEVELING_UBL

+ 29
- 25
Marlin/ubl_G29.cpp View File

@@ -32,6 +32,7 @@
32 32
   #include "stepper.h"
33 33
   #include "planner.h"
34 34
   #include "gcode.h"
35
+  #include "bitmap_flags.h"
35 36
 
36 37
   #include <math.h>
37 38
   #include "least_squares_fit.h"
@@ -676,8 +677,7 @@
676 677
       lcd_reset_alert_level();
677 678
       LCD_MESSAGEPGM("");
678 679
       lcd_quick_feedback();
679
-
680
-      has_control_of_lcd_panel = false;
680
+      lcd_external_control = false;
681 681
     #endif
682 682
 
683 683
     return;
@@ -736,7 +736,10 @@
736 736
     void unified_bed_leveling::probe_entire_mesh(const float &rx, const float &ry, const bool do_ubl_mesh_map, const bool stow_probe, bool close_or_far) {
737 737
       mesh_index_pair location;
738 738
 
739
-      has_control_of_lcd_panel = true;
739
+      #if ENABLED(NEWPANEL)
740
+        lcd_external_control = true;
741
+      #endif
742
+
740 743
       save_ubl_active_state_and_disable();   // we don't do bed level correction because we want the raw data when we probe
741 744
       DEPLOY_PROBE();
742 745
 
@@ -746,12 +749,12 @@
746 749
         if (do_ubl_mesh_map) display_map(g29_map_type);
747 750
 
748 751
         #if ENABLED(NEWPANEL)
749
-          if (ubl_lcd_clicked()) {
752
+          if (is_lcd_clicked()) {
750 753
             SERIAL_PROTOCOLLNPGM("\nMesh only partially populated.\n");
751 754
             lcd_quick_feedback();
752 755
             STOW_PROBE();
753
-            while (ubl_lcd_clicked()) idle();
754
-            has_control_of_lcd_panel = false;
756
+            while (is_lcd_clicked()) idle();
757
+            lcd_external_control = false;
755 758
             restore_ubl_active_state_and_leave();
756 759
             safe_delay(50);  // Debounce the Encoder wheel
757 760
             return;
@@ -889,13 +892,14 @@
889 892
   #endif // HAS_BED_PROBE
890 893
 
891 894
   #if ENABLED(NEWPANEL)
895
+
892 896
     float unified_bed_leveling::measure_point_with_encoder() {
893 897
 
894
-      while (ubl_lcd_clicked()) delay(50);  // wait for user to release encoder wheel
898
+      while (is_lcd_clicked()) delay(50);  // wait for user to release encoder wheel
895 899
       delay(50);  // debounce
896 900
 
897 901
       KEEPALIVE_STATE(PAUSED_FOR_USER);
898
-      while (!ubl_lcd_clicked()) {     // we need the loop to move the nozzle based on the encoder wheel here!
902
+      while (!is_lcd_clicked()) {     // we need the loop to move the nozzle based on the encoder wheel here!
899 903
         idle();
900 904
         if (encoder_diff) {
901 905
           do_blocking_move_to_z(current_position[Z_AXIS] + 0.01 * float(encoder_diff));
@@ -909,7 +913,7 @@
909 913
     static void echo_and_take_a_measurement() { SERIAL_PROTOCOLLNPGM(" and take a measurement."); }
910 914
 
911 915
     float unified_bed_leveling::measure_business_card_thickness(float in_height) {
912
-      has_control_of_lcd_panel = true;
916
+      lcd_external_control = true;
913 917
       save_ubl_active_state_and_disable();   // Disable bed level correction for probing
914 918
 
915 919
       do_blocking_move_to(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)), in_height);
@@ -943,7 +947,7 @@
943 947
 
944 948
       in_height = current_position[Z_AXIS]; // do manual probing at lower height
945 949
 
946
-      has_control_of_lcd_panel = false;
950
+      lcd_external_control = false;
947 951
 
948 952
       restore_ubl_active_state_and_leave();
949 953
 
@@ -952,7 +956,7 @@
952 956
 
953 957
     void unified_bed_leveling::manually_probe_remaining_mesh(const float &rx, const float &ry, const float &z_clearance, const float &thick, const bool do_ubl_mesh_map) {
954 958
 
955
-      has_control_of_lcd_panel = true;
959
+      lcd_external_control = true;
956 960
 
957 961
       save_ubl_active_state_and_disable();   // we don't do bed level correction because we want the raw data when we probe
958 962
       do_blocking_move_to(rx, ry, Z_CLEARANCE_BETWEEN_PROBES);
@@ -976,7 +980,7 @@
976 980
         do_blocking_move_to_z(z_clearance);
977 981
 
978 982
         KEEPALIVE_STATE(PAUSED_FOR_USER);
979
-        has_control_of_lcd_panel = true;
983
+        lcd_external_control = true;
980 984
 
981 985
         if (do_ubl_mesh_map) display_map(g29_map_type);  // show user where we're probing
982 986
 
@@ -985,9 +989,9 @@
985 989
         const float z_step = 0.01;                                        // existing behavior: 0.01mm per click, occasionally step
986 990
         //const float z_step = 1.0 / planner.axis_steps_per_mm[Z_AXIS];   // approx one step each click
987 991
 
988
-        while (ubl_lcd_clicked()) delay(50);             // wait for user to release encoder wheel
992
+        while (is_lcd_clicked()) delay(50);             // wait for user to release encoder wheel
989 993
         delay(50);                                       // debounce
990
-        while (!ubl_lcd_clicked()) {                     // we need the loop to move the nozzle based on the encoder wheel here!
994
+        while (!is_lcd_clicked()) {                     // we need the loop to move the nozzle based on the encoder wheel here!
991 995
           idle();
992 996
           if (encoder_diff) {
993 997
             do_blocking_move_to_z(current_position[Z_AXIS] + float(encoder_diff) * z_step);
@@ -995,11 +999,11 @@
995 999
           }
996 1000
         }
997 1001
 
998
-        // this sequence to detect an ubl_lcd_clicked() debounce it and leave if it is
1002
+        // this sequence to detect an is_lcd_clicked() debounce it and leave if it is
999 1003
         // a Press and Hold is repeated in a lot of places (including G26_Mesh_Validation.cpp).   This
1000 1004
         // should be redone and compressed.
1001 1005
         const millis_t nxt = millis() + 1500L;
1002
-        while (ubl_lcd_clicked()) {     // debounce and watch for abort
1006
+        while (is_lcd_clicked()) {     // debounce and watch for abort
1003 1007
           idle();
1004 1008
           if (ELAPSED(millis(), nxt)) {
1005 1009
             SERIAL_PROTOCOLLNPGM("\nMesh only partially populated.");
@@ -1007,8 +1011,8 @@
1007 1011
 
1008 1012
             #if ENABLED(NEWPANEL)
1009 1013
               lcd_quick_feedback();
1010
-              while (ubl_lcd_clicked()) idle();
1011
-              has_control_of_lcd_panel = false;
1014
+              while (is_lcd_clicked()) idle();
1015
+              lcd_external_control = false;
1012 1016
             #endif
1013 1017
 
1014 1018
             KEEPALIVE_STATE(IN_HANDLER);
@@ -1510,7 +1514,7 @@
1510 1514
         new_z = FLOOR(new_z * 1000.0) * 0.001; // Chop off digits after the 1000ths place
1511 1515
 
1512 1516
         KEEPALIVE_STATE(PAUSED_FOR_USER);
1513
-        has_control_of_lcd_panel = true;
1517
+        lcd_external_control = true;
1514 1518
 
1515 1519
         if (do_ubl_mesh_map) display_map(g29_map_type);  // show the user which point is being adjusted
1516 1520
 
@@ -1524,27 +1528,27 @@
1524 1528
             do_blocking_move_to_z(h_offset + new_z); // Move the nozzle as the point is edited
1525 1529
           #endif
1526 1530
           idle();
1527
-        } while (!ubl_lcd_clicked());
1531
+        } while (!is_lcd_clicked());
1528 1532
 
1529 1533
         if (!lcd_map_control) lcd_return_to_status();
1530 1534
 
1531 1535
         // The technique used here generates a race condition for the encoder click.
1532 1536
         // It could get detected in lcd_mesh_edit (actually _lcd_mesh_fine_tune) or here.
1533 1537
         // Let's work on specifying a proper API for the LCD ASAP, OK?
1534
-        has_control_of_lcd_panel = true;
1538
+        lcd_external_control = true;
1535 1539
 
1536
-        // this sequence to detect an ubl_lcd_clicked() debounce it and leave if it is
1540
+        // this sequence to detect an is_lcd_clicked() debounce it and leave if it is
1537 1541
         // a Press and Hold is repeated in a lot of places (including G26_Mesh_Validation.cpp).   This
1538 1542
         // should be redone and compressed.
1539 1543
         const millis_t nxt = millis() + 1500UL;
1540
-        while (ubl_lcd_clicked()) { // debounce and watch for abort
1544
+        while (is_lcd_clicked()) { // debounce and watch for abort
1541 1545
           idle();
1542 1546
           if (ELAPSED(millis(), nxt)) {
1543 1547
             lcd_return_to_status();
1544 1548
             do_blocking_move_to_z(Z_CLEARANCE_BETWEEN_PROBES);
1545 1549
             LCD_MESSAGEPGM(MSG_EDITING_STOPPED);
1546 1550
 
1547
-            while (ubl_lcd_clicked()) idle();
1551
+            while (is_lcd_clicked()) idle();
1548 1552
 
1549 1553
             goto FINE_TUNE_EXIT;
1550 1554
           }
@@ -1560,7 +1564,7 @@
1560 1564
 
1561 1565
       FINE_TUNE_EXIT:
1562 1566
 
1563
-      has_control_of_lcd_panel = false;
1567
+      lcd_external_control = false;
1564 1568
       KEEPALIVE_STATE(IN_HANDLER);
1565 1569
 
1566 1570
       if (do_ubl_mesh_map) display_map(g29_map_type);

+ 14
- 14
Marlin/ubl_motion.cpp View File

@@ -38,23 +38,23 @@
38 38
     extern void set_current_from_destination();
39 39
   #endif
40 40
 
41
-#if ENABLED(DELTA)
41
+  #if ENABLED(DELTA)
42 42
 
43
-  extern float delta[ABC];
43
+    extern float delta[ABC];
44 44
 
45
-  extern float delta_endstop_adj[ABC],
46
-               delta_radius,
47
-               delta_tower_angle_trim[ABC],
48
-               delta_tower[ABC][2],
49
-               delta_diagonal_rod,
50
-               delta_calibration_radius,
51
-               delta_diagonal_rod_2_tower[ABC],
52
-               delta_segments_per_second,
53
-               delta_clip_start_height;
45
+    extern float delta_endstop_adj[ABC],
46
+                 delta_radius,
47
+                 delta_tower_angle_trim[ABC],
48
+                 delta_tower[ABC][2],
49
+                 delta_diagonal_rod,
50
+                 delta_calibration_radius,
51
+                 delta_diagonal_rod_2_tower[ABC],
52
+                 delta_segments_per_second,
53
+                 delta_clip_start_height;
54 54
 
55
-  extern float delta_safe_distance_from_top();
55
+    extern float delta_safe_distance_from_top();
56 56
 
57
-#endif
57
+  #endif
58 58
 
59 59
 
60 60
   static void debug_echo_axis(const AxisEnum axis) {
@@ -68,7 +68,7 @@
68 68
 
69 69
     // if the title message starts with a '!' it is so important, we are going to
70 70
     // ignore the status of the g26_debug_flag
71
-    if (*title != '!' && !ubl.g26_debug_flag) return;
71
+    if (*title != '!' && !g26_debug_flag) return;
72 72
 
73 73
     const float de = destination[E_AXIS] - current_position[E_AXIS];
74 74
 

+ 12
- 8
Marlin/ultralcd.cpp View File

@@ -57,6 +57,10 @@
57 57
   extern void mesh_probing_done();
58 58
 #endif
59 59
 
60
+#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
61
+  bool lcd_external_control;
62
+#endif
63
+
60 64
 // Initialized by settings.load()
61 65
 int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2];
62 66
 
@@ -4603,8 +4607,8 @@ void lcd_update() {
4603 4607
 
4604 4608
     lcd_buttons_update();
4605 4609
 
4606
-    #if ENABLED(AUTO_BED_LEVELING_UBL)
4607
-      const bool UBL_CONDITION = !ubl.has_control_of_lcd_panel;
4610
+    #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
4611
+      const bool UBL_CONDITION = lcd_external_control;
4608 4612
     #else
4609 4613
       constexpr bool UBL_CONDITION = true;
4610 4614
     #endif
@@ -5071,7 +5075,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
5071 5075
         case encrot3: ENCODER_SPIN(encrot2, encrot0); break;
5072 5076
       }
5073 5077
       #if ENABLED(AUTO_BED_LEVELING_UBL)
5074
-        if (ubl.has_control_of_lcd_panel) {
5078
+        if (lcd_external_control) {
5075 5079
           ubl.encoder_diff = encoderDiff;   // Make the encoder's rotation available to G29's Mesh Editor
5076 5080
           encoderDiff = 0;                  // We are going to lie to the LCD Panel and claim the encoder
5077 5081
                                             // knob has not turned.
@@ -5087,18 +5091,18 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
5087 5091
     bool lcd_detected() { return true; }
5088 5092
   #endif
5089 5093
 
5090
-  #if ENABLED(AUTO_BED_LEVELING_UBL)
5091
-
5092
-    void chirp_at_user() {
5094
+  #if ENABLED(G26_MESH_VALIDATION)
5095
+    void lcd_chirp() {
5093 5096
       #if ENABLED(LCD_USE_I2C_BUZZER)
5094 5097
         lcd.buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
5095 5098
       #elif PIN_EXISTS(BEEPER)
5096 5099
         buzzer.tone(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
5097 5100
       #endif
5098 5101
     }
5102
+  #endif
5099 5103
 
5100
-    bool ubl_lcd_clicked() { return LCD_CLICKED; }
5101
-
5104
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
5105
+    bool is_lcd_clicked() { return LCD_CLICKED; }
5102 5106
   #endif
5103 5107
 
5104 5108
 #endif // ULTIPANEL

+ 11
- 0
Marlin/ultralcd.h View File

@@ -27,6 +27,13 @@
27 27
 
28 28
 #if ENABLED(ULTRA_LCD)
29 29
 
30
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
31
+    extern bool lcd_external_control;
32
+    #if ENABLED(G26_MESH_VALIDATION)
33
+      void lcd_chirp();
34
+    #endif
35
+  #endif
36
+
30 37
   #define BUTTON_EXISTS(BN) (defined(BTN_## BN) && BTN_## BN >= 0)
31 38
   #define BUTTON_PRESSED(BN) !READ(BTN_## BN)
32 39
 
@@ -167,6 +174,10 @@
167 174
     #define LCD_CLICKED false
168 175
   #endif
169 176
 
177
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
178
+    bool is_lcd_clicked();
179
+  #endif
180
+
170 181
   #if ENABLED(LCD_SET_PROGRESS_MANUALLY) && (ENABLED(LCD_PROGRESS_BAR) || ENABLED(DOGLCD))
171 182
     extern uint8_t progress_bar_percent;
172 183
   #endif

Loading…
Cancel
Save