From 5bc480fee8d7c3b4842bd861309cefe30b6896f2 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 11 Sep 2015 00:37:32 -0700 Subject: [PATCH] Fix Move E menu items --- Marlin/ultralcd.cpp | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 1af2072f3..b466cfc51 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -809,9 +809,9 @@ static void lcd_move_x() { _lcd_move(PSTR(MSG_MOVE_X), X_AXIS, X_MIN_POS, X_MAX_ static void lcd_move_y() { _lcd_move(PSTR(MSG_MOVE_Y), Y_AXIS, Y_MIN_POS, Y_MAX_POS); } static void lcd_move_z() { _lcd_move(PSTR(MSG_MOVE_Z), Z_AXIS, Z_MIN_POS, Z_MAX_POS); } static void lcd_move_e( -#if EXTRUDERS > 1 - uint8_t e = 0 -#endif + #if EXTRUDERS > 1 + uint8_t e + #endif ) { #if EXTRUDERS > 1 unsigned short original_active_extruder = active_extruder; @@ -823,7 +823,24 @@ static void lcd_move_e( line_to_current(E_AXIS); lcdDrawUpdate = 1; } - if (lcdDrawUpdate) lcd_implementation_drawedit(PSTR(MSG_MOVE_E), ftostr31(current_position[E_AXIS])); + if (lcdDrawUpdate) { + PGM_P pos_label; + #if EXTRUDERS == 1 + pos_label = PSTR(MSG_MOVE_E); + #else + switch (e) { + case 0: pos_label = PSTR(MSG_MOVE_E0); break; + case 1: pos_label = PSTR(MSG_MOVE_E1); break; + #if EXTRUDERS > 2 + case 2: pos_label = PSTR(MSG_MOVE_E2); break; + #if EXTRUDERS > 3 + case 3: pos_label = PSTR(MSG_MOVE_E3); break; + #endif //EXTRUDERS > 3 + #endif //EXTRUDERS > 2 + } + #endif //EXTRUDERS > 1 + lcd_implementation_drawedit(pos_label, ftostr31(current_position[E_AXIS])); + } if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis); #if EXTRUDERS > 1 active_extruder = original_active_extruder; @@ -831,6 +848,7 @@ static void lcd_move_e( } #if EXTRUDERS > 1 + static void lcd_move_e0() { lcd_move_e(0); } static void lcd_move_e1() { lcd_move_e(1); } #if EXTRUDERS > 2 static void lcd_move_e2() { lcd_move_e(2); } @@ -853,8 +871,10 @@ static void lcd_move_menu_axis() { MENU_ITEM(submenu, MSG_MOVE_Y, lcd_move_y); if (move_menu_scale < 10.0) { MENU_ITEM(submenu, MSG_MOVE_Z, lcd_move_z); - MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_e); - #if EXTRUDERS > 1 + #if EXTRUDERS == 1 + MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_e); + #else + MENU_ITEM(submenu, MSG_MOVE_E0, lcd_move_e0); MENU_ITEM(submenu, MSG_MOVE_E1, lcd_move_e1); #if EXTRUDERS > 2 MENU_ITEM(submenu, MSG_MOVE_E2, lcd_move_e2);