From 5f1cd701220f3eaaa1444655f8a67602ca10c8bc Mon Sep 17 00:00:00 2001
From: Dirk Eichel <eichel@bytelink.de>
Date: Tue, 19 Mar 2013 20:19:16 +0100
Subject: [PATCH] Add code to lcd_update() for GLCD

This code selects between the routines for the GLCD or the char.
display.
---
 Marlin/ultralcd.cpp | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 74dc20b91d..b243a32635 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -747,8 +747,23 @@ void lcd_update()
         if (LCD_CLICKED)
             timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
 #endif//ULTIPANEL
-        
+
+#ifdef DOGLCD        // Changes due to different driver architecture of the DOGM display
+		blink++;	   // Variable for fan animation and alive dot
+		u8g.firstPage();
+		do {
+				u8g.setFont(u8g_font_6x10_marlin);
+				u8g.setPrintPos(125,0);
+				if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot
+				u8g.drawPixel(127,63);	// draw alive dot
+				u8g.setColorIndex(1);	// black on white
+				(*currentMenu)();
+				if (!lcdDrawUpdate)  break; // Terminate display update, when nothing new to draw. This must be done before the last dogm.next()
+		   } while( u8g.nextPage() );
+#else        
         (*currentMenu)();
+#endif
+
 #ifdef ULTIPANEL
         if(timeoutToStatus < millis() && currentMenu != lcd_status_screen)
         {
-- 
GitLab