Browse Source

Merge pull request #4264 from thinkyhead/rc_ultralcd_encoder_pos

Remove extraneous conditions for encoder position
pull/1/head
Scott Lahteine 8 years ago
committed by GitHub
parent
commit
973a669aa3
  1. 25
      Marlin/ultralcd.cpp

25
Marlin/ultralcd.cpp

@ -398,11 +398,8 @@ uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to
if (currentScreen != screen) { if (currentScreen != screen) {
currentScreen = screen; currentScreen = screen;
lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
encoderTopLine = 0; encoderPosition = encoder;
#if ENABLED(NEWPANEL) if (feedback) lcd_quick_feedback();
encoderPosition = encoder;
if (feedback) lcd_quick_feedback();
#endif
if (screen == lcd_status_screen) { if (screen == lcd_status_screen) {
defer_return_to_status = false; defer_return_to_status = false;
screen_history_depth = 0; screen_history_depth = 0;
@ -419,9 +416,7 @@ uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to
inline void lcd_save_previous_menu() { inline void lcd_save_previous_menu() {
if (screen_history_depth < COUNT(screen_history)) { if (screen_history_depth < COUNT(screen_history)) {
screen_history[screen_history_depth].menu_function = currentScreen; screen_history[screen_history_depth].menu_function = currentScreen;
#if ENABLED(ULTIPANEL) screen_history[screen_history_depth].encoder_position = encoderPosition;
screen_history[screen_history_depth].encoder_position = encoderPosition;
#endif
++screen_history_depth; ++screen_history_depth;
} }
} }
@ -429,10 +424,10 @@ uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to
static void lcd_goto_previous_menu(bool feedback=false) { static void lcd_goto_previous_menu(bool feedback=false) {
if (screen_history_depth > 0) { if (screen_history_depth > 0) {
--screen_history_depth; --screen_history_depth;
lcd_goto_screen(screen_history[screen_history_depth].menu_function, feedback lcd_goto_screen(
#if ENABLED(ULTIPANEL) screen_history[screen_history_depth].menu_function,
, screen_history[screen_history_depth].encoder_position feedback,
#endif screen_history[screen_history_depth].encoder_position
); );
} }
else else
@ -2444,7 +2439,7 @@ void lcd_init() {
SET_INPUT(BTN_RT); SET_INPUT(BTN_RT);
#endif #endif
#else // Not NEWPANEL #else // !NEWPANEL
#if ENABLED(SR_LCD_2W_NL) // Non latching 2 wire shift register #if ENABLED(SR_LCD_2W_NL) // Non latching 2 wire shift register
pinMode(SR_DATA_PIN, OUTPUT); pinMode(SR_DATA_PIN, OUTPUT);
@ -2459,7 +2454,7 @@ void lcd_init() {
WRITE(SHIFT_EN, LOW); WRITE(SHIFT_EN, LOW);
#endif // SR_LCD_2W_NL #endif // SR_LCD_2W_NL
#endif//!NEWPANEL #endif // !NEWPANEL
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT)
SET_INPUT(SD_DETECT_PIN); SET_INPUT(SD_DETECT_PIN);
@ -2875,6 +2870,7 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
GET_BUTTON_STATES(buttons); GET_BUTTON_STATES(buttons);
#endif //!NEWPANEL #endif //!NEWPANEL
// Manage encoder rotation
#if ENABLED(REVERSE_MENU_DIRECTION) && ENABLED(REVERSE_ENCODER_DIRECTION) #if ENABLED(REVERSE_MENU_DIRECTION) && ENABLED(REVERSE_ENCODER_DIRECTION)
#define ENCODER_DIFF_CW (encoderDiff -= encoderDirection) #define ENCODER_DIFF_CW (encoderDiff -= encoderDirection)
#define ENCODER_DIFF_CCW (encoderDiff += encoderDirection) #define ENCODER_DIFF_CCW (encoderDiff += encoderDirection)
@ -2890,7 +2886,6 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
#endif #endif
#define ENCODER_SPIN(_E1, _E2) switch (lastEncoderBits) { case _E1: ENCODER_DIFF_CW; break; case _E2: ENCODER_DIFF_CCW; } #define ENCODER_SPIN(_E1, _E2) switch (lastEncoderBits) { case _E1: ENCODER_DIFF_CW; break; case _E2: ENCODER_DIFF_CCW; }
//manage encoder rotation
uint8_t enc = 0; uint8_t enc = 0;
if (buttons & EN_A) enc |= B01; if (buttons & EN_A) enc |= B01;
if (buttons & EN_B) enc |= B10; if (buttons & EN_B) enc |= B10;

Loading…
Cancel
Save