From c2363a81b47a4c5ced63fa0765c67c0a4ccf462f Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Fri, 17 Jul 2020 11:39:07 -0500
Subject: [PATCH] Fix E3V2 M0/M1 and wait_for_user

---
 Marlin/src/inc/Conditionals_adv.h      | 2 +-
 Marlin/src/lcd/dwin/rotary_encoder.cpp | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h
index e6376aec21..849add1df9 100644
--- a/Marlin/src/inc/Conditionals_adv.h
+++ b/Marlin/src/inc/Conditionals_adv.h
@@ -109,7 +109,7 @@
 #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
   #define HAS_SOFTWARE_ENDSTOPS 1
 #endif
-#if ANY(EXTENSIBLE_UI, NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS)
+#if ANY(EXTENSIBLE_UI, NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, DWIN_CREALITY_LCD)
   #define HAS_RESUME_CONTINUE 1
 #endif
 
diff --git a/Marlin/src/lcd/dwin/rotary_encoder.cpp b/Marlin/src/lcd/dwin/rotary_encoder.cpp
index 71a0772d5a..e4d60b4ce3 100644
--- a/Marlin/src/lcd/dwin/rotary_encoder.cpp
+++ b/Marlin/src/lcd/dwin/rotary_encoder.cpp
@@ -49,9 +49,9 @@ ENCODER_Rate EncoderRate;
 
 /*蜂鸣器响*/
 void Encoder_tick(void) {
-  WRITE(BEEPER_PIN,1);
+  WRITE(BEEPER_PIN, 1);
   delay(10);
-  WRITE(BEEPER_PIN,0);
+  WRITE(BEEPER_PIN, 0);
 }
 
 /*编码器初始化 PB12:Encoder_A PB13:Encoder_B PB14:Encoder_C*/
@@ -88,7 +88,9 @@ ENCODER_DiffState Encoder_ReceiveAnalyze(void) {
       #if PIN_EXISTS(LCD_LED)
         //LED_Action();
       #endif
-      return ENCODER_DIFF_ENTER;
+      const bool was_waiting = wait_for_user;
+      wait_for_user = false;
+      return was_waiting ? ENCODER_DIFF_NO : ENCODER_DIFF_ENTER;
     }
     else return ENCODER_DIFF_NO;
   }
-- 
GitLab