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
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1004
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1005
 
1004
   //===========================================================================
1006
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

1019
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1019
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1025
 #elif ENABLED(MESH_BED_LEVELING)
1023
 
1026
 
1024
   //===========================================================================
1027
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1139
 #elif ENABLED(MESH_BED_LEVELING)
1137
 
1140
 
1138
   //===========================================================================
1141
   //===========================================================================

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

1006
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1006
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1007
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1012
 #elif ENABLED(MESH_BED_LEVELING)
1010
 
1013
 
1011
   //===========================================================================
1014
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

987
   #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
988
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
993
 #elif ENABLED(MESH_BED_LEVELING)
991
 
994
 
992
   //===========================================================================
995
   //===========================================================================

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

1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1001
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1006
 #elif ENABLED(MESH_BED_LEVELING)
1004
 
1007
 
1005
   //===========================================================================
1008
   //===========================================================================

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

987
   #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
988
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
993
 #elif ENABLED(MESH_BED_LEVELING)
991
 
994
 
992
   //===========================================================================
995
   //===========================================================================

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

998
   #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
999
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1004
 #elif ENABLED(MESH_BED_LEVELING)
1002
 
1005
 
1003
   //===========================================================================
1006
   //===========================================================================

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

1002
   #define UBL_PROBE_PT_1_X 39       // Probing points for 3-Point leveling of the mesh
1002
   #define UBL_PROBE_PT_1_X 39       // Probing points for 3-Point leveling of the mesh
1003
   #define UBL_PROBE_PT_1_Y 180
1003
   #define UBL_PROBE_PT_1_Y 180
1004
   #define UBL_PROBE_PT_2_X 39
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
   #define UBL_PROBE_PT_2_Y 20
1008
   #define UBL_PROBE_PT_2_Y 20
1006
   #define UBL_PROBE_PT_3_X 180
1009
   #define UBL_PROBE_PT_3_X 180
1007
   #define UBL_PROBE_PT_3_Y 20
1010
   #define UBL_PROBE_PT_3_Y 20

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

991
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
991
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
997
 #elif ENABLED(MESH_BED_LEVELING)
995
 
998
 
996
   //===========================================================================
999
   //===========================================================================

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

981
   #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
982
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
987
 #elif ENABLED(MESH_BED_LEVELING)
985
 
988
 
986
   //===========================================================================
989
   //===========================================================================

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

981
   #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
982
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
987
 #elif ENABLED(MESH_BED_LEVELING)
985
 
988
 
986
   //===========================================================================
989
   //===========================================================================

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

1005
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1005
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1006
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1011
 #elif ENABLED(MESH_BED_LEVELING)
1009
 
1012
 
1010
   //===========================================================================
1013
   //===========================================================================

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

1014
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1014
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1015
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
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
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1009
 #elif ENABLED(MESH_BED_LEVELING)
1007
 
1010
 
1008
   //===========================================================================
1011
   //===========================================================================

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

1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1012
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1017
 #elif ENABLED(MESH_BED_LEVELING)
1015
 
1018
 
1016
   //===========================================================================
1019
   //===========================================================================

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

1019
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1019
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1025
 #elif ENABLED(MESH_BED_LEVELING)
1023
 
1026
 
1024
   //===========================================================================
1027
   //===========================================================================

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

1027
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1027
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1028
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1033
 #elif ENABLED(MESH_BED_LEVELING)
1031
 
1034
 
1032
   //===========================================================================
1035
   //===========================================================================

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

998
   #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
999
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1004
 #elif ENABLED(MESH_BED_LEVELING)
1002
 
1005
 
1003
   //===========================================================================
1006
   //===========================================================================

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

1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1009
 #elif ENABLED(MESH_BED_LEVELING)
1007
 
1010
 
1008
   //===========================================================================
1011
   //===========================================================================

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

1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1009
 #elif ENABLED(MESH_BED_LEVELING)
1007
 
1010
 
1008
   //===========================================================================
1011
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

997
   #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
998
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1003
 #elif ENABLED(MESH_BED_LEVELING)
1001
 
1004
 
1002
   //===========================================================================
1005
   //===========================================================================

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

1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1011
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1012
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1017
 #elif ENABLED(MESH_BED_LEVELING)
1015
 
1018
 
1016
   //===========================================================================
1019
   //===========================================================================

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

1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1008
 #elif ENABLED(MESH_BED_LEVELING)
1006
 
1009
 
1007
   //===========================================================================
1010
   //===========================================================================

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

1030
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1030
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1031
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1036
 #elif ENABLED(MESH_BED_LEVELING)
1034
 
1037
 
1035
   //===========================================================================
1038
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

1055
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1055
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1056
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1061
 #elif ENABLED(MESH_BED_LEVELING)
1059
 
1062
 
1060
   //===========================================================================
1063
   //===========================================================================

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

990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
991
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
996
 #elif ENABLED(MESH_BED_LEVELING)
994
 
997
 
995
   //===========================================================================
998
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
990
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
991
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
996
 #elif ENABLED(MESH_BED_LEVELING)
994
 
997
 
995
   //===========================================================================
998
   //===========================================================================

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

1029
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1029
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1030
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1035
 #elif ENABLED(MESH_BED_LEVELING)
1033
 
1036
 
1034
   //===========================================================================
1037
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
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
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1005
 #elif ENABLED(MESH_BED_LEVELING)
1003
 
1006
 
1004
   //===========================================================================
1007
   //===========================================================================

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

999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
999
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
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
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1139
 #elif ENABLED(MESH_BED_LEVELING)
1137
 
1140
 
1138
   //===========================================================================
1141
   //===========================================================================

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

1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
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
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1132
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1133
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1138
 #elif ENABLED(MESH_BED_LEVELING)
1136
 
1139
 
1137
   //===========================================================================
1140
   //===========================================================================

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

1121
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1121
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1122
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1127
 #elif ENABLED(MESH_BED_LEVELING)
1125
 
1128
 
1126
   //===========================================================================
1129
   //===========================================================================

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

1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1130
 #elif ENABLED(MESH_BED_LEVELING)
1128
 
1131
 
1129
   //===========================================================================
1132
   //===========================================================================

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

1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1124
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1125
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1130
 #elif ENABLED(MESH_BED_LEVELING)
1128
 
1131
 
1129
   //===========================================================================
1132
   //===========================================================================

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

1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1133
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1134
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1139
 #elif ENABLED(MESH_BED_LEVELING)
1137
 
1140
 
1138
   //===========================================================================
1141
   //===========================================================================

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

1013
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1013
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1014
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1019
 #elif ENABLED(MESH_BED_LEVELING)
1017
 
1020
 
1018
   //===========================================================================
1021
   //===========================================================================

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

1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1002
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1003
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1008
 #elif ENABLED(MESH_BED_LEVELING)
1006
 
1009
 
1007
   //===========================================================================
1010
   //===========================================================================

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

1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1000
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1001
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1006
 #elif ENABLED(MESH_BED_LEVELING)
1004
 
1007
 
1005
   //===========================================================================
1008
   //===========================================================================

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

994
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
994
   #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
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
 #elif ENABLED(MESH_BED_LEVELING)
1000
 #elif ENABLED(MESH_BED_LEVELING)
998
 
1001
 
999
   //===========================================================================
1002
   //===========================================================================

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

1004
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1004
   #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
1005
   #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
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
 #elif ENABLED(MESH_BED_LEVELING)
1010
 #elif ENABLED(MESH_BED_LEVELING)
1008
 
1011
 
1009
   //===========================================================================
1012
   //===========================================================================

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

223
             SERIAL_EOL();
223
             SERIAL_EOL();
224
           }
224
           }
225
         #endif
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
       const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)),
238
       const float xratio = (rx0 - mesh_index_to_xpos(x1_i)) * (1.0 / (MESH_X_DIST)),
249
             SERIAL_EOL();
258
             SERIAL_EOL();
250
           }
259
           }
251
         #endif
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
       const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)),
273
       const float yratio = (ry0 - mesh_index_to_ypos(y1_i)) * (1.0 / (MESH_Y_DIST)),
270
       const int8_t cx = get_cell_index_x(rx0),
288
       const int8_t cx = get_cell_index_x(rx0),
271
                    cy = get_cell_index_y(ry0); // return values are clamped
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
       const float z1 = calc_z0(rx0,
300
       const float z1 = calc_z0(rx0,
274
                                mesh_index_to_xpos(cx), z_values[cx][cy],
301
                                mesh_index_to_xpos(cx), z_values[cx][cy],
275
                                mesh_index_to_xpos(cx + 1), z_values[min(cx, GRID_MAX_POINTS_X - 2) + 1][cy]);
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
       if (!WITHIN(cell_dest_xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(cell_dest_yi, 0, GRID_MAX_POINTS_Y - 1)) {
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
         // Note: There is no Z Correction in this case. We are off the grid and don't know what
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
         set_current_from_destination();
97
         set_current_from_destination();
93
 
98
 
94
         if (g26_debug_flag)
99
         if (g26_debug_flag)

Loading…
Cancel
Save