Browse Source

Add "Level Corners" menu option

Scott Lahteine 8 years ago
parent
commit
a1878cd1c0
38 changed files with 118 additions and 8 deletions
  1. 7
    0
      Marlin/Conditionals_post.h
  2. 1
    0
      Marlin/Configuration.h
  3. 1
    0
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h
  4. 1
    0
      Marlin/example_configurations/AliExpress/CL-260/Configuration.h
  5. 1
    0
      Marlin/example_configurations/Anet/A6/Configuration.h
  6. 1
    0
      Marlin/example_configurations/Anet/A8/Configuration.h
  7. 1
    0
      Marlin/example_configurations/BQ/Hephestos/Configuration.h
  8. 1
    0
      Marlin/example_configurations/BQ/Hephestos_2/Configuration.h
  9. 1
    0
      Marlin/example_configurations/BQ/WITBOX/Configuration.h
  10. 1
    0
      Marlin/example_configurations/Cartesio/Configuration.h
  11. 1
    0
      Marlin/example_configurations/Creality/CR-10/Configuration.h
  12. 1
    0
      Marlin/example_configurations/Felix/Configuration.h
  13. 1
    0
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  14. 1
    0
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration.h
  15. 1
    0
      Marlin/example_configurations/Geeetech/GT2560/Configuration.h
  16. 1
    0
      Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h
  17. 1
    0
      Marlin/example_configurations/Infitary/i3-M508/Configuration.h
  18. 1
    0
      Marlin/example_configurations/Malyan/M150/Configuration.h
  19. 1
    0
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  20. 1
    0
      Marlin/example_configurations/RigidBot/Configuration.h
  21. 1
    0
      Marlin/example_configurations/SCARA/Configuration.h
  22. 1
    0
      Marlin/example_configurations/TinyBoy2/Configuration.h
  23. 1
    0
      Marlin/example_configurations/Velleman/K8200/Configuration.h
  24. 1
    0
      Marlin/example_configurations/Velleman/K8400/Configuration.h
  25. 1
    0
      Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h
  26. 1
    0
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  27. 1
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
  28. 1
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
  29. 1
    0
      Marlin/example_configurations/delta/generic/Configuration.h
  30. 1
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  31. 1
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  32. 1
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  33. 1
    0
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h
  34. 1
    0
      Marlin/example_configurations/makibox/Configuration.h
  35. 1
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  36. 1
    0
      Marlin/example_configurations/wt150/Configuration.h
  37. 6
    0
      Marlin/language_en.h
  38. 70
    8
      Marlin/ultralcd.cpp

+ 7
- 0
Marlin/Conditionals_post.h View File

90
   #define IS_CARTESIAN !IS_KINEMATIC
90
   #define IS_CARTESIAN !IS_KINEMATIC
91
 
91
 
92
   /**
92
   /**
93
+   * No adjustable bed on non-cartesians
94
+   */
95
+  #if IS_KINEMATIC
96
+    #undef LEVEL_BED_CORNERS
97
+  #endif
98
+
99
+  /**
93
    * SCARA cannot use SLOWDOWN and requires QUICKHOME
100
    * SCARA cannot use SLOWDOWN and requires QUICKHOME
94
    */
101
    */
95
   #if IS_SCARA
102
   #if IS_SCARA

+ 1
- 0
Marlin/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/AlephObjects/TAZ4/Configuration.h View File

960
 #if ENABLED(LCD_BED_LEVELING)
960
 #if ENABLED(LCD_BED_LEVELING)
961
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
961
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
962
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
962
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
963
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
963
 #endif
964
 #endif
964
 
965
 
965
 /**
966
 /**

+ 1
- 0
Marlin/example_configurations/AliExpress/CL-260/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/Anet/A6/Configuration.h View File

1083
 #if ENABLED(LCD_BED_LEVELING)
1083
 #if ENABLED(LCD_BED_LEVELING)
1084
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1084
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1085
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1085
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1086
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1086
 #endif
1087
 #endif
1087
 
1088
 
1088
 /**
1089
 /**

+ 1
- 0
Marlin/example_configurations/Anet/A8/Configuration.h View File

946
 #if ENABLED(LCD_BED_LEVELING)
946
 #if ENABLED(LCD_BED_LEVELING)
947
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
947
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
948
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
948
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
949
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
949
 #endif
950
 #endif
950
 
951
 
951
 /**
952
 /**

+ 1
- 0
Marlin/example_configurations/BQ/Hephestos/Configuration.h View File

931
 #if ENABLED(LCD_BED_LEVELING)
931
 #if ENABLED(LCD_BED_LEVELING)
932
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
932
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
933
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
933
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
934
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
934
 #endif
935
 #endif
935
 
936
 
936
 /**
937
 /**

+ 1
- 0
Marlin/example_configurations/BQ/Hephestos_2/Configuration.h View File

941
 #if ENABLED(LCD_BED_LEVELING)
941
 #if ENABLED(LCD_BED_LEVELING)
942
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
943
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
944
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
944
 #endif
945
 #endif
945
 
946
 
946
 /**
947
 /**

+ 1
- 0
Marlin/example_configurations/BQ/WITBOX/Configuration.h View File

931
 #if ENABLED(LCD_BED_LEVELING)
931
 #if ENABLED(LCD_BED_LEVELING)
932
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
932
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
933
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
933
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
934
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
934
 #endif
935
 #endif
935
 
936
 
936
 /**
937
 /**

+ 1
- 0
Marlin/example_configurations/Cartesio/Configuration.h View File

939
 #if ENABLED(LCD_BED_LEVELING)
939
 #if ENABLED(LCD_BED_LEVELING)
940
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
940
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
941
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
942
 #endif
943
 #endif
943
 
944
 
944
 /**
945
 /**

+ 1
- 0
Marlin/example_configurations/Creality/CR-10/Configuration.h View File

950
 #if ENABLED(LCD_BED_LEVELING)
950
 #if ENABLED(LCD_BED_LEVELING)
951
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
951
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
952
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
952
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
953
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
953
 #endif
954
 #endif
954
 
955
 
955
 /**
956
 /**

+ 1
- 0
Marlin/example_configurations/Felix/Configuration.h View File

922
 #if ENABLED(LCD_BED_LEVELING)
922
 #if ENABLED(LCD_BED_LEVELING)
923
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
923
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
924
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
924
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
925
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
925
 #endif
926
 #endif
926
 
927
 
927
 /**
928
 /**

+ 1
- 0
Marlin/example_configurations/Felix/DUAL/Configuration.h View File

922
 #if ENABLED(LCD_BED_LEVELING)
922
 #if ENABLED(LCD_BED_LEVELING)
923
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
923
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
924
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
924
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
925
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
925
 #endif
926
 #endif
926
 
927
 
927
 /**
928
 /**

+ 1
- 0
Marlin/example_configurations/Folger Tech/i3-2020/Configuration.h View File

945
 #if ENABLED(LCD_BED_LEVELING)
945
 #if ENABLED(LCD_BED_LEVELING)
946
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
946
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
947
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
947
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
948
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
948
 #endif
949
 #endif
949
 
950
 
950
 /**
951
 /**

+ 1
- 0
Marlin/example_configurations/Geeetech/GT2560/Configuration.h View File

955
 #if ENABLED(LCD_BED_LEVELING)
955
 #if ENABLED(LCD_BED_LEVELING)
956
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
956
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
957
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
957
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
958
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
958
 #endif
959
 #endif
959
 
960
 
960
 /**
961
 /**

+ 1
- 0
Marlin/example_configurations/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/Infitary/i3-M508/Configuration.h View File

944
 #if ENABLED(LCD_BED_LEVELING)
944
 #if ENABLED(LCD_BED_LEVELING)
945
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
945
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
946
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
946
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
947
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
947
 #endif
948
 #endif
948
 
949
 
949
 /**
950
 /**

+ 1
- 0
Marlin/example_configurations/Malyan/M150/Configuration.h View File

968
 #if ENABLED(LCD_BED_LEVELING)
968
 #if ENABLED(LCD_BED_LEVELING)
969
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
969
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
970
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
970
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
971
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
971
 #endif
972
 #endif
972
 
973
 
973
 /**
974
 /**

+ 1
- 0
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/RigidBot/Configuration.h View File

938
 #if ENABLED(LCD_BED_LEVELING)
938
 #if ENABLED(LCD_BED_LEVELING)
939
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
939
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
940
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
940
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
941
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
941
 #endif
942
 #endif
942
 
943
 
943
 /**
944
 /**

+ 1
- 0
Marlin/example_configurations/SCARA/Configuration.h View File

952
 #if ENABLED(LCD_BED_LEVELING)
952
 #if ENABLED(LCD_BED_LEVELING)
953
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
953
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
954
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
954
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
955
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
955
 #endif
956
 #endif
956
 
957
 
957
 /**
958
 /**

+ 1
- 0
Marlin/example_configurations/TinyBoy2/Configuration.h View File

996
 #if ENABLED(LCD_BED_LEVELING)
996
 #if ENABLED(LCD_BED_LEVELING)
997
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
997
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
998
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
998
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
999
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
999
 #endif
1000
 #endif
1000
 
1001
 
1001
 /**
1002
 /**

+ 1
- 0
Marlin/example_configurations/Velleman/K8200/Configuration.h View File

969
 #if ENABLED(LCD_BED_LEVELING)
969
 #if ENABLED(LCD_BED_LEVELING)
970
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
970
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
971
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
971
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
972
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
972
 #endif
973
 #endif
973
 
974
 
974
 /**
975
 /**

+ 1
- 0
Marlin/example_configurations/Velleman/K8400/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/Velleman/K8400/Dual-head/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

940
 #if ENABLED(LCD_BED_LEVELING)
940
 #if ENABLED(LCD_BED_LEVELING)
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
941
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
942
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
943
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
943
 #endif
944
 #endif
944
 
945
 
945
 /**
946
 /**

+ 1
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h View File

1068
 #if ENABLED(LCD_BED_LEVELING)
1068
 #if ENABLED(LCD_BED_LEVELING)
1069
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1069
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1070
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1070
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1071
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1071
 #endif
1072
 #endif
1072
 
1073
 
1073
 /**
1074
 /**

+ 1
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h View File

1062
 #if ENABLED(LCD_BED_LEVELING)
1062
 #if ENABLED(LCD_BED_LEVELING)
1063
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1063
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1064
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1064
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1065
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1065
 #endif
1066
 #endif
1066
 
1067
 
1067
 /**
1068
 /**

+ 1
- 0
Marlin/example_configurations/delta/generic/Configuration.h View File

1057
 #if ENABLED(LCD_BED_LEVELING)
1057
 #if ENABLED(LCD_BED_LEVELING)
1058
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1058
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1059
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1059
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1060
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1060
 #endif
1061
 #endif
1061
 
1062
 
1062
 /**
1063
 /**

+ 1
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

1060
 #if ENABLED(LCD_BED_LEVELING)
1060
 #if ENABLED(LCD_BED_LEVELING)
1061
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1061
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1062
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1062
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1063
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1063
 #endif
1064
 #endif
1064
 
1065
 
1065
 /**
1066
 /**

+ 1
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

1060
 #if ENABLED(LCD_BED_LEVELING)
1060
 #if ENABLED(LCD_BED_LEVELING)
1061
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1061
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1062
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1062
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1063
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1063
 #endif
1064
 #endif
1064
 
1065
 
1065
 /**
1066
 /**

+ 1
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

1069
 #if ENABLED(LCD_BED_LEVELING)
1069
 #if ENABLED(LCD_BED_LEVELING)
1070
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1070
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
1071
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1071
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
1072
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
1072
 #endif
1073
 #endif
1073
 
1074
 
1074
 /**
1075
 /**

+ 1
- 0
Marlin/example_configurations/gCreate/gMax1.5+/Configuration.h View File

954
 #if ENABLED(LCD_BED_LEVELING)
954
 #if ENABLED(LCD_BED_LEVELING)
955
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
955
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
956
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
956
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
957
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
957
 #endif
958
 #endif
958
 
959
 
959
 /**
960
 /**

+ 1
- 0
Marlin/example_configurations/makibox/Configuration.h View File

943
 #if ENABLED(LCD_BED_LEVELING)
943
 #if ENABLED(LCD_BED_LEVELING)
944
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
944
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
945
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
945
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
946
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
946
 #endif
947
 #endif
947
 
948
 
948
 /**
949
 /**

+ 1
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

935
 #if ENABLED(LCD_BED_LEVELING)
935
 #if ENABLED(LCD_BED_LEVELING)
936
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
936
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
937
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
937
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
938
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
938
 #endif
939
 #endif
939
 
940
 
940
 /**
941
 /**

+ 1
- 0
Marlin/example_configurations/wt150/Configuration.h View File

945
 #if ENABLED(LCD_BED_LEVELING)
945
 #if ENABLED(LCD_BED_LEVELING)
946
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
946
   #define MBL_Z_STEP 0.025    // Step size while manually probing Z axis.
947
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
947
   #define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
948
+  #define LEVEL_BED_CORNERS   // Add an option to move between corners
948
 #endif
949
 #endif
949
 
950
 
950
 /**
951
 /**

+ 6
- 0
Marlin/language_en.h View File

156
 #ifndef MSG_LEVEL_BED
156
 #ifndef MSG_LEVEL_BED
157
   #define MSG_LEVEL_BED                       _UxGT("Level bed")
157
   #define MSG_LEVEL_BED                       _UxGT("Level bed")
158
 #endif
158
 #endif
159
+#ifndef MSG_LEVEL_CORNERS
160
+  #define MSG_LEVEL_CORNERS                   _UxGT("Level corners")
161
+#endif
162
+#ifndef MSG_NEXT_CORNER
163
+  #define MSG_NEXT_CORNER                     _UxGT("Next corner")
164
+#endif
159
 #ifndef MSG_EDITING_STOPPED
165
 #ifndef MSG_EDITING_STOPPED
160
   #define MSG_EDITING_STOPPED                 _UxGT("Mesh Editing Stopped")
166
   #define MSG_EDITING_STOPPED                 _UxGT("Mesh Editing Stopped")
161
 #endif
167
 #endif

+ 70
- 8
Marlin/ultralcd.cpp View File

546
       lcd_return_to_status();
546
       lcd_return_to_status();
547
   }
547
   }
548
 
548
 
549
+  void lcd_goto_previous_menu_no_defer() {
550
+    defer_return_to_status = false;
551
+    lcd_goto_previous_menu();
552
+  }
553
+
549
 #endif // ULTIPANEL
554
 #endif // ULTIPANEL
550
 
555
 
551
 /**
556
 /**
971
   #if ENABLED(BABYSTEPPING)
976
   #if ENABLED(BABYSTEPPING)
972
 
977
 
973
     void _lcd_babystep(const AxisEnum axis, const char* msg) {
978
     void _lcd_babystep(const AxisEnum axis, const char* msg) {
974
-      if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
979
+      if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
975
       ENCODER_DIRECTION_NORMAL();
980
       ENCODER_DIRECTION_NORMAL();
976
       if (encoderPosition) {
981
       if (encoderPosition) {
977
         const int16_t babystep_increment = (int32_t)encoderPosition * (BABYSTEP_MULTIPLICATOR);
982
         const int16_t babystep_increment = (int32_t)encoderPosition * (BABYSTEP_MULTIPLICATOR);
994
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
999
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
995
 
1000
 
996
       void lcd_babystep_zoffset() {
1001
       void lcd_babystep_zoffset() {
997
-        if (lcd_clicked) { defer_return_to_status = false; return lcd_goto_previous_menu(); }
1002
+        if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
998
         defer_return_to_status = true;
1003
         defer_return_to_status = true;
999
         ENCODER_DIRECTION_NORMAL();
1004
         ENCODER_DIRECTION_NORMAL();
1000
         if (encoderPosition) {
1005
         if (encoderPosition) {
1545
     static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); }
1550
     static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); }
1546
   #endif
1551
   #endif
1547
 
1552
 
1548
-#if ENABLED(LCD_BED_LEVELING)
1553
+
1554
+  #if ENABLED(LEVEL_BED_CORNERS)
1555
+
1556
+    /**
1557
+     * Level corners, starting in the front-left corner.
1558
+     */
1559
+    static int8_t bed_corner;
1560
+    void _lcd_goto_next_corner() {
1561
+      line_to_z(LOGICAL_Z_POSITION(4.0));
1562
+      switch (bed_corner) {
1563
+        case 0:
1564
+          current_position[X_AXIS] = X_MIN_BED + 10;
1565
+          current_position[Y_AXIS] = Y_MIN_BED + 10;
1566
+          break;
1567
+        case 1:
1568
+          current_position[X_AXIS] = X_MAX_BED - 10;
1569
+          break;
1570
+        case 2:
1571
+          current_position[Y_AXIS] = Y_MAX_BED - 10;
1572
+          break;
1573
+        case 3:
1574
+          current_position[X_AXIS] = X_MIN_BED + 10;
1575
+          break;
1576
+      }
1577
+      planner.buffer_line_kinematic(current_position, MMM_TO_MMS(manual_feedrate_mm_m[X_AXIS]), active_extruder);
1578
+      line_to_z(LOGICAL_Z_POSITION(0.0));
1579
+      if (++bed_corner > 3) bed_corner = 0;
1580
+    }
1581
+
1582
+    void _lcd_corner_submenu() {
1583
+      START_MENU();
1584
+      MENU_ITEM(function, MSG_NEXT_CORNER, _lcd_goto_next_corner);
1585
+      MENU_ITEM(function, MSG_BACK, lcd_goto_previous_menu_no_defer);
1586
+      END_MENU();
1587
+    }
1588
+
1589
+    void _lcd_level_bed_corners() {
1590
+      defer_return_to_status = true;
1591
+      lcd_goto_screen(_lcd_corner_submenu);
1592
+      bed_corner = 0;
1593
+      _lcd_goto_next_corner();
1594
+    }
1595
+
1596
+  #endif // LEVEL_BED_CORNERS
1597
+
1598
+  #if ENABLED(LCD_BED_LEVELING)
1549
 
1599
 
1550
     /**
1600
     /**
1551
      *
1601
      *
1788
      * << Prepare
1838
      * << Prepare
1789
      *    Auto Home           (if homing needed)
1839
      *    Auto Home           (if homing needed)
1790
      *    Leveling On/Off     (if data exists, and homed)
1840
      *    Leveling On/Off     (if data exists, and homed)
1791
-     *    Level Bed
1792
      *    Fade Height: ---    (Req: ENABLE_LEVELING_FADE_HEIGHT)
1841
      *    Fade Height: ---    (Req: ENABLE_LEVELING_FADE_HEIGHT)
1793
      *    Mesh Z Offset: ---  (Req: MESH_BED_LEVELING)
1842
      *    Mesh Z Offset: ---  (Req: MESH_BED_LEVELING)
1794
      *    Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
1843
      *    Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
1844
+     *    Level Bed >
1845
+     *    Level Corners >     (if homed)
1795
      *    Load Settings       (Req: EEPROM_SETTINGS)
1846
      *    Load Settings       (Req: EEPROM_SETTINGS)
1796
      *    Save Settings       (Req: EEPROM_SETTINGS)
1847
      *    Save Settings       (Req: EEPROM_SETTINGS)
1797
      */
1848
      */
1826
 
1877
 
1827
       MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
1878
       MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
1828
 
1879
 
1880
+      #if ENABLED(LEVEL_BED_CORNERS)
1881
+        // Move to the next corner for leveling
1882
+        if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
1883
+          MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
1884
+      #endif
1885
+
1829
       #if ENABLED(EEPROM_SETTINGS)
1886
       #if ENABLED(EEPROM_SETTINGS)
1830
         MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
1887
         MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
1831
         MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
1888
         MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
2404
         if (!g29_in_progress)
2461
         if (!g29_in_progress)
2405
       #endif
2462
       #endif
2406
       MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_bed_leveling);
2463
       MENU_ITEM(submenu, MSG_BED_LEVELING, lcd_bed_leveling);
2407
-    #elif PLANNER_LEVELING
2408
-      MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29"));
2464
+    #else
2465
+      #if PLANNER_LEVELING
2466
+        MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29"));
2467
+      #endif
2468
+      #if ENABLED(LEVEL_BED_CORNERS)
2469
+        if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
2470
+          MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
2471
+      #endif
2409
     #endif
2472
     #endif
2410
 
2473
 
2411
     #if HAS_M206_COMMAND
2474
     #if HAS_M206_COMMAND
2538
       wait_for_user = true;
2601
       wait_for_user = true;
2539
       while (wait_for_user) idle();
2602
       while (wait_for_user) idle();
2540
       KEEPALIVE_STATE(IN_HANDLER);
2603
       KEEPALIVE_STATE(IN_HANDLER);
2541
-      defer_return_to_status = false;
2542
-      lcd_goto_previous_menu();
2604
+      lcd_goto_previous_menu_no_defer();
2543
       return current_position[Z_AXIS];
2605
       return current_position[Z_AXIS];
2544
     }
2606
     }
2545
 
2607
 

Loading…
Cancel
Save