|
@ -2026,8 +2026,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
void _lcd_level_bed_homing() { |
|
|
void _lcd_level_bed_homing() { |
|
|
if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_LEVEL_BED_HOMING), NULL); |
|
|
if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_LEVEL_BED_HOMING), NULL); |
|
|
lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; |
|
|
lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
if (all_axes_homed()) lcd_goto_screen(_lcd_level_bed_homing_done); |
|
|
lcd_goto_screen(_lcd_level_bed_homing_done); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#if ENABLED(PROBE_MANUALLY) |
|
|
#if ENABLED(PROBE_MANUALLY) |
|
@ -2039,7 +2038,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
*/ |
|
|
*/ |
|
|
void _lcd_level_bed_continue() { |
|
|
void _lcd_level_bed_continue() { |
|
|
defer_return_to_status = true; |
|
|
defer_return_to_status = true; |
|
|
axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; |
|
|
axis_homed = 0; |
|
|
lcd_goto_screen(_lcd_level_bed_homing); |
|
|
lcd_goto_screen(_lcd_level_bed_homing); |
|
|
enqueue_and_echo_commands_P(PSTR("G28")); |
|
|
enqueue_and_echo_commands_P(PSTR("G28")); |
|
|
} |
|
|
} |
|
@ -2369,7 +2368,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
defer_return_to_status = true; |
|
|
defer_return_to_status = true; |
|
|
if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT < 3 ? 0 : (LCD_HEIGHT > 4 ? 2 : 1), PSTR(MSG_LEVEL_BED_HOMING)); |
|
|
if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT < 3 ? 0 : (LCD_HEIGHT > 4 ? 2 : 1), PSTR(MSG_LEVEL_BED_HOMING)); |
|
|
lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; |
|
|
lcdDrawUpdate = LCDVIEW_CALL_NO_REDRAW; |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { |
|
|
if (all_axes_homed()) { |
|
|
ubl.lcd_map_control = true; // Return to the map screen
|
|
|
ubl.lcd_map_control = true; // Return to the map screen
|
|
|
lcd_goto_screen(_lcd_ubl_output_map_lcd); |
|
|
lcd_goto_screen(_lcd_ubl_output_map_lcd); |
|
|
} |
|
|
} |
|
@ -2414,7 +2413,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
void _lcd_ubl_output_map_lcd() { |
|
|
void _lcd_ubl_output_map_lcd() { |
|
|
static int16_t step_scaler = 0; |
|
|
static int16_t step_scaler = 0; |
|
|
|
|
|
|
|
|
if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) |
|
|
if (!all_axes_known()) |
|
|
return lcd_goto_screen(_lcd_ubl_map_homing); |
|
|
return lcd_goto_screen(_lcd_ubl_map_homing); |
|
|
|
|
|
|
|
|
if (use_click()) return _lcd_ubl_map_lcd_edit_cmd(); |
|
|
if (use_click()) return _lcd_ubl_map_lcd_edit_cmd(); |
|
@ -2463,8 +2462,8 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
* UBL Homing before LCD map |
|
|
* UBL Homing before LCD map |
|
|
*/ |
|
|
*/ |
|
|
void _lcd_ubl_output_map_lcd_cmd() { |
|
|
void _lcd_ubl_output_map_lcd_cmd() { |
|
|
if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) { |
|
|
if (!all_axes_known()) { |
|
|
axis_homed[X_AXIS] = axis_homed[Y_AXIS] = axis_homed[Z_AXIS] = false; |
|
|
axis_homed = 0; |
|
|
enqueue_and_echo_commands_P(PSTR("G28")); |
|
|
enqueue_and_echo_commands_P(PSTR("G28")); |
|
|
} |
|
|
} |
|
|
lcd_goto_screen(_lcd_ubl_map_homing); |
|
|
lcd_goto_screen(_lcd_ubl_map_homing); |
|
@ -2592,7 +2591,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
START_MENU(); |
|
|
START_MENU(); |
|
|
MENU_BACK(MSG_PREPARE); |
|
|
MENU_BACK(MSG_PREPARE); |
|
|
|
|
|
|
|
|
const bool is_homed = axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS]; |
|
|
const bool is_homed = all_axes_known(); |
|
|
|
|
|
|
|
|
// Auto Home if not using manual probing
|
|
|
// Auto Home if not using manual probing
|
|
|
#if DISABLED(PROBE_MANUALLY) && DISABLED(MESH_BED_LEVELING) |
|
|
#if DISABLED(PROBE_MANUALLY) && DISABLED(MESH_BED_LEVELING) |
|
@ -2634,8 +2633,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
|
|
|
|
|
#if ENABLED(LEVEL_BED_CORNERS) |
|
|
#if ENABLED(LEVEL_BED_CORNERS) |
|
|
// Move to the next corner for leveling
|
|
|
// Move to the next corner for leveling
|
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
if (all_axes_homed()) MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
@ -2665,7 +2663,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
// Move Axis
|
|
|
// Move Axis
|
|
|
//
|
|
|
//
|
|
|
#if ENABLED(DELTA) |
|
|
#if ENABLED(DELTA) |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
if (all_axes_homed()) |
|
|
#endif |
|
|
#endif |
|
|
MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu); |
|
|
MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu); |
|
|
|
|
|
|
|
@ -2709,7 +2707,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING) |
|
|
#if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING) |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
if (all_axes_homed()) |
|
|
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -2839,7 +2837,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
void _lcd_calibrate_homing() { |
|
|
void _lcd_calibrate_homing() { |
|
|
if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, PSTR(MSG_LEVEL_BED_HOMING)); |
|
|
if (lcdDrawUpdate) lcd_implementation_drawmenu_static(LCD_HEIGHT >= 4 ? 1 : 0, PSTR(MSG_LEVEL_BED_HOMING)); |
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT; |
|
|
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT; |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
if (all_axes_homed()) |
|
|
lcd_goto_previous_menu(); |
|
|
lcd_goto_previous_menu(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -2894,7 +2892,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
MENU_ITEM(submenu, MSG_DELTA_SETTINGS, lcd_delta_settings); |
|
|
MENU_ITEM(submenu, MSG_DELTA_SETTINGS, lcd_delta_settings); |
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) |
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) |
|
|
MENU_ITEM(submenu, MSG_AUTO_HOME, _lcd_delta_calibrate_home); |
|
|
MENU_ITEM(submenu, MSG_AUTO_HOME, _lcd_delta_calibrate_home); |
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { |
|
|
if (all_axes_homed()) { |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_X, _goto_tower_x); |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_X, _goto_tower_x); |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Y, _goto_tower_y); |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Y, _goto_tower_y); |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Z, _goto_tower_z); |
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE_Z, _goto_tower_z); |
|
@ -3190,7 +3188,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
#if IS_KINEMATIC || ENABLED(NO_MOTION_BEFORE_HOMING) |
|
|
#if IS_KINEMATIC || ENABLED(NO_MOTION_BEFORE_HOMING) |
|
|
#define _MOVE_XYZ_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
#define _MOVE_XYZ_ALLOWED (all_axes_homed()) |
|
|
#else |
|
|
#else |
|
|
#define _MOVE_XYZ_ALLOWED true |
|
|
#define _MOVE_XYZ_ALLOWED true |
|
|
#endif |
|
|
#endif |
|
@ -3754,7 +3752,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
MENU_BACK(MSG_MOTION); |
|
|
MENU_BACK(MSG_MOTION); |
|
|
|
|
|
|
|
|
#if ENABLED(JUNCTION_DEVIATION) |
|
|
#if ENABLED(JUNCTION_DEVIATION) |
|
|
MENU_ITEM_EDIT(float3, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01, 0.3); |
|
|
MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01, 0.3, planner.recalculate_max_e_jerk_factor); |
|
|
#else |
|
|
#else |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990); |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990); |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990); |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990); |
|
@ -3763,8 +3761,8 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
#else |
|
|
#else |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); |
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
END_MENU(); |
|
|
END_MENU(); |
|
|
} |
|
|
} |
|
@ -4930,7 +4928,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); |
|
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) { |
|
|
if (all_axes_homed()) { |
|
|
#if ENABLED(DELTA) || Z_HOME_DIR != -1 |
|
|
#if ENABLED(DELTA) || Z_HOME_DIR != -1 |
|
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); |
|
|
if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up(); |
|
|
#endif |
|
|
#endif |
|
|