Browse Source

Fixed an issue where a display with a hardware reset pin (LCD_RESET) may not get initialized properly.

dot-bob 8 years ago
parent
commit
9c410ddf68
1 changed files with 5 additions and 1 deletions
  1. 5
    1
      Marlin/ultralcd_impl_DOGM.h

+ 5
- 1
Marlin/ultralcd_impl_DOGM.h View File

240
   for (; char c = pgm_read_byte(str); ++str) lcd_print(c);
240
   for (; char c = pgm_read_byte(str); ++str) lcd_print(c);
241
 }
241
 }
242
 
242
 
243
-// Initialize or re-initializw the LCD
243
+// Initialize or re-initialize the LCD
244
 static void lcd_implementation_init() {
244
 static void lcd_implementation_init() {
245
 
245
 
246
   #if PIN_EXISTS(LCD_BACKLIGHT) // Enable LCD backlight
246
   #if PIN_EXISTS(LCD_BACKLIGHT) // Enable LCD backlight
248
   #endif
248
   #endif
249
 
249
 
250
   #if PIN_EXISTS(LCD_RESET)
250
   #if PIN_EXISTS(LCD_RESET)
251
+    OUT_WRITE(LCD_RESET_PIN, LOW); // perform a clean hardware reset
252
+    _delay_ms(5);
251
     OUT_WRITE(LCD_RESET_PIN, HIGH);
253
     OUT_WRITE(LCD_RESET_PIN, HIGH);
254
+    _delay_ms(5); // delay to allow the display to initalize
255
+    u8g.begin(); // re-initialize the display
252
   #endif
256
   #endif
253
 
257
 
254
   #if DISABLED(MINIPANEL) // setContrast not working for Mini Panel
258
   #if DISABLED(MINIPANEL) // setContrast not working for Mini Panel

Loading…
Cancel
Save