Browse Source

Merge pull request #8535 from thinkyhead/bf2_more_mesh_G26

[2.0.x]  Adapt G26 to work for all meshes
Scott Lahteine 7 years ago
parent
commit
4d517d169a
No account linked to committer's email address
64 changed files with 1112 additions and 1004 deletions
  1. 3
    3
      .travis.yml
  2. 12
    8
      Marlin/Configuration.h
  3. 12
    8
      Marlin/src/config/default/Configuration.h
  4. 12
    8
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  5. 12
    8
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  6. 12
    8
      Marlin/src/config/examples/Anet/A6/Configuration.h
  7. 12
    8
      Marlin/src/config/examples/Anet/A8/Configuration.h
  8. 12
    8
      Marlin/src/config/examples/Azteeg/X5GT/Configuration.h
  9. 12
    8
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  10. 12
    8
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  11. 12
    8
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  12. 12
    8
      Marlin/src/config/examples/Cartesio/Configuration.h
  13. 12
    8
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  14. 12
    8
      Marlin/src/config/examples/Felix/Configuration.h
  15. 12
    8
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  16. 12
    8
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h
  17. 12
    8
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  18. 12
    8
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  19. 12
    8
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  20. 12
    8
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  21. 12
    8
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  22. 12
    8
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  23. 12
    8
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  24. 12
    8
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  25. 12
    8
      Marlin/src/config/examples/RigidBot/Configuration.h
  26. 12
    8
      Marlin/src/config/examples/SCARA/Configuration.h
  27. 12
    8
      Marlin/src/config/examples/STM32F10/Configuration.h
  28. 12
    8
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  29. 12
    8
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  30. 12
    8
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h
  31. 12
    8
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  32. 12
    8
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  33. 12
    8
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  34. 12
    8
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  35. 12
    8
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  36. 12
    8
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  37. 11
    8
      Marlin/src/config/examples/delta/generic/Configuration.h
  38. 11
    8
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  39. 11
    8
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  40. 11
    8
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  41. 12
    8
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  42. 12
    8
      Marlin/src/config/examples/makibox/Configuration.h
  43. 12
    8
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  44. 12
    8
      Marlin/src/config/examples/wt150/Configuration.h
  45. 3
    0
      Marlin/src/core/macros.h
  46. 13
    1
      Marlin/src/core/utility.h
  47. 4
    0
      Marlin/src/feature/bedlevel/bedlevel.cpp
  48. 29
    7
      Marlin/src/feature/bedlevel/bedlevel.h
  49. 0
    13
      Marlin/src/feature/bedlevel/ubl/ubl.cpp
  50. 2
    50
      Marlin/src/feature/bedlevel/ubl/ubl.h
  51. 27
    25
      Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
  52. 3
    4
      Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp
  53. 463
    482
      Marlin/src/gcode/bedlevel/G26.cpp
  54. 0
    11
      Marlin/src/gcode/bedlevel/G42.cpp
  55. 0
    36
      Marlin/src/gcode/bedlevel/ubl/G26.cpp
  56. 1
    1
      Marlin/src/gcode/bedlevel/ubl/M421.cpp
  57. 6
    6
      Marlin/src/gcode/bedlevel/ubl/M49.cpp
  58. 2
    2
      Marlin/src/gcode/gcode.cpp
  59. 3
    3
      Marlin/src/gcode/gcode.h
  60. 3
    4
      Marlin/src/inc/MarlinConfig.h
  61. 5
    3
      Marlin/src/inc/MarlinConfigPre.h
  62. 8
    2
      Marlin/src/inc/SanityCheck.h
  63. 11
    7
      Marlin/src/lcd/ultralcd.cpp
  64. 14
    0
      Marlin/src/lcd/ultralcd.h

+ 3
- 3
.travis.yml View File

72
   # Test a probeless build of AUTO_BED_LEVELING_UBL
72
   # Test a probeless build of AUTO_BED_LEVELING_UBL
73
   #
73
   #
74
   - restore_configs
74
   - restore_configs
75
-  - opt_enable AUTO_BED_LEVELING_UBL UBL_G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS G3D_PANEL
75
+  - opt_enable AUTO_BED_LEVELING_UBL G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT EEPROM_SETTINGS G3D_PANEL
76
   - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING
76
   - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING
77
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
77
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
78
   #
78
   #
101
   # Test MESH_BED_LEVELING feature, with LCD
101
   # Test MESH_BED_LEVELING feature, with LCD
102
   #
102
   #
103
   - restore_configs
103
   - restore_configs
104
-  - opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
104
+  - opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
105
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
105
   - build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
106
   #
106
   #
107
   # Test MINIRAMBO for PWM_MOTOR_CURRENT
107
   # Test MINIRAMBO for PWM_MOTOR_CURRENT
115
   #
115
   #
116
   - restore_configs
116
   - restore_configs
117
   - opt_set MOTHERBOARD BOARD_MINIRAMBO
117
   - opt_set MOTHERBOARD BOARD_MINIRAMBO
118
-  - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR LCD_BED_LEVELING ULTIMAKERCONTROLLER
118
+  - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER
119
   - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
119
   - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
120
   - opt_enable ULTIMAKERCONTROLLER SDSUPPORT
120
   - opt_enable ULTIMAKERCONTROLLER SDSUPPORT
121
   - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 USE_XMAX_PLUG
121
   - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 USE_XMAX_PLUG

+ 12
- 8
Marlin/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/default/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Anet/A6/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Anet/A8/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/BQ/Hephestos/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/BQ/WITBOX/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Cartesio/Configuration.h View File

885
   // at which point movement will be level to the machine's XY plane.
885
   // at which point movement will be level to the machine's XY plane.
886
   // The height can be set with M420 Z<height>
886
   // The height can be set with M420 Z<height>
887
   #define ENABLE_LEVELING_FADE_HEIGHT
887
   #define ENABLE_LEVELING_FADE_HEIGHT
888
+
889
+  /**
890
+   * Enable the G26 Mesh Validation Pattern tool.
891
+   */
892
+  //#define 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
 #endif
900
 #endif
889
 
901
 
890
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
902
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
951
   #define UBL_PROBE_PT_3_X 180
963
   #define UBL_PROBE_PT_3_X 180
952
   #define UBL_PROBE_PT_3_Y 20
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
-
962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
966
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
963
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
967
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
964
 
968
 

+ 12
- 8
Marlin/src/config/examples/Creality/CR-10/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Felix/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Felix/DUAL/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h View File

890
   // at which point movement will be level to the machine's XY plane.
890
   // at which point movement will be level to the machine's XY plane.
891
   // The height can be set with M420 Z<height>
891
   // The height can be set with M420 Z<height>
892
   #define ENABLE_LEVELING_FADE_HEIGHT
892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define 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
 #endif
905
 #endif
894
 
906
 
895
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
956
   #define UBL_PROBE_PT_3_X 180
968
   #define UBL_PROBE_PT_3_X 180
957
   #define UBL_PROBE_PT_3_Y 20
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
-
967
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
968
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
969
 
973
 

+ 12
- 8
Marlin/src/config/examples/Malyan/M150/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h View File

890
   // at which point movement will be level to the machine's XY plane.
890
   // at which point movement will be level to the machine's XY plane.
891
   // The height can be set with M420 Z<height>
891
   // The height can be set with M420 Z<height>
892
   #define ENABLE_LEVELING_FADE_HEIGHT
892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define 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
 #endif
905
 #endif
894
 
906
 
895
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
956
   #define UBL_PROBE_PT_3_X 180
968
   #define UBL_PROBE_PT_3_X 180
957
   #define UBL_PROBE_PT_3_Y 20
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
-
967
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
968
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
969
 
973
 

+ 12
- 8
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h View File

890
   // at which point movement will be level to the machine's XY plane.
890
   // at which point movement will be level to the machine's XY plane.
891
   // The height can be set with M420 Z<height>
891
   // The height can be set with M420 Z<height>
892
   #define ENABLE_LEVELING_FADE_HEIGHT
892
   #define ENABLE_LEVELING_FADE_HEIGHT
893
+
894
+  /**
895
+   * Enable the G26 Mesh Validation Pattern tool.
896
+   */
897
+  //#define 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
 #endif
905
 #endif
894
 
906
 
895
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
907
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
956
   #define UBL_PROBE_PT_3_X 180
968
   #define UBL_PROBE_PT_3_X 180
957
   #define UBL_PROBE_PT_3_Y 20
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
-
967
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
971
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
968
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
972
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
969
 
973
 

+ 12
- 8
Marlin/src/config/examples/Mks/Sbase/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/RigidBot/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/SCARA/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/STM32F10/Configuration.h View File

889
   // at which point movement will be level to the machine's XY plane.
889
   // at which point movement will be level to the machine's XY plane.
890
   // The height can be set with M420 Z<height>
890
   // The height can be set with M420 Z<height>
891
   #define ENABLE_LEVELING_FADE_HEIGHT
891
   #define ENABLE_LEVELING_FADE_HEIGHT
892
+
893
+  /**
894
+   * Enable the G26 Mesh Validation Pattern tool.
895
+   */
896
+  //#define 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
 #endif
904
 #endif
893
 
905
 
894
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
906
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
955
   #define UBL_PROBE_PT_3_X 180
967
   #define UBL_PROBE_PT_3_X 180
956
   #define UBL_PROBE_PT_3_Y 20
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
-
966
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
970
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
971
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968
 
972
 

+ 12
- 8
Marlin/src/config/examples/Sanguinololu/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/TinyBoy2/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Velleman/K8200/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Velleman/K8400/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/adafruit/ST7565/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h View File

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

+ 12
- 8
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h View File

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

+ 11
- 8
Marlin/src/config/examples/delta/generic/Configuration.h View File

1004
   // The height can be set with M420 Z<height>
1004
   // The height can be set with M420 Z<height>
1005
   //#define ENABLE_LEVELING_FADE_HEIGHT
1005
   //#define ENABLE_LEVELING_FADE_HEIGHT
1006
 
1006
 
1007
+  /**
1008
+   * Enable the G26 Mesh Validation Pattern tool.
1009
+   */
1010
+  //#define G26_MESH_VALIDATION
1011
+  #if ENABLED(G26_MESH_VALIDATION)
1012
+    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1013
+    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1014
+    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1015
+    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1016
+  #endif
1017
+
1007
   // Set the boundaries for probing (where the probe can reach).
1018
   // Set the boundaries for probing (where the probe can reach).
1008
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1019
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1009
 
1020
 
1075
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1086
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1076
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1087
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1077
 
1088
 
1078
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1079
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1080
-    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1081
-    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1082
-    #define MESH_TEST_HOTEND_TEMP  205.0  // (c)  Default nozzle temperature for the G26 Mesh Validation Tool.
1083
-    #define MESH_TEST_BED_TEMP      60.0  // (c)  Default bed temperature for the G26 Mesh Validation Tool.
1084
-  #endif
1085
-
1086
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1089
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1087
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1090
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1088
 
1091
 

+ 11
- 8
Marlin/src/config/examples/delta/kossel_mini/Configuration.h View File

1007
   // The height can be set with M420 Z<height>
1007
   // The height can be set with M420 Z<height>
1008
   //#define ENABLE_LEVELING_FADE_HEIGHT
1008
   //#define ENABLE_LEVELING_FADE_HEIGHT
1009
 
1009
 
1010
+  /**
1011
+   * Enable the G26 Mesh Validation Pattern tool.
1012
+   */
1013
+  //#define G26_MESH_VALIDATION
1014
+  #if ENABLED(G26_MESH_VALIDATION)
1015
+    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1016
+    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1017
+    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1018
+    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1019
+  #endif
1020
+
1010
   // Set the boundaries for probing (where the probe can reach).
1021
   // Set the boundaries for probing (where the probe can reach).
1011
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1022
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1012
 
1023
 
1078
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1089
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1079
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1090
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1080
 
1091
 
1081
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1082
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1083
-    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1084
-    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1085
-    #define MESH_TEST_HOTEND_TEMP  205.0  // (c)  Default nozzle temperature for the G26 Mesh Validation Tool.
1086
-    #define MESH_TEST_BED_TEMP      60.0  // (c)  Default bed temperature for the G26 Mesh Validation Tool.
1087
-  #endif
1088
-
1089
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1092
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1090
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1093
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1091
 
1094
 

+ 11
- 8
Marlin/src/config/examples/delta/kossel_pro/Configuration.h View File

1007
   // The height can be set with M420 Z<height>
1007
   // The height can be set with M420 Z<height>
1008
   //#define ENABLE_LEVELING_FADE_HEIGHT
1008
   //#define ENABLE_LEVELING_FADE_HEIGHT
1009
 
1009
 
1010
+  /**
1011
+   * Enable the G26 Mesh Validation Pattern tool.
1012
+   */
1013
+  //#define G26_MESH_VALIDATION
1014
+  #if ENABLED(G26_MESH_VALIDATION)
1015
+    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1016
+    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1017
+    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1018
+    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1019
+  #endif
1020
+
1010
   // Set the boundaries for probing (where the probe can reach).
1021
   // Set the boundaries for probing (where the probe can reach).
1011
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1022
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1012
 
1023
 
1078
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1089
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1079
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1090
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1080
 
1091
 
1081
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1082
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1083
-    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1084
-    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1085
-    #define MESH_TEST_HOTEND_TEMP  205.0  // (c)  Default nozzle temperature for the G26 Mesh Validation Tool.
1086
-    #define MESH_TEST_BED_TEMP      60.0  // (c)  Default bed temperature for the G26 Mesh Validation Tool.
1087
-  #endif
1088
-
1089
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1092
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1090
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1093
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1091
 
1094
 

+ 11
- 8
Marlin/src/config/examples/delta/kossel_xl/Configuration.h View File

1016
   // The height can be set with M420 Z<height>
1016
   // The height can be set with M420 Z<height>
1017
   //#define ENABLE_LEVELING_FADE_HEIGHT
1017
   //#define ENABLE_LEVELING_FADE_HEIGHT
1018
 
1018
 
1019
+  /**
1020
+   * Enable the G26 Mesh Validation Pattern tool.
1021
+   */
1022
+  //#define G26_MESH_VALIDATION
1023
+  #if ENABLED(G26_MESH_VALIDATION)
1024
+    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1025
+    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1026
+    #define MESH_TEST_HOTEND_TEMP  205.0  // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
1027
+    #define MESH_TEST_BED_TEMP      60.0  // (°C) Default bed temperature for the G26 Mesh Validation Tool.
1028
+  #endif
1029
+
1019
   // Set the boundaries for probing (where the probe can reach).
1030
   // Set the boundaries for probing (where the probe can reach).
1020
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1031
   #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10)
1021
 
1032
 
1087
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1098
   #define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
1088
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1099
   #define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
1089
 
1100
 
1090
-  #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
1091
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
1092
-    #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
1093
-    #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
1094
-    #define MESH_TEST_HOTEND_TEMP  205.0  // (c)  Default nozzle temperature for the G26 Mesh Validation Tool.
1095
-    #define MESH_TEST_BED_TEMP      60.0  // (c)  Default bed temperature for the G26 Mesh Validation Tool.
1096
-  #endif
1097
-
1098
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1101
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1099
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1102
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1100
 
1103
 

+ 12
- 8
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h View File

900
   // at which point movement will be level to the machine's XY plane.
900
   // at which point movement will be level to the machine's XY plane.
901
   // The height can be set with M420 Z<height>
901
   // The height can be set with M420 Z<height>
902
   #define ENABLE_LEVELING_FADE_HEIGHT
902
   #define ENABLE_LEVELING_FADE_HEIGHT
903
+
904
+  /**
905
+   * Enable the G26 Mesh Validation Pattern tool.
906
+   */
907
+  //#define 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
 #endif
915
 #endif
904
 
916
 
905
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
917
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
966
   #define UBL_PROBE_PT_3_X 348
978
   #define UBL_PROBE_PT_3_X 348
967
   #define UBL_PROBE_PT_3_Y 211
979
   #define UBL_PROBE_PT_3_Y 211
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
-
977
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
981
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
978
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
982
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
979
 
983
 

+ 12
- 8
Marlin/src/config/examples/makibox/Configuration.h View File

889
   // at which point movement will be level to the machine's XY plane.
889
   // at which point movement will be level to the machine's XY plane.
890
   // The height can be set with M420 Z<height>
890
   // The height can be set with M420 Z<height>
891
   #define ENABLE_LEVELING_FADE_HEIGHT
891
   #define ENABLE_LEVELING_FADE_HEIGHT
892
+
893
+  /**
894
+   * Enable the G26 Mesh Validation Pattern tool.
895
+   */
896
+  //#define 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
 #endif
904
 #endif
893
 
905
 
894
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
906
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
955
   #define UBL_PROBE_PT_3_X 180
967
   #define UBL_PROBE_PT_3_X 180
956
   #define UBL_PROBE_PT_3_Y 20
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
-
966
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
970
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
967
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
971
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
968
 
972
 

+ 12
- 8
Marlin/src/config/examples/tvrrug/Round2/Configuration.h View File

881
   // at which point movement will be level to the machine's XY plane.
881
   // at which point movement will be level to the machine's XY plane.
882
   // The height can be set with M420 Z<height>
882
   // The height can be set with M420 Z<height>
883
   #define ENABLE_LEVELING_FADE_HEIGHT
883
   #define ENABLE_LEVELING_FADE_HEIGHT
884
+
885
+  /**
886
+   * Enable the G26 Mesh Validation Pattern tool.
887
+   */
888
+  //#define 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
 #endif
896
 #endif
885
 
897
 
886
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
898
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
947
   #define UBL_PROBE_PT_3_X 180
959
   #define UBL_PROBE_PT_3_X 180
948
   #define UBL_PROBE_PT_3_Y 20
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
-
958
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
962
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
959
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
963
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
960
 
964
 

+ 12
- 8
Marlin/src/config/examples/wt150/Configuration.h View File

891
   // at which point movement will be level to the machine's XY plane.
891
   // at which point movement will be level to the machine's XY plane.
892
   // The height can be set with M420 Z<height>
892
   // The height can be set with M420 Z<height>
893
   #define ENABLE_LEVELING_FADE_HEIGHT
893
   #define ENABLE_LEVELING_FADE_HEIGHT
894
+
895
+  /**
896
+   * Enable the G26 Mesh Validation Pattern tool.
897
+   */
898
+  //#define 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
 #endif
906
 #endif
895
 
907
 
896
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
908
 #if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
957
   #define UBL_PROBE_PT_3_X 180
969
   #define UBL_PROBE_PT_3_X 180
958
   #define UBL_PROBE_PT_3_Y 20
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
-
968
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
972
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
969
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
973
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
970
 
974
 

+ 3
- 0
Marlin/src/core/macros.h View File

95
 #define STRINGIFY(M) STRINGIFY_(M)
95
 #define STRINGIFY(M) STRINGIFY_(M)
96
 
96
 
97
 // Macros for bit masks
97
 // Macros for bit masks
98
+#ifndef _BV
99
+  #define _BV(B) (1UL<<(B))
100
+#endif
98
 #define TEST(n,b) (((n)&_BV(b))!=0)
101
 #define TEST(n,b) (((n)&_BV(b))!=0)
99
 #define SBI(n,b) (n |= _BV(b))
102
 #define SBI(n,b) (n |= _BV(b))
100
 #define CBI(n,b) (n &= ~_BV(b))
103
 #define CBI(n,b) (n &= ~_BV(b))

+ 13
- 1
Marlin/src/core/utility.h View File

23
 #ifndef __UTILITY_H__
23
 #ifndef __UTILITY_H__
24
 #define __UTILITY_H__
24
 #define __UTILITY_H__
25
 
25
 
26
-#include "../inc/MarlinConfig.h"
26
+#include "../inc/MarlinConfigPre.h"
27
 
27
 
28
 constexpr char axis_codes[XYZE] = { 'X', 'Y', 'Z', 'E' };
28
 constexpr char axis_codes[XYZE] = { 'X', 'Y', 'Z', 'E' };
29
 
29
 
33
   void crc16(uint16_t *crc, const void * const data, uint16_t cnt);
33
   void crc16(uint16_t *crc, const void * const data, uint16_t cnt);
34
 #endif
34
 #endif
35
 
35
 
36
+#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
37
+  /**
38
+   * These support functions allow the use of large bit arrays of flags that take very
39
+   * little RAM. Currently they are limited to being 16x16 in size. Changing the declaration
40
+   * to unsigned long will allow us to go to 32x32 if higher resolution Mesh's are needed
41
+   * in the future.
42
+   */
43
+  FORCE_INLINE void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y)  { CBI(bits[y], x); }
44
+  FORCE_INLINE void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y)    { SBI(bits[y], x); }
45
+  FORCE_INLINE bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { return TEST(bits[y], x); }
46
+#endif
47
+
36
 #if ENABLED(ULTRA_LCD)
48
 #if ENABLED(ULTRA_LCD)
37
 
49
 
38
   // Convert uint8_t to string with 123 format
50
   // Convert uint8_t to string with 123 format

+ 4
- 0
Marlin/src/feature/bedlevel/bedlevel.cpp View File

41
   #endif
41
   #endif
42
 #endif
42
 #endif
43
 
43
 
44
+#if G26_MESH_VALIDATION
45
+  bool g26_debug_flag; // = false
46
+#endif
47
+
44
 bool leveling_is_valid() {
48
 bool leveling_is_valid() {
45
   return
49
   return
46
     #if ENABLED(MESH_BED_LEVELING)
50
     #if ENABLED(MESH_BED_LEVELING)

+ 29
- 7
Marlin/src/feature/bedlevel/bedlevel.h View File

23
 #ifndef __BEDLEVEL_H__
23
 #ifndef __BEDLEVEL_H__
24
 #define __BEDLEVEL_H__
24
 #define __BEDLEVEL_H__
25
 
25
 
26
-#include "../../inc/MarlinConfig.h"
26
+#include "../../inc/MarlinConfigPre.h"
27
 
27
 
28
-#if ENABLED(MESH_BED_LEVELING)
29
-  #include "mbl/mesh_bed_leveling.h"
30
-#elif ENABLED(AUTO_BED_LEVELING_UBL)
31
-  #include "ubl/ubl.h"
32
-#elif HAS_ABL
33
-  #include "abl/abl.h"
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
+
33
+#if ENABLED(G26_MESH_VALIDATION)
34
+  extern bool g26_debug_flag;
35
+#else
36
+  constexpr bool g26_debug_flag = false;
34
 #endif
37
 #endif
35
 
38
 
36
 #if ENABLED(PROBE_MANUALLY)
39
 #if ENABLED(PROBE_MANUALLY)
68
   void out_of_range_error(const char* p_edge);
71
   void out_of_range_error(const char* p_edge);
69
 #endif
72
 #endif
70
 
73
 
74
+#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
75
+  #define _GET_MESH_X(I) bilinear_start[X_AXIS] + I * bilinear_grid_spacing[X_AXIS]
76
+  #define _GET_MESH_Y(J) bilinear_start[Y_AXIS] + J * bilinear_grid_spacing[Y_AXIS]
77
+#elif ENABLED(AUTO_BED_LEVELING_UBL)
78
+  #define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
79
+  #define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
80
+#elif ENABLED(MESH_BED_LEVELING)
81
+  #define _GET_MESH_X(I) mbl.index_to_xpos[I]
82
+  #define _GET_MESH_Y(J) mbl.index_to_ypos[J]
83
+#endif
84
+
85
+#if ENABLED(MESH_BED_LEVELING)
86
+  #include "mbl/mesh_bed_leveling.h"
87
+#elif ENABLED(AUTO_BED_LEVELING_UBL)
88
+  #include "ubl/ubl.h"
89
+#elif HAS_ABL
90
+  #include "abl/abl.h"
91
+#endif
92
+
71
 #endif // __BEDLEVEL_H__
93
 #endif // __BEDLEVEL_H__

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

34
 
34
 
35
   #include "math.h"
35
   #include "math.h"
36
 
36
 
37
-  /**
38
-   * These support functions allow the use of large bit arrays of flags that take very
39
-   * little RAM. Currently they are limited to being 16x16 in size. Changing the declaration
40
-   * to unsigned long will allow us to go to 32x32 if higher resolution Mesh's are needed
41
-   * in the future.
42
-   */
43
-  void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y) { CBI(bits[y], x); }
44
-  void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { SBI(bits[y], x); }
45
-  bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y) { return TEST(bits[y], x); }
46
-
47
   uint8_t ubl_cnt = 0;
37
   uint8_t ubl_cnt = 0;
48
 
38
 
49
   void unified_bed_leveling::echo_name() { SERIAL_PROTOCOLPGM("Unified Bed Leveling"); }
39
   void unified_bed_leveling::echo_name() { SERIAL_PROTOCOLPGM("Unified Bed Leveling"); }
74
   constexpr float unified_bed_leveling::_mesh_index_to_xpos[16],
64
   constexpr float unified_bed_leveling::_mesh_index_to_xpos[16],
75
                   unified_bed_leveling::_mesh_index_to_ypos[16];
65
                   unified_bed_leveling::_mesh_index_to_ypos[16];
76
 
66
 
77
-  bool unified_bed_leveling::g26_debug_flag = false,
78
-       unified_bed_leveling::has_control_of_lcd_panel = false;
79
-
80
   #if ENABLED(ULTRA_LCD)
67
   #if ENABLED(ULTRA_LCD)
81
     bool unified_bed_leveling::lcd_map_control = false;
68
     bool unified_bed_leveling::lcd_map_control = false;
82
   #endif
69
   #endif

+ 2
- 50
Marlin/src/feature/bedlevel/ubl/ubl.h View File

23
 #ifndef UNIFIED_BED_LEVELING_H
23
 #ifndef UNIFIED_BED_LEVELING_H
24
 #define UNIFIED_BED_LEVELING_H
24
 #define UNIFIED_BED_LEVELING_H
25
 
25
 
26
-#include "../../../Marlin.h"
26
+#include "../bedlevel.h"
27
 #include "../../../module/planner.h"
27
 #include "../../../module/planner.h"
28
 #include "../../../module/motion.h"
28
 #include "../../../module/motion.h"
29
+#include "../../../Marlin.h"
29
 
30
 
30
 #define UBL_VERSION "1.01"
31
 #define UBL_VERSION "1.01"
31
 #define UBL_OK false
32
 #define UBL_OK false
34
 #define USE_NOZZLE_AS_REFERENCE 0
35
 #define USE_NOZZLE_AS_REFERENCE 0
35
 #define USE_PROBE_AS_REFERENCE 1
36
 #define USE_PROBE_AS_REFERENCE 1
36
 
37
 
37
-typedef struct {
38
-  int8_t x_index, y_index;
39
-  float distance; // When populated, the distance from the search location
40
-} mesh_index_pair;
41
-
42
-// ubl.cpp
43
-
44
-void bit_clear(uint16_t bits[16], const uint8_t x, const uint8_t y);
45
-void bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y);
46
-bool is_bit_set(uint16_t bits[16], const uint8_t x, const uint8_t y);
47
-
48
 // ubl_motion.cpp
38
 // ubl_motion.cpp
49
 
39
 
50
 void debug_current_and_destination(const char * const title);
40
 void debug_current_and_destination(const char * const title);
56
 // External references
46
 // External references
57
 
47
 
58
 char *ftostr43sign(const float&, char);
48
 char *ftostr43sign(const float&, char);
59
-bool ubl_lcd_clicked();
60
 
49
 
61
 extern uint8_t ubl_cnt;
50
 extern uint8_t ubl_cnt;
62
 
51
 
87
       static int  g29_grid_size;
76
       static int  g29_grid_size;
88
     #endif
77
     #endif
89
 
78
 
90
-    #if ENABLED(UBL_G26_MESH_VALIDATION)
91
-      static float   g26_extrusion_multiplier,
92
-                     g26_retraction_multiplier,
93
-                     g26_nozzle,
94
-                     g26_filament_diameter,
95
-                     g26_prime_length,
96
-                     g26_x_pos, g26_y_pos,
97
-                     g26_ooze_amount,
98
-                     g26_layer_height;
99
-      static int16_t g26_bed_temp,
100
-                     g26_hotend_temp,
101
-                     g26_repeats;
102
-      static int8_t  g26_prime_flag;
103
-      static bool    g26_continue_with_closest, g26_keep_heaters_on;
104
-    #endif
105
-
106
     static float measure_point_with_encoder();
79
     static float measure_point_with_encoder();
107
     static float measure_business_card_thickness(float);
80
     static float measure_business_card_thickness(float);
108
     static bool g29_parameter_parsing();
81
     static bool g29_parameter_parsing();
119
     static bool smart_fill_one(const uint8_t x, const uint8_t y, const int8_t xdir, const int8_t ydir);
92
     static bool smart_fill_one(const uint8_t x, const uint8_t y, const int8_t xdir, const int8_t ydir);
120
     static void smart_fill_mesh();
93
     static void smart_fill_mesh();
121
 
94
 
122
-    #if ENABLED(UBL_G26_MESH_VALIDATION)
123
-      static bool exit_from_g26();
124
-      static bool parse_G26_parameters();
125
-      static void G26_line_to_destination(const float &feed_rate);
126
-      static mesh_index_pair find_closest_circle_to_print(const float&, const float&);
127
-      static bool look_for_lines_to_connect();
128
-      static bool turn_on_heaters();
129
-      static bool prime_nozzle();
130
-      static void retract_filament(const float where[XYZE]);
131
-      static void recover_filament(const float where[XYZE]);
132
-      static void print_line_from_here_to_there(const float&, const float&, const float&, const float&, const float&, const float&);
133
-      static void move_to(const float&, const float&, const float&, const float&);
134
-      inline static void move_to(const float where[XYZE], const float &de) { move_to(where[X_AXIS], where[Y_AXIS], where[Z_AXIS], de); }
135
-    #endif
136
-
137
   public:
95
   public:
138
 
96
 
139
     static void echo_name();
97
     static void echo_name();
151
     static void G29() _O0;                          // O0 for no optimization
109
     static void G29() _O0;                          // O0 for no optimization
152
     static void smart_fill_wlsf(const float &) _O2; // O2 gives smaller code than Os on A2560
110
     static void smart_fill_wlsf(const float &) _O2; // O2 gives smaller code than Os on A2560
153
 
111
 
154
-    #if ENABLED(UBL_G26_MESH_VALIDATION)
155
-      static void G26();
156
-    #endif
157
-
158
     static int8_t storage_slot;
112
     static int8_t storage_slot;
159
 
113
 
160
     static float z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
114
     static float z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y];
183
                               MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST)
137
                               MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST)
184
                             };
138
                             };
185
 
139
 
186
-    static bool g26_debug_flag, has_control_of_lcd_panel;
187
-
188
     #if ENABLED(ULTRA_LCD)
140
     #if ENABLED(ULTRA_LCD)
189
       static bool lcd_map_control;
141
       static bool lcd_map_control;
190
     #endif
142
     #endif

+ 27
- 25
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp View File

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

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

23
 
23
 
24
 #if ENABLED(AUTO_BED_LEVELING_UBL)
24
 #if ENABLED(AUTO_BED_LEVELING_UBL)
25
 
25
 
26
-  #include "ubl.h"
27
-
28
-  #include "../../../Marlin.h"
26
+  #include "../bedlevel.h"
29
   #include "../../../module/planner.h"
27
   #include "../../../module/planner.h"
30
   #include "../../../module/stepper.h"
28
   #include "../../../module/stepper.h"
31
   #include "../../../module/motion.h"
29
   #include "../../../module/motion.h"
34
     #include "../../../module/delta.h"
32
     #include "../../../module/delta.h"
35
   #endif
33
   #endif
36
 
34
 
35
+  #include "../../../Marlin.h"
37
   #include <math.h>
36
   #include <math.h>
38
 
37
 
39
   extern float destination[XYZE];
38
   extern float destination[XYZE];
55
 
54
 
56
     // if the title message starts with a '!' it is so important, we are going to
55
     // if the title message starts with a '!' it is so important, we are going to
57
     // ignore the status of the g26_debug_flag
56
     // ignore the status of the g26_debug_flag
58
-    if (*title != '!' && !ubl.g26_debug_flag) return;
57
+    if (*title != '!' && !g26_debug_flag) return;
59
 
58
 
60
     const float de = destination[E_AXIS] - current_position[E_AXIS];
59
     const float de = destination[E_AXIS] - current_position[E_AXIS];
61
 
60
 

Marlin/src/gcode/bedlevel/G26.cpp
File diff suppressed because it is too large
View File


+ 0
- 11
Marlin/src/gcode/bedlevel/G42.cpp View File

44
       return;
44
       return;
45
     }
45
     }
46
 
46
 
47
-    #if ENABLED(AUTO_BED_LEVELING_BILINEAR)
48
-      #define _GET_MESH_X(I) bilinear_start[X_AXIS] + I * bilinear_grid_spacing[X_AXIS]
49
-      #define _GET_MESH_Y(J) bilinear_start[Y_AXIS] + J * bilinear_grid_spacing[Y_AXIS]
50
-    #elif ENABLED(AUTO_BED_LEVELING_UBL)
51
-      #define _GET_MESH_X(I) ubl.mesh_index_to_xpos(I)
52
-      #define _GET_MESH_Y(J) ubl.mesh_index_to_ypos(J)
53
-    #elif ENABLED(MESH_BED_LEVELING)
54
-      #define _GET_MESH_X(I) mbl.index_to_xpos[I]
55
-      #define _GET_MESH_Y(J) mbl.index_to_ypos[J]
56
-    #endif
57
-
58
     set_destination_from_current();
47
     set_destination_from_current();
59
     if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
48
     if (hasI) destination[X_AXIS] = _GET_MESH_X(ix);
60
     if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);
49
     if (hasJ) destination[Y_AXIS] = _GET_MESH_Y(iy);

+ 0
- 36
Marlin/src/gcode/bedlevel/ubl/G26.cpp View File

1
-/**
2
- * Marlin 3D Printer Firmware
3
- * Copyright (C) 2016 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
-/**
24
- * G26.cpp - Unified Bed Leveling
25
- */
26
-
27
-#include "../../../inc/MarlinConfig.h"
28
-
29
-#if ENABLED(UBL_G26_MESH_VALIDATION)
30
-
31
-#include "../../gcode.h"
32
-#include "../../../feature/bedlevel/ubl/ubl.h"
33
-
34
-void GcodeSuite::G26() { ubl.G26(); }
35
-
36
-#endif // UBL_G26_MESH_VALIDATION

+ 1
- 1
Marlin/src/gcode/bedlevel/ubl/M421.cpp View File

29
 #if ENABLED(AUTO_BED_LEVELING_UBL)
29
 #if ENABLED(AUTO_BED_LEVELING_UBL)
30
 
30
 
31
 #include "../../gcode.h"
31
 #include "../../gcode.h"
32
-#include "../../../feature/bedlevel/ubl/ubl.h"
32
+#include "../../../feature/bedlevel/bedlevel.h"
33
 
33
 
34
 /**
34
 /**
35
  * M421: Set a single Mesh Bed Leveling Z coordinate
35
  * M421: Set a single Mesh Bed Leveling Z coordinate

+ 6
- 6
Marlin/src/gcode/bedlevel/ubl/M49.cpp View File

21
  */
21
  */
22
 
22
 
23
 /**
23
 /**
24
- * M49.cpp - Unified Bed Leveling
24
+ * M49.cpp - Toggle the G26 debug flag
25
  */
25
  */
26
 
26
 
27
 #include "../../../inc/MarlinConfig.h"
27
 #include "../../../inc/MarlinConfig.h"
28
 
28
 
29
-#if ENABLED(UBL_G26_MESH_VALIDATION)
29
+#if ENABLED(G26_MESH_VALIDATION)
30
 
30
 
31
 #include "../../gcode.h"
31
 #include "../../gcode.h"
32
 #include "../../../feature/bedlevel/bedlevel.h"
32
 #include "../../../feature/bedlevel/bedlevel.h"
33
 
33
 
34
 void GcodeSuite::M49() {
34
 void GcodeSuite::M49() {
35
-  ubl.g26_debug_flag ^= true;
36
-  SERIAL_PROTOCOLPGM("UBL Debug Flag turned ");
37
-  serialprintPGM(ubl.g26_debug_flag ? PSTR("on.") : PSTR("off."));
35
+  g26_debug_flag ^= true;
36
+  SERIAL_PROTOCOLPGM("G26 Debug ");
37
+  serialprintPGM(g26_debug_flag ? PSTR("on.") : PSTR("off."));
38
 }
38
 }
39
 
39
 
40
-#endif // UBL_G26_MESH_VALIDATION
40
+#endif // G26_MESH_VALIDATION

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

207
           break;
207
           break;
208
       #endif // INCH_MODE_SUPPORT
208
       #endif // INCH_MODE_SUPPORT
209
 
209
 
210
-      #if ENABLED(UBL_G26_MESH_VALIDATION)
210
+      #if ENABLED(G26_MESH_VALIDATION)
211
         case 26: // G26: Mesh Validation Pattern generation
211
         case 26: // G26: Mesh Validation Pattern generation
212
           G26();
212
           G26();
213
           break;
213
           break;
342
         case 48: M48(); break;    // M48: Z probe repeatability test
342
         case 48: M48(); break;    // M48: Z probe repeatability test
343
       #endif
343
       #endif
344
 
344
 
345
-      #if ENABLED(UBL_G26_MESH_VALIDATION)
345
+      #if ENABLED(G26_MESH_VALIDATION)
346
         case 49: M49(); break;    // M49: Turn on or off G26 debug flag for verbose output
346
         case 49: M49(); break;    // M49: Turn on or off G26 debug flag for verbose output
347
       #endif
347
       #endif
348
 
348
 

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

55
  * G19  - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
55
  * G19  - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
56
  * G20  - Set input units to inches (Requires INCH_MODE_SUPPORT)
56
  * G20  - Set input units to inches (Requires INCH_MODE_SUPPORT)
57
  * G21  - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
57
  * G21  - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
58
- * G26  - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION)
58
+ * G26  - Mesh Validation Pattern (Requires G26_MESH_VALIDATION)
59
  * G27  - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
59
  * G27  - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
60
  * G28  - Home one or more axes
60
  * G28  - Home one or more axes
61
  * G29  - Start or continue the bed leveling probe procedure (Requires bed leveling)
61
  * G29  - Start or continue the bed leveling probe procedure (Requires bed leveling)
357
     static void G21();
357
     static void G21();
358
   #endif
358
   #endif
359
 
359
 
360
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
360
+  #if ENABLED(G26_MESH_VALIDATION)
361
     static void G26();
361
     static void G26();
362
   #endif
362
   #endif
363
 
363
 
453
     static void M48();
453
     static void M48();
454
   #endif
454
   #endif
455
 
455
 
456
-  #if ENABLED(UBL_G26_MESH_VALIDATION)
456
+  #if ENABLED(G26_MESH_VALIDATION)
457
     static void M49();
457
     static void M49();
458
   #endif
458
   #endif
459
 
459
 

+ 3
- 4
Marlin/src/inc/MarlinConfig.h View File

20
  *
20
  *
21
  */
21
  */
22
 
22
 
23
-#ifndef MARLIN_CONFIG_H
24
-#define MARLIN_CONFIG_H
23
+#ifndef _MARLIN_CONFIG_H_
24
+#define _MARLIN_CONFIG_H_
25
 
25
 
26
 #include "MarlinConfigPre.h"
26
 #include "MarlinConfigPre.h"
27
 
27
 
36
 // Include all core headers
36
 // Include all core headers
37
 #include "../core/enum.h"
37
 #include "../core/enum.h"
38
 #include "../core/language.h"
38
 #include "../core/language.h"
39
-#include "../core/types.h"
40
 #include "../core/utility.h"
39
 #include "../core/utility.h"
41
 #include "../core/serial.h"
40
 #include "../core/serial.h"
42
 
41
 
43
-#endif // MARLIN_CONFIG_H
42
+#endif // _MARLIN_CONFIG_H_

+ 5
- 3
Marlin/src/inc/MarlinConfigPre.h View File

20
  *
20
  *
21
  */
21
  */
22
 
22
 
23
-#ifndef MARLIN_CONFIGPRE_H
24
-#define MARLIN_CONFIGPRE_H
23
+#ifndef _MARLIN_CONFIGPRE_H_
24
+#define _MARLIN_CONFIGPRE_H_
25
 
25
 
26
 #include "../core/boards.h"
26
 #include "../core/boards.h"
27
 #include "../core/macros.h"
27
 #include "../core/macros.h"
31
 #include "../../Configuration_adv.h"
31
 #include "../../Configuration_adv.h"
32
 #include "Conditionals_adv.h"
32
 #include "Conditionals_adv.h"
33
 
33
 
34
-#endif // MARLIN_CONFIGPRE_H
34
+#include "../core/types.h"
35
+
36
+#endif // _MARLIN_CONFIGPRE_H_

+ 8
- 2
Marlin/src/inc/SanityCheck.h View File

183
   #error "MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
183
   #error "MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
184
 #elif defined(UBL_MESH_NUM_X_POINTS) || defined(UBL_MESH_NUM_Y_POINTS)
184
 #elif defined(UBL_MESH_NUM_X_POINTS) || defined(UBL_MESH_NUM_Y_POINTS)
185
   #error "UBL_MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
185
   #error "UBL_MESH_NUM_[XY]_POINTS is now GRID_MAX_POINTS_[XY]. Please update your configuration."
186
+#elif defined(UBL_G26_MESH_VALIDATION)
187
+  #error "UBL_G26_MESH_VALIDATION is now G26_MESH_VALIDATION. Please update your configuration."
186
 #elif defined(UBL_MESH_EDIT_ENABLED)
188
 #elif defined(UBL_MESH_EDIT_ENABLED)
187
-  #error "UBL_MESH_EDIT_ENABLED is now UBL_G26_MESH_VALIDATION. Please update your configuration."
189
+  #error "UBL_MESH_EDIT_ENABLED is now G26_MESH_VALIDATION. Please update your configuration."
188
 #elif defined(UBL_MESH_EDITING)
190
 #elif defined(UBL_MESH_EDITING)
189
-  #error "UBL_MESH_EDITING is now UBL_G26_MESH_VALIDATION. Please update your configuration."
191
+  #error "UBL_MESH_EDITING is now G26_MESH_VALIDATION. Please update your configuration."
190
 #elif defined(BLTOUCH_HEATERS_OFF)
192
 #elif defined(BLTOUCH_HEATERS_OFF)
191
   #error "BLTOUCH_HEATERS_OFF is now PROBING_HEATERS_OFF. Please update your configuration."
193
   #error "BLTOUCH_HEATERS_OFF is now PROBING_HEATERS_OFF. Please update your configuration."
192
 #elif defined(BEEPER)
194
 #elif defined(BEEPER)
826
 
828
 
827
 #endif
829
 #endif
828
 
830
 
831
+#if !HAS_MESH && ENABLED(G26_MESH_VALIDATION)
832
+  #error "G26_MESH_VALIDATION requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL."
833
+#endif
834
+
829
 /**
835
 /**
830
  * LCD_BED_LEVELING requirements
836
  * LCD_BED_LEVELING requirements
831
  */
837
  */

+ 11
- 7
Marlin/src/lcd/ultralcd.cpp View File

60
   #include "../libs/buzzer.h"
60
   #include "../libs/buzzer.h"
61
 #endif
61
 #endif
62
 
62
 
63
+#if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
64
+  bool lcd_external_control; // = false
65
+#endif
66
+
63
 // Initialized by settings.load()
67
 // Initialized by settings.load()
64
 int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2];
68
 int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2];
65
 
69
 
4599
 
4603
 
4600
     #if ENABLED(AUTO_BED_LEVELING_UBL)
4604
     #if ENABLED(AUTO_BED_LEVELING_UBL)
4601
       // Don't run the debouncer if UBL owns the display
4605
       // Don't run the debouncer if UBL owns the display
4602
-      #define UBL_CONDITION !ubl.has_control_of_lcd_panel
4606
+      #define UBL_CONDITION !lcd_external_control
4603
     #else
4607
     #else
4604
       #define UBL_CONDITION true
4608
       #define UBL_CONDITION true
4605
     #endif
4609
     #endif
5070
         case encrot3: ENCODER_SPIN(encrot2, encrot0); break;
5074
         case encrot3: ENCODER_SPIN(encrot2, encrot0); break;
5071
       }
5075
       }
5072
       #if ENABLED(AUTO_BED_LEVELING_UBL)
5076
       #if ENABLED(AUTO_BED_LEVELING_UBL)
5073
-        if (ubl.has_control_of_lcd_panel) {
5077
+        if (lcd_external_control) {
5074
           ubl.encoder_diff = encoderDiff;   // Make the encoder's rotation available to G29's Mesh Editor
5078
           ubl.encoder_diff = encoderDiff;   // Make the encoder's rotation available to G29's Mesh Editor
5075
           encoderDiff = 0;                  // We are going to lie to the LCD Panel and claim the encoder
5079
           encoderDiff = 0;                  // We are going to lie to the LCD Panel and claim the encoder
5076
                                             // knob has not turned.
5080
                                             // knob has not turned.
5086
     bool lcd_detected() { return true; }
5090
     bool lcd_detected() { return true; }
5087
   #endif
5091
   #endif
5088
 
5092
 
5089
-  #if ENABLED(AUTO_BED_LEVELING_UBL)
5090
-
5091
-    void chirp_at_user() {
5093
+  #if ENABLED(G26_MESH_VALIDATION)
5094
+    void lcd_chirp() {
5092
       lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
5095
       lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
5093
     }
5096
     }
5097
+  #endif
5094
 
5098
 
5095
-    bool ubl_lcd_clicked() { return LCD_CLICKED; }
5096
-
5099
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
5100
+    bool is_lcd_clicked() { return LCD_CLICKED; }
5097
   #endif
5101
   #endif
5098
 
5102
 
5099
 #endif // ULTIPANEL
5103
 #endif // ULTIPANEL

+ 14
- 0
Marlin/src/lcd/ultralcd.h View File

29
 
29
 
30
   #include "../Marlin.h"
30
   #include "../Marlin.h"
31
 
31
 
32
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
33
+    extern bool lcd_external_control;
34
+  #else
35
+    constexpr bool lcd_external_control = false;
36
+  #endif
37
+
32
   #define BUTTON_EXISTS(BN) (defined(BTN_## BN) && BTN_## BN >= 0)
38
   #define BUTTON_EXISTS(BN) (defined(BTN_## BN) && BTN_## BN >= 0)
33
   #define BUTTON_PRESSED(BN) !READ(BTN_## BN)
39
   #define BUTTON_PRESSED(BN) !READ(BTN_## BN)
34
 
40
 
123
       void lcd_advanced_pause_show_message(const AdvancedPauseMessage message);
129
       void lcd_advanced_pause_show_message(const AdvancedPauseMessage message);
124
     #endif
130
     #endif
125
 
131
 
132
+    #if ENABLED(G26_MESH_VALIDATION)
133
+      void lcd_chirp();
134
+    #endif
135
+
126
     #if ENABLED(AUTO_BED_LEVELING_UBL)
136
     #if ENABLED(AUTO_BED_LEVELING_UBL)
127
       void lcd_mesh_edit_setup(float initial);
137
       void lcd_mesh_edit_setup(float initial);
128
       float lcd_mesh_edit();
138
       float lcd_mesh_edit();
208
     #define LCD_CLICKED false
218
     #define LCD_CLICKED false
209
   #endif
219
   #endif
210
 
220
 
221
+  #if ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(G26_MESH_VALIDATION)
222
+    bool is_lcd_clicked();
223
+  #endif
224
+
211
 #else // no LCD
225
 #else // no LCD
212
 
226
 
213
   inline void lcd_update() {}
227
   inline void lcd_update() {}

Loading…
Cancel
Save