Add 'BTN_ENC_EN' for SKR V1.4 with DOGM (#19796)

This commit is contained in:
Gurmeet Athwal 2020-10-25 06:11:52 +05:30 committed by Scott Lahteine
parent b586a30e7b
commit a625fee035
3 changed files with 18 additions and 2 deletions

View file

@ -337,6 +337,10 @@ void MarlinUI::init() {
SET_INPUT_PULLUP(BTN_ENC); SET_INPUT_PULLUP(BTN_ENC);
#endif #endif
#if BUTTON_EXISTS(ENC_EN)
SET_INPUT_PULLUP(BTN_ENC_EN);
#endif
#if BUTTON_EXISTS(BACK) #if BUTTON_EXISTS(BACK)
SET_INPUT_PULLUP(BTN_BACK); SET_INPUT_PULLUP(BTN_BACK);
#endif #endif
@ -957,7 +961,10 @@ void MarlinUI::update() {
#endif // ENCODER_RATE_MULTIPLIER #endif // ENCODER_RATE_MULTIPLIER
// Update position only when ENC_EN is HIGH
if (TERN1(BTN_ENC_EN, !BUTTON_PRESSED(ENC_EN)))
encoderPosition += (encoderDiff * encoderMultiplier) / epps; encoderPosition += (encoderDiff * encoderMultiplier) / epps;
encoderDiff = 0; encoderDiff = 0;
} }
@ -1175,7 +1182,8 @@ void MarlinUI::update() {
if (BUTTON_PRESSED(EN2)) newbutton |= EN_B; if (BUTTON_PRESSED(EN2)) newbutton |= EN_B;
#endif #endif
#if BUTTON_EXISTS(ENC) #if BUTTON_EXISTS(ENC)
if (BUTTON_PRESSED(ENC)) newbutton |= EN_C; // Update button only when ENC_EN is HIGH
if (TERN1(BTN_ENC_EN, !BUTTON_PRESSED(ENC_EN)) && BUTTON_PRESSED(ENC)) newbutton |= EN_C;
#endif #endif
#if BUTTON_EXISTS(BACK) #if BUTTON_EXISTS(BACK)
if (BUTTON_PRESSED(BACK)) newbutton |= EN_D; if (BUTTON_PRESSED(BACK)) newbutton |= EN_D;

View file

@ -399,6 +399,11 @@
#define LCD_PINS_D5 P1_21 #define LCD_PINS_D5 P1_21
#define LCD_PINS_D6 P1_22 #define LCD_PINS_D6 P1_22
#define LCD_PINS_D7 P1_23 #define LCD_PINS_D7 P1_23
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif #endif
#endif // !FYSETC_MINI_12864 #endif // !FYSETC_MINI_12864

View file

@ -147,6 +147,9 @@
#if defined(BTN_EN2) && BTN_EN2 >= 0 #if defined(BTN_EN2) && BTN_EN2 >= 0
REPORT_NAME_DIGITAL(__LINE__, BTN_EN2) REPORT_NAME_DIGITAL(__LINE__, BTN_EN2)
#endif #endif
#if defined(BTN_ENC_EN) && BTN_ENC_EN >= 0
REPORT_NAME_DIGITAL(__LINE__, BTN_ENC_EN)
#endif
#if defined(BTN_ENC) && BTN_ENC >= 0 #if defined(BTN_ENC) && BTN_ENC >= 0
REPORT_NAME_DIGITAL(__LINE__, BTN_ENC) REPORT_NAME_DIGITAL(__LINE__, BTN_ENC)
#endif #endif