From 2176a22d42626fc58bc396bb39cafea9b3153c2f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 20 Mar 2015 05:45:05 -0700 Subject: [PATCH 1/2] Fix count_direction initializer - Addressing #1625 --- Marlin/stepper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index 1c79ea3b40..9f09f727f0 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -89,7 +89,7 @@ static bool old_x_min_endstop = false, static bool check_endstops = true; volatile long count_position[NUM_AXIS] = { 0 }; -volatile signed char count_direction[NUM_AXIS] = { 1 }; +volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1 }; //=========================================================================== From 64e3d33893978bc3a0db0d7e08540946cb48fb96 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 20 Mar 2015 23:36:14 +0100 Subject: [PATCH 2/2] Fix shrinked menucode by updating 'encoderPosition' in END_MENU() line 1. --- Marlin/ultralcd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 610b21ccb6..8a3c18b500 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -198,8 +198,8 @@ static void menu_action_setting_edit_callback_long5(const char* pstr, unsigned l #define MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(type, label, args...) MENU_ITEM(setting_edit_callback_ ## type, label, PSTR(label), ## args) #endif //!ENCODER_RATE_MULTIPLIER #define END_MENU() \ - if (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM >= _menuItemNr) encoderPosition = _menuItemNr * ENCODER_STEPS_PER_MENU_ITEM - 1; \ - if ((uint8_t)(encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) >= currentMenuViewOffset + LCD_HEIGHT) { currentMenuViewOffset = (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) - LCD_HEIGHT + 1; lcdDrawUpdate = 1; _lineNr = currentMenuViewOffset - 1; _drawLineNr = -1; } \ + if (encoderLine >= _menuItemNr) encoderPosition = _menuItemNr * ENCODER_STEPS_PER_MENU_ITEM - 1; encoderLine = encoderPosition / ENCODER_STEPS_PER_MENU_ITEM;\ + if (encoderLine >= currentMenuViewOffset + LCD_HEIGHT) { currentMenuViewOffset = encoderLine - LCD_HEIGHT + 1; lcdDrawUpdate = 1; _lineNr = currentMenuViewOffset - 1; _drawLineNr = -1; } \ } } while(0) /** Used variables to keep track of the menu */