From bcb87225133edc0b0232e9ebca5b16127634e267 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Oct 2017 23:10:10 -0500 Subject: [PATCH] Fix DUAL_X_CARRIAGE manual move Addressing #7745 --- Marlin/ultralcd.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 73ab997d09..dcfcb350b8 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -137,6 +137,7 @@ uint16_t max_display_update_time = 0; // Function pointer to menu functions. typedef void (*screenFunc_t)(); + typedef void (*menuAction_t)(); #if HAS_POWER_SWITCH extern bool powersupply_on; @@ -206,7 +207,7 @@ uint16_t max_display_update_time = 0; void _menu_action_back(); void menu_action_submenu(screenFunc_t data); void menu_action_gcode(const char* pgcode); - void menu_action_function(screenFunc_t data); + void menu_action_function(menuAction_t data); #define DECLARE_MENU_EDIT_TYPE(_type, _name) \ bool _menu_edit_ ## _name(); \ @@ -2751,8 +2752,11 @@ void kill_screen(const char* lcd_msg) { , int8_t eindex=-1 #endif ) { - #if E_MANUAL > 1 - if (axis == E_AXIS) manual_move_e_index = eindex >= 0 ? eindex : active_extruder; + #if ENABLED(DUAL_X_CARRIAGE) || E_MANUAL > 1 + #if E_MANUAL > 1 + if (axis == E_AXIS) + #endif + manual_move_e_index = eindex >= 0 ? eindex : active_extruder; #endif manual_move_start_time = millis() + (move_menu_scale < 0.99 ? 0UL : 250UL); // delay for bigger moves manual_move_axis = (int8_t)axis; @@ -2964,7 +2968,7 @@ void kill_screen(const char* lcd_msg) { else MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); - #if ENABLED(SWITCHING_EXTRUDER) + #if ENABLED(SWITCHING_EXTRUDER) || ENABLED(DUAL_X_CARRIAGE) if (active_extruder) MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0")); else