From 7a29f802d024cfd2fdb76364e748e0249ba96445 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Tue, 26 Sep 2017 23:34:09 -0500
Subject: [PATCH] Fix ENCODER_PULSES_PER_STEP for G3D_PANEL

---
 Marlin/src/inc/Conditionals_LCD.h | 45 ++++++++++++++++++++-----------
 Marlin/src/lcd/ultralcd.cpp       | 10 -------
 Marlin/src/pins/pins_ANET_10.h    |  8 ++----
 3 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h
index af1f7e08be..3f8092d233 100644
--- a/Marlin/src/inc/Conditionals_LCD.h
+++ b/Marlin/src/inc/Conditionals_LCD.h
@@ -195,23 +195,38 @@
 
     #define ENCODER_FEEDRATE_DEADZONE 4
 
-    #ifndef ENCODER_PULSES_PER_STEP
-      #define ENCODER_PULSES_PER_STEP 1
-    #endif
-    #ifndef ENCODER_STEPS_PER_MENU_ITEM
-      #define ENCODER_STEPS_PER_MENU_ITEM 2
-    #endif
+    #define STD_ENCODER_PULSES_PER_STEP 1
+    #define STD_ENCODER_STEPS_PER_MENU_ITEM 2
+
+  #elif ENABLED(G3D_PANEL)
+
+    #define STD_ENCODER_PULSES_PER_STEP 2
+    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
+
+  #elif ENABLED(miniVIKI) || ENABLED(VIKI2) \
+     || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
+     || ENABLED(OLED_PANEL_TINYBOY2) \
+     || ENABLED(BQ_LCD_SMART_CONTROLLER) \
+     || ENABLED(LCD_I2C_PANELOLU2) \
+     || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #define STD_ENCODER_PULSES_PER_STEP 4
+    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
   #endif
 
-  // Set encoder detents for well-known controllers
-  #if ENABLED(miniVIKI) || ENABLED(VIKI2) || ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) || ENABLED(OLED_PANEL_TINYBOY2) \
-   || ENABLED(BQ_LCD_SMART_CONTROLLER) || ENABLED(LCD_I2C_PANELOLU2) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
-    #ifndef ENCODER_PULSES_PER_STEP
-      #define ENCODER_PULSES_PER_STEP 4
-    #endif
-    #ifndef ENCODER_STEPS_PER_MENU_ITEM
-      #define ENCODER_STEPS_PER_MENU_ITEM 1
-    #endif
+  #ifndef STD_ENCODER_PULSES_PER_STEP
+    #define STD_ENCODER_PULSES_PER_STEP 5
+  #endif
+  #ifndef STD_ENCODER_STEPS_PER_MENU_ITEM
+    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
+  #endif
+  #ifndef ENCODER_PULSES_PER_STEP
+    #define ENCODER_PULSES_PER_STEP STD_ENCODER_PULSES_PER_STEP
+  #endif
+  #ifndef ENCODER_STEPS_PER_MENU_ITEM
+    #define ENCODER_STEPS_PER_MENU_ITEM STD_ENCODER_STEPS_PER_MENU_ITEM
+  #endif
+  #ifndef ENCODER_FEEDRATE_DEADZONE
+    #define ENCODER_FEEDRATE_DEADZONE 6
   #endif
 
   // Shift register panels
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index fdb5b3b529..450dae7dd4 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -247,16 +247,6 @@ uint16_t max_display_update_time = 0;
   //////////// Menu System Macros ////////////
   ////////////////////////////////////////////
 
-  #ifndef ENCODER_FEEDRATE_DEADZONE
-    #define ENCODER_FEEDRATE_DEADZONE 10
-  #endif
-  #ifndef ENCODER_STEPS_PER_MENU_ITEM
-    #define ENCODER_STEPS_PER_MENU_ITEM 5
-  #endif
-  #ifndef ENCODER_PULSES_PER_STEP
-    #define ENCODER_PULSES_PER_STEP 1
-  #endif
-
   /**
    * MENU_ITEM generates draw & handler code for a menu item, potentially calling:
    *
diff --git a/Marlin/src/pins/pins_ANET_10.h b/Marlin/src/pins/pins_ANET_10.h
index cf97170bcd..8668681bf4 100644
--- a/Marlin/src/pins/pins_ANET_10.h
+++ b/Marlin/src/pins/pins_ANET_10.h
@@ -182,12 +182,8 @@
     #define ST7920_DELAY_1 DELAY_0_NOP
     #define ST7920_DELAY_2 DELAY_1_NOP
     #define ST7920_DELAY_3 DELAY_2_NOP
-    #ifndef ENCODER_STEPS_PER_MENU_ITEM
-      #define ENCODER_STEPS_PER_MENU_ITEM 1
-    #endif
-    #ifndef ENCODER_PULSES_PER_STEP
-      #define ENCODER_PULSES_PER_STEP 4
-    #endif
+    #define STD_ENCODER_PULSES_PER_STEP 4
+    #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
   #endif
 #endif  // ULTRA_LCD && NEWPANEL