Skip to content

Commit 148a0ff

Browse files
strnkLCh-77
authored andcommitted
🩹 Fix ST7565 LCD contrast init (MarlinFirmware#24457)
1 parent 0a01d16 commit 148a0ff

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

Marlin/Configuration.h

+6
Original file line numberDiff line numberDiff line change
@@ -2631,6 +2631,12 @@
26312631
//
26322632
//#define SILVER_GATE_GLCD_CONTROLLER
26332633

2634+
//
2635+
// eMotion Tech LCD with SD
2636+
// https://www.reprap-france.com/produit/1234568748-ecran-graphique-128-x-64-points-2-1
2637+
//
2638+
//#define EMOTION_TECH_LCD
2639+
26342640
//=============================================================================
26352641
//============================== OLED Displays ==============================
26362642
//=============================================================================

Marlin/src/inc/Conditionals_LCD.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
#define IS_ULTIPANEL 1
100100
#define STD_ENCODER_PULSES_PER_STEP 2
101101

102-
#elif ANY(miniVIKI, VIKI2, WYH_L12864, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864)
102+
#elif ANY(miniVIKI, VIKI2, WYH_L12864, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, EMOTION_TECH_LCD)
103103

104104
#define DOGLCD
105105
#define IS_DOGM_12864 1
@@ -116,6 +116,9 @@
116116
#define IS_U8GLIB_LM6059_AF 1
117117
#elif ENABLED(AZSMZ_12864)
118118
#define IS_U8GLIB_ST7565_64128N 1
119+
#elif ENABLED(EMOTION_TECH_LCD)
120+
#define IS_U8GLIB_ST7565_64128N 1
121+
#define ST7565_VOLTAGE_DIVIDER_VALUE 0x07
119122
#endif
120123

121124
#elif ENABLED(OLED_PANEL_TINYBOY2)

Marlin/src/lcd/dogm/u8g_dev_st7565_64128n_HAL.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
#define ST7565_ON(N) ((N) ? 0xAF : 0xAE)
7575
#define ST7565_OUT_MODE(N) ((N) ? 0xC8 : 0xC0)
7676
#define ST7565_POWER_CONTROL(N) (0x28 | (N))
77-
#define ST7565_V0_RATIO(N) (0x10 | ((N) & 0x7))
7877
#define ST7565_V5_RATIO(N) (0x20 | ((N) & 0x7))
7978
#define ST7565_CONTRAST(N) (0x81), (N)
8079

@@ -106,11 +105,14 @@ static const uint8_t u8g_dev_st7565_64128n_HAL_init_seq[] PROGMEM = {
106105
ST7565_POWER_CONTROL(0x7), // power control: turn on voltage follower
107106
U8G_ESC_DLY(50), // delay 50 ms
108107

109-
ST7565_V0_RATIO(0), // Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N
108+
#ifdef ST7565_VOLTAGE_DIVIDER_VALUE
109+
// Set V5 voltage resistor ratio. Affects brightness of Displaytech 64128N
110+
ST7565_V5_RATIO(ST7565_VOLTAGE_DIVIDER_VALUE),
111+
#endif
110112

111113
ST7565_INVERTED(0), // display normal, bit val 0: LCD pixel off.
112114

113-
ST7565_CONTRAST(0x1E), // Contrast value. Setting for controlling brightness of Displaytech 64128N
115+
ST7565_CONTRAST(0x1E), // Contrast value for Displaytech 64128N
114116

115117
ST7565_ON(1), // display on
116118

0 commit comments

Comments
 (0)