0
0
Fork 0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2025-02-18 15:21:25 +00:00

LCD_BED_LEVELING enables a sub-menu for ABL

This commit is contained in:
Scott Lahteine 2018-05-01 03:26:44 -05:00
parent 5aff43e65e
commit 0b9f99f940
58 changed files with 241 additions and 199 deletions

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -894,8 +894,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
#if ENABLED(LCD_BED_LEVELING) #if ENABLED(LCD_BED_LEVELING)
#if DISABLED(ULTIPANEL) #if DISABLED(ULTIPANEL)
#error "LCD_BED_LEVELING requires an LCD controller." #error "LCD_BED_LEVELING requires an LCD controller."
#elif !(ENABLED(MESH_BED_LEVELING) || (OLDSCHOOL_ABL && ENABLED(PROBE_MANUALLY))) #elif !(ENABLED(MESH_BED_LEVELING) || OLDSCHOOL_ABL)
#error "LCD_BED_LEVELING requires MESH_BED_LEVELING or ABL with PROBE_MANUALLY." #error "LCD_BED_LEVELING requires MESH_BED_LEVELING or AUTO_BED_LEVELING."
#endif #endif
#endif #endif

View file

@ -1050,8 +1050,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1168,8 +1168,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1048,8 +1048,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1018,8 +1018,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1042,8 +1042,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1018,8 +1018,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1029,8 +1029,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1040,8 +1040,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1031,8 +1031,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1049,8 +1049,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1036,8 +1036,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1034,8 +1034,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1040,8 +1040,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1012,8 +1012,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1012,8 +1012,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1054,8 +1054,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1045,8 +1045,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1046,8 +1046,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1045,8 +1045,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1034,8 +1034,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1041,8 +1041,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1069,8 +1069,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1034,8 +1034,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
#define LCD_BED_LEVELING #define LCD_BED_LEVELING

View file

@ -1034,8 +1034,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1076,8 +1076,8 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1028,8 +1028,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1042,8 +1042,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1061,8 +1061,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1086,8 +1086,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1041,8 +1041,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1060,8 +1060,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1037,8 +1037,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1030,8 +1030,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1181,8 +1181,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1163,8 +1163,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1162,8 +1162,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1176,8 +1176,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1150,8 +1150,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1153,8 +1153,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1144,8 +1144,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1153,8 +1153,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1051,8 +1051,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1033,8 +1033,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1025,8 +1025,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -1035,8 +1035,8 @@
#endif #endif
/** /**
* Use the LCD controller for bed leveling * Add a bed leveling sub-menu for ABL or MBL.
* Requires MESH_BED_LEVELING or PROBE_MANUALLY * Include a guided procedure if manual probing is enabled.
*/ */
//#define LCD_BED_LEVELING //#define LCD_BED_LEVELING

View file

@ -769,7 +769,7 @@
#define MSG_FIRST _UxGT("first") #define MSG_FIRST _UxGT("first")
#endif #endif
#ifndef MSG_ZPROBE_ZOFFSET #ifndef MSG_ZPROBE_ZOFFSET
#define MSG_ZPROBE_ZOFFSET _UxGT("Z Offset") #define MSG_ZPROBE_ZOFFSET _UxGT("Probe Z Offset")
#endif #endif
#ifndef MSG_BABYSTEP_X #ifndef MSG_BABYSTEP_X
#define MSG_BABYSTEP_X _UxGT("Babystep X") #define MSG_BABYSTEP_X _UxGT("Babystep X")

View file

@ -1395,13 +1395,20 @@ void lcd_quick_feedback(const bool clear_buttons) {
// //
MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999); MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999);
//
// Manual bed leveling, Bed Z: // Manual bed leveling, Bed Z:
//
#if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING) #if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING)
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
#endif #endif
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
//
// Leveling Fade Height
//
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(SLIM_LCD_MENUS)
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
#endif #endif
// //
// Nozzle: // Nozzle:
// Nozzle [1-4]: // Nozzle [1-4]:
@ -1874,7 +1881,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
#endif // LEVEL_BED_CORNERS #endif // LEVEL_BED_CORNERS
#if ENABLED(LCD_BED_LEVELING) #if ENABLED(LCD_BED_LEVELING) && (ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING))
/** /**
* *
@ -2036,76 +2043,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
enqueue_and_echo_commands_P(PSTR("G28")); enqueue_and_echo_commands_P(PSTR("G28"));
} }
static bool new_level_state;
void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(new_level_state); }
/**
* Step 1: Bed Level entry-point
*
* << Prepare
* Auto Home (if homing needed)
* Leveling On/Off (if data exists, and homed)
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT)
* Mesh Z Offset: --- (Req: MESH_BED_LEVELING)
* Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
* Level Bed >
* Level Corners > (if homed)
* Load Settings (Req: EEPROM_SETTINGS)
* Save Settings (Req: EEPROM_SETTINGS)
*/
void lcd_bed_leveling() {
START_MENU();
MENU_BACK(MSG_PREPARE);
#if DISABLED(MESH_BED_LEVELING)
if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS]))
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
else
#endif
if (leveling_is_valid()) {
new_level_state = planner.leveling_active;
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
#endif
//
// MBL Z Offset
//
#if ENABLED(MESH_BED_LEVELING)
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
#endif
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
#elif HAS_BED_PROBE
MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
#endif
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
#if ENABLED(LEVEL_BED_CORNERS)
// Move to the next corner for leveling
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
#endif
#if ENABLED(EEPROM_SETTINGS)
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
#endif
END_MENU();
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
void _lcd_goto_bed_leveling() {
lcd_goto_screen(lcd_bed_leveling);
new_z_fade_height = planner.z_fade_height;
}
#endif
#elif ENABLED(AUTO_BED_LEVELING_UBL) #elif ENABLED(AUTO_BED_LEVELING_UBL)
void _lcd_ubl_level_bed(); void _lcd_ubl_level_bed();
@ -2637,6 +2574,93 @@ void lcd_quick_feedback(const bool clear_buttons) {
#endif // AUTO_BED_LEVELING_UBL #endif // AUTO_BED_LEVELING_UBL
#if ENABLED(LCD_BED_LEVELING) || (PLANNER_LEVELING && DISABLED(SLIM_LCD_MENUS))
void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(!planner.leveling_active); }
#endif
#if ENABLED(LCD_BED_LEVELING)
/**
* Step 1: Bed Level entry-point
*
* << Prepare
* Auto Home (if homing needed)
* Leveling On/Off (if data exists, and homed)
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT)
* Mesh Z Offset: --- (Req: MESH_BED_LEVELING)
* Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET)
* Level Bed >
* Level Corners > (if homed)
* Load Settings (Req: EEPROM_SETTINGS)
* Save Settings (Req: EEPROM_SETTINGS)
*/
void lcd_bed_leveling() {
START_MENU();
MENU_BACK(MSG_PREPARE);
const bool is_homed = axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS];
// Auto Home if not using manual probing
#if DISABLED(PROBE_MANUALLY) && DISABLED(MESH_BED_LEVELING)
if (!is_homed) MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
#endif
// Level Bed
#if ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING)
// Manual leveling uses a guided procedure
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue);
#else
// Automatic leveling can just run the G-code
MENU_ITEM(gcode, MSG_LEVEL_BED, is_homed ? PSTR("G29") : PSTR("G28\nG29"));
#endif
// Homed and leveling is valid? Then leveling can be toggled.
if (is_homed && leveling_is_valid()) {
bool new_level_state = planner.leveling_active;
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
}
// Z Fade Height
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
#endif
//
// MBL Z Offset
//
#if ENABLED(MESH_BED_LEVELING)
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1);
#endif
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
#elif HAS_BED_PROBE
MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX);
#endif
#if ENABLED(LEVEL_BED_CORNERS)
// Move to the next corner for leveling
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
#endif
#if ENABLED(EEPROM_SETTINGS)
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
#endif
END_MENU();
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
void _lcd_goto_bed_leveling() {
lcd_goto_screen(lcd_bed_leveling);
new_z_fade_height = planner.z_fade_height;
}
#endif
#endif // LCD_BED_LEVELING
/** /**
* *
* "Prepare" submenu * "Prepare" submenu
@ -2673,26 +2697,44 @@ void lcd_quick_feedback(const bool clear_buttons) {
// Level Bed // Level Bed
// //
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
MENU_ITEM(submenu, MSG_UBL_LEVEL_BED,
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, (
_lcd_goto_ubl_level_bed #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
#else _lcd_goto_ubl_level_bed
_lcd_ubl_level_bed #else
#endif _lcd_ubl_level_bed
#endif
)
); );
#elif ENABLED(LCD_BED_LEVELING) #elif ENABLED(LCD_BED_LEVELING)
#if ENABLED(PROBE_MANUALLY) #if ENABLED(PROBE_MANUALLY)
if (!g29_in_progress) if (!g29_in_progress)
#endif #endif
MENU_ITEM(submenu, MSG_BED_LEVELING,
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) MENU_ITEM(submenu, MSG_BED_LEVELING, (
_lcd_goto_bed_leveling #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
#else _lcd_goto_bed_leveling
lcd_bed_leveling #else
#endif lcd_bed_leveling
#endif
)
); );
#elif PLANNER_LEVELING && DISABLED(PROBE_MANUALLY) && DISABLED(SLIM_LCD_MENUS)
MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29")); #elif PLANNER_LEVELING && DISABLED(SLIM_LCD_MENUS)
#if DISABLED(PROBE_MANUALLY)
MENU_ITEM(gcode, MSG_LEVEL_BED, PSTR("G28\nG29"));
#endif
if (leveling_is_valid()) {
bool new_level_state = planner.leveling_active;
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling);
}
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height);
#endif
#endif #endif
#if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING) #if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING)