Browse Source

Allow user to control Z-Height correction for off mesh movements (#9661)

Roxy-3D 6 years ago
parent
commit
21e60fd3ed
No account linked to committer's email address
56 changed files with 198 additions and 5 deletions
  1. 2
    0
      Marlin/Configuration.h
  2. 3
    0
      Marlin/src/config/default/Configuration.h
  3. 3
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  4. 3
    0
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  5. 3
    0
      Marlin/src/config/examples/Anet/A6/Configuration.h
  6. 3
    0
      Marlin/src/config/examples/Anet/A8/Configuration.h
  7. 3
    0
      Marlin/src/config/examples/Azteeg/X5GT/Configuration.h
  8. 3
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h
  9. 3
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h
  10. 3
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  11. 3
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  12. 3
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  13. 3
    0
      Marlin/src/config/examples/Cartesio/Configuration.h
  14. 3
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  15. 3
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration.h
  16. 3
    0
      Marlin/src/config/examples/Felix/Configuration.h
  17. 3
    0
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  18. 3
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h
  19. 3
    0
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  20. 3
    0
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  21. 3
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  22. 3
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration.h
  23. 3
    0
      Marlin/src/config/examples/MakerParts/Configuration.h
  24. 3
    0
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  25. 3
    0
      Marlin/src/config/examples/Malyan/M200/Configuration.h
  26. 3
    0
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  27. 3
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  28. 3
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  29. 3
    0
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  30. 3
    0
      Marlin/src/config/examples/RigidBot/Configuration.h
  31. 3
    0
      Marlin/src/config/examples/SCARA/Configuration.h
  32. 3
    0
      Marlin/src/config/examples/STM32F10/Configuration.h
  33. 3
    0
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  34. 3
    0
      Marlin/src/config/examples/TheBorg/Configuration.h
  35. 3
    0
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  36. 3
    0
      Marlin/src/config/examples/Tronxy/X1/Configuration.h
  37. 3
    0
      Marlin/src/config/examples/Tronxy/X5S/Configuration.h
  38. 3
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h
  39. 3
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  40. 3
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  41. 3
    0
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  42. 3
    0
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  43. 3
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  44. 3
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h
  45. 3
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  46. 3
    0
      Marlin/src/config/examples/delta/generic/Configuration.h
  47. 3
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  48. 3
    0
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  49. 3
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  50. 3
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  51. 3
    0
      Marlin/src/config/examples/makibox/Configuration.h
  52. 3
    0
      Marlin/src/config/examples/stm32f103ret6/Configuration.h
  53. 3
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  54. 3
    0
      Marlin/src/config/examples/wt150/Configuration.h
  55. 29
    2
      Marlin/src/feature/bedlevel/ubl/ubl.h
  56. 8
    3
      Marlin/src/feature/bedlevel/ubl/ubl_motion.cpp

+ 2
- 0
Marlin/Configuration.h View File

@@ -999,6 +999,8 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1002 1004
 #elif ENABLED(MESH_BED_LEVELING)
1003 1005
 
1004 1006
   //===========================================================================

+ 3
- 0
Marlin/src/config/default/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h View File

@@ -1019,6 +1019,9 @@
1019 1019
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1020 1020
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1021 1021
 
1022
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1023
+                                          // as the Z-Height correction value.
1024
+
1022 1025
 #elif ENABLED(MESH_BED_LEVELING)
1023 1026
 
1024 1027
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Anet/A6/Configuration.h View File

@@ -1133,6 +1133,9 @@
1133 1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134 1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1135 1135
 
1136
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1137
+                                          // as the Z-Height correction value.
1138
+
1136 1139
 #elif ENABLED(MESH_BED_LEVELING)
1137 1140
 
1138 1141
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Anet/A8/Configuration.h View File

@@ -1006,6 +1006,9 @@
1006 1006
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1007 1007
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1008 1008
 
1009
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1010
+                                          // as the Z-Height correction value.
1011
+
1009 1012
 #elif ENABLED(MESH_BED_LEVELING)
1010 1013
 
1011 1014
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h View File

@@ -999,6 +999,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h View File

@@ -999,6 +999,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration.h View File

@@ -987,6 +987,9 @@
987 987
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
988 988
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
989 989
 
990
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
991
+                                          // as the Z-Height correction value.
992
+
990 993
 #elif ENABLED(MESH_BED_LEVELING)
991 994
 
992 995
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h View File

@@ -1000,6 +1000,9 @@
1000 1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1001 1001
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1002 1002
 
1003
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1004
+                                          // as the Z-Height correction value.
1005
+
1003 1006
 #elif ENABLED(MESH_BED_LEVELING)
1004 1007
 
1005 1008
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration.h View File

@@ -987,6 +987,9 @@
987 987
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
988 988
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
989 989
 
990
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
991
+                                          // as the Z-Height correction value.
992
+
990 993
 #elif ENABLED(MESH_BED_LEVELING)
991 994
 
992 995
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Cartesio/Configuration.h View File

@@ -998,6 +998,9 @@
998 998
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999 999
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1000 1000
 
1001
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1002
+                                          // as the Z-Height correction value.
1003
+
1001 1004
 #elif ENABLED(MESH_BED_LEVELING)
1002 1005
 
1003 1006
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration.h View File

@@ -1002,6 +1002,9 @@
1002 1002
   #define UBL_PROBE_PT_1_X 39       // Probing points for 3-Point leveling of the mesh
1003 1003
   #define UBL_PROBE_PT_1_Y 180
1004 1004
   #define UBL_PROBE_PT_2_X 39
1005
+
1006
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1007
+                                          // as the Z-Height correction value.
1005 1008
   #define UBL_PROBE_PT_2_Y 20
1006 1009
   #define UBL_PROBE_PT_3_X 180
1007 1010
   #define UBL_PROBE_PT_3_Y 20

+ 3
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration.h View File

@@ -991,6 +991,9 @@
991 991
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
992 992
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
993 993
 
994
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
995
+                                          // as the Z-Height correction value.
996
+
994 997
 #elif ENABLED(MESH_BED_LEVELING)
995 998
 
996 999
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Felix/Configuration.h View File

@@ -981,6 +981,9 @@
981 981
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
982 982
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
983 983
 
984
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
985
+                                          // as the Z-Height correction value.
986
+
984 987
 #elif ENABLED(MESH_BED_LEVELING)
985 988
 
986 989
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Felix/DUAL/Configuration.h View File

@@ -981,6 +981,9 @@
981 981
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
982 982
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
983 983
 
984
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
985
+                                          // as the Z-Height correction value.
986
+
984 987
 #elif ENABLED(MESH_BED_LEVELING)
985 988
 
986 989
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h View File

@@ -1005,6 +1005,9 @@
1005 1005
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1006 1006
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1007 1007
 
1008
+  #define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1009
+                                        // as the Z-Height correction value.
1010
+
1008 1011
 #elif ENABLED(MESH_BED_LEVELING)
1009 1012
 
1010 1013
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h View File

@@ -1014,6 +1014,9 @@
1014 1014
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1015 1015
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1016 1016
 
1017
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1018
+                                          // as the Z-Height correction value.
1019
+
1017 1020
 #elif ENABLED(MESH_BED_LEVELING)
1018 1021
 
1019 1022
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h View File

@@ -1003,6 +1003,9 @@
1003 1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004 1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1005 1005
 
1006
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1007
+                                          // as the Z-Height correction value.
1008
+
1006 1009
 #elif ENABLED(MESH_BED_LEVELING)
1007 1010
 
1008 1011
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration.h View File

@@ -1011,6 +1011,9 @@
1011 1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1012 1012
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1013 1013
 
1014
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1015
+                                          // as the Z-Height correction value.
1016
+
1014 1017
 #elif ENABLED(MESH_BED_LEVELING)
1015 1018
 
1016 1019
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/MakerParts/Configuration.h View File

@@ -1019,6 +1019,9 @@
1019 1019
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1020 1020
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1021 1021
 
1022
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1023
+                                          // as the Z-Height correction value.
1024
+
1022 1025
 #elif ENABLED(MESH_BED_LEVELING)
1023 1026
 
1024 1027
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Malyan/M150/Configuration.h View File

@@ -1027,6 +1027,9 @@
1027 1027
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1028 1028
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1029 1029
 
1030
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1031
+                                          // as the Z-Height correction value.
1032
+
1030 1033
 #elif ENABLED(MESH_BED_LEVELING)
1031 1034
 
1032 1035
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Malyan/M200/Configuration.h View File

@@ -998,6 +998,9 @@
998 998
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999 999
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1000 1000
 
1001
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1002
+                                          // as the Z-Height correction value.
1003
+
1001 1004
 #elif ENABLED(MESH_BED_LEVELING)
1002 1005
 
1003 1006
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h View File

@@ -1003,6 +1003,9 @@
1003 1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004 1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1005 1005
 
1006
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1007
+                                          // as the Z-Height correction value.
1008
+
1006 1009
 #elif ENABLED(MESH_BED_LEVELING)
1007 1010
 
1008 1011
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h View File

@@ -1003,6 +1003,9 @@
1003 1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004 1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1005 1005
 
1006
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1007
+                                          // as the Z-Height correction value.
1008
+
1006 1009
 #elif ENABLED(MESH_BED_LEVELING)
1007 1010
 
1008 1011
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/RigidBot/Configuration.h View File

@@ -997,6 +997,9 @@
997 997
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
998 998
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
999 999
 
1000
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1001
+                                          // as the Z-Height correction value.
1002
+
1000 1003
 #elif ENABLED(MESH_BED_LEVELING)
1001 1004
 
1002 1005
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/SCARA/Configuration.h View File

@@ -1011,6 +1011,9 @@
1011 1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1012 1012
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1013 1013
 
1014
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1015
+                                          // as the Z-Height correction value.
1016
+
1014 1017
 #elif ENABLED(MESH_BED_LEVELING)
1015 1018
 
1016 1019
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/STM32F10/Configuration.h View File

@@ -1002,6 +1002,9 @@
1002 1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003 1003
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1004 1004
 
1005
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1006
+                                          // as the Z-Height correction value.
1007
+
1005 1008
 #elif ENABLED(MESH_BED_LEVELING)
1006 1009
 
1007 1010
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Sanguinololu/Configuration.h View File

@@ -1030,6 +1030,9 @@
1030 1030
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1031 1031
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1032 1032
 
1033
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1034
+                                          // as the Z-Height correction value.
1035
+
1033 1036
 #elif ENABLED(MESH_BED_LEVELING)
1034 1037
 
1035 1038
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/TheBorg/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/TinyBoy2/Configuration.h View File

@@ -1055,6 +1055,9 @@
1055 1055
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1056 1056
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1057 1057
 
1058
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1059
+                                          // as the Z-Height correction value.
1060
+
1058 1061
 #elif ENABLED(MESH_BED_LEVELING)
1059 1062
 
1060 1063
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Tronxy/X1/Configuration.h View File

@@ -990,6 +990,9 @@
990 990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
991 991
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
992 992
 
993
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
994
+                                          // as the Z-Height correction value.
995
+
993 996
 #elif ENABLED(MESH_BED_LEVELING)
994 997
 
995 998
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Tronxy/X5S/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h View File

@@ -990,6 +990,9 @@
990 990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
991 991
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
992 992
 
993
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
994
+                                          // as the Z-Height correction value.
995
+
993 996
 #elif ENABLED(MESH_BED_LEVELING)
994 997
 
995 998
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration.h View File

@@ -1029,6 +1029,9 @@
1029 1029
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1030 1030
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1031 1031
 
1032
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1033
+                                          // as the Z-Height correction value.
1034
+
1032 1035
 #elif ENABLED(MESH_BED_LEVELING)
1033 1036
 
1034 1037
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

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

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/adafruit/ST7565/Configuration.h View File

@@ -999,6 +999,9 @@
999 999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000 1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1001 1001
 
1002
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1003
+                                          // as the Z-Height correction value.
1004
+
1002 1005
 #elif ENABLED(MESH_BED_LEVELING)
1003 1006
 
1004 1007
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -1133,6 +1133,9 @@
1133 1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134 1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1135 1135
 
1136
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1137
+                                          // as the Z-Height correction value.
1138
+
1136 1139
 #elif ENABLED(MESH_BED_LEVELING)
1137 1140
 
1138 1141
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h View File

@@ -1124,6 +1124,9 @@
1124 1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125 1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1126 1126
 
1127
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1128
+                                          // as the Z-Height correction value.
1129
+
1127 1130
 #elif ENABLED(MESH_BED_LEVELING)
1128 1131
 
1129 1132
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -1132,6 +1132,9 @@
1132 1132
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1133 1133
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1134 1134
 
1135
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1136
+                                          // as the Z-Height correction value.
1137
+
1135 1138
 #elif ENABLED(MESH_BED_LEVELING)
1136 1139
 
1137 1140
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/generic/Configuration.h View File

@@ -1121,6 +1121,9 @@
1121 1121
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1122 1122
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1123 1123
 
1124
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1125
+                                          // as the Z-Height correction value.
1126
+
1124 1127
 #elif ENABLED(MESH_BED_LEVELING)
1125 1128
 
1126 1129
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration.h View File

@@ -1124,6 +1124,9 @@
1124 1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125 1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1126 1126
 
1127
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1128
+                                          // as the Z-Height correction value.
1129
+
1127 1130
 #elif ENABLED(MESH_BED_LEVELING)
1128 1131
 
1129 1132
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/kossel_pro/Configuration.h View File

@@ -1124,6 +1124,9 @@
1124 1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125 1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1126 1126
 
1127
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1128
+                                          // as the Z-Height correction value.
1129
+
1127 1130
 #elif ENABLED(MESH_BED_LEVELING)
1128 1131
 
1129 1132
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration.h View File

@@ -1133,6 +1133,9 @@
1133 1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134 1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1135 1135
 
1136
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1137
+                                          // as the Z-Height correction value.
1138
+
1136 1139
 #elif ENABLED(MESH_BED_LEVELING)
1137 1140
 
1138 1141
   //===========================================================================

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

@@ -1013,6 +1013,9 @@
1013 1013
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1014 1014
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1015 1015
 
1016
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1017
+                                          // as the Z-Height correction value.
1018
+
1016 1019
 #elif ENABLED(MESH_BED_LEVELING)
1017 1020
 
1018 1021
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/makibox/Configuration.h View File

@@ -1002,6 +1002,9 @@
1002 1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003 1003
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1004 1004
 
1005
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1006
+                                          // as the Z-Height correction value.
1007
+
1005 1008
 #elif ENABLED(MESH_BED_LEVELING)
1006 1009
 
1007 1010
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/stm32f103ret6/Configuration.h View File

@@ -1000,6 +1000,9 @@
1000 1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1001 1001
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1002 1002
 
1003
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1004
+                                          // as the Z-Height correction value.
1005
+
1003 1006
 #elif ENABLED(MESH_BED_LEVELING)
1004 1007
 
1005 1008
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration.h View File

@@ -994,6 +994,9 @@
994 994
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
995 995
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
996 996
 
997
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
998
+                                          // as the Z-Height correction value.
999
+
997 1000
 #elif ENABLED(MESH_BED_LEVELING)
998 1001
 
999 1002
   //===========================================================================

+ 3
- 0
Marlin/src/config/examples/wt150/Configuration.h View File

@@ -1004,6 +1004,9 @@
1004 1004
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1005 1005
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
1006 1006
 
1007
+  //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
1008
+                                          // as the Z-Height correction value.
1009
+
1007 1010
 #elif ENABLED(MESH_BED_LEVELING)
1008 1011
 
1009 1012
   //===========================================================================

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

@@ -223,7 +223,16 @@ class unified_bed_leveling {
223 223
             SERIAL_EOL();
224 224
           }
225 225
         #endif
226
-        return NAN;
226
+
227
+        /**
228
+         * The requested location is off the mesh.  Check if UBL_Z_RAISE_WHEN_OFF_MESH
229
+         * is specified. If so, that value is returned.
230
+         */
231
+        #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH)
232
+          return UBL_Z_RAISE_WHEN_OFF_MESH;
233
+        #else
234
+          return NAN;
235
+        #endif
227 236
       }
228 237
 
229 238
       const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)),
@@ -249,7 +258,16 @@ class unified_bed_leveling {
249 258
             SERIAL_EOL();
250 259
           }
251 260
         #endif
252
-        return NAN;
261
+
262
+        /**
263
+         * The requested location is off the mesh.  Check if UBL_Z_RAISE_WHEN_OFF_MESH
264
+         * is specified. If so, that value is returned.
265
+         */
266
+        #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH)
267
+          return UBL_Z_RAISE_WHEN_OFF_MESH;
268
+        #else
269
+          return NAN;
270
+        #endif
253 271
       }
254 272
 
255 273
       const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)),
@@ -270,6 +288,15 @@ class unified_bed_leveling {
270 288
       const int8_t cx = get_cell_index_x(rx0),
271 289
                    cy = get_cell_index_y(ry0); // return values are clamped
272 290
 
291
+      /**
292
+       * Check if the requested location is off the mesh.  If so, and
293
+       * UBL_Z_RAISE_WHEN_OFF_MESH is specified, that value is returned.
294
+       */
295
+      #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH)
296
+        if (!WITHIN(rx0, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(ry0, 0, GRID_MAX_POINTS_Y - 1))
297
+          return UBL_Z_RAISE_WHEN_OFF_MESHH;
298
+      #endif
299
+
273 300
       const float z1 = calc_z0(rx0,
274 301
                                mesh_index_to_xpos(cx), z_values[cx][cy],
275 302
                                mesh_index_to_xpos(cx + 1), z_values[min(cx, GRID_MAX_POINTS_X - 2) + 1][cy]);

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

@@ -86,9 +86,14 @@
86 86
       if (!WITHIN(cell_dest_xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(cell_dest_yi, 0, GRID_MAX_POINTS_Y - 1)) {
87 87
 
88 88
         // Note: There is no Z Correction in this case. We are off the grid and don't know what
89
-        // a reasonable correction would be.
90
-
91
-        planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS], end[E_AXIS], feed_rate, extruder);
89
+        // a reasonable correction would be.  If the user has specified a UBL_Z_RAISE_WHEN_OFF_MESH 
90
+        // value, that will be used instead of a calculated (Bi-Linear interpolation) correction.
91
+
92
+        float z_raise = 0.0;
93
+        #if ENABLED(UBL_Z_RAISE_WHEN_OFF_MESH)
94
+          z_raise = UBL_Z_RAISE_WHEN_OFF_MESH;
95
+        #endif
96
+        planner.buffer_segment(end[X_AXIS], end[Y_AXIS], end[Z_AXIS] + z_raise, end[E_AXIS], feed_rate, extruder);
92 97
         set_current_from_destination();
93 98
 
94 99
         if (g26_debug_flag)

Loading…
Cancel
Save