Browse Source

Move the condition before the loop

Result see: https://youtu.be/AEnBzdu9_tk
Dot is moving not so fast -> less executed loops.
AnHardt 9 years ago
parent
commit
6d4b3f0d6a
1 changed files with 12 additions and 10 deletions
  1. 12
    10
      Marlin/ultralcd.cpp

+ 12
- 10
Marlin/ultralcd.cpp View File

@@ -1363,16 +1363,18 @@ void lcd_update() {
1363 1363
     #ifdef DOGLCD  // Changes due to different driver architecture of the DOGM display
1364 1364
       blink++;     // Variable for fan animation and alive dot
1365 1365
       u8g.firstPage();
1366
-      do {
1367
-        if (!dotcounter) dotcounter = 63;
1368
-        lcd_setFont(FONT_MENU);
1369
-        u8g.setPrintPos(125, 0);
1370
-//        if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot
1371
-        u8g.drawPixel(127, dotcounter--); // draw alive dot
1372
-//        u8g.setColorIndex(1); // black on white
1373
-        (*currentMenu)();
1374
-        if (!lcdDrawUpdate) break; // Terminate display update, when nothing new to draw. This must be done before the last dogm.next()
1375
-      } while( u8g.nextPage() );
1366
+      (*currentMenu)();
1367
+      if (lcdDrawUpdate) {
1368
+        do {
1369
+          if (!dotcounter) dotcounter = 63;
1370
+          lcd_setFont(FONT_MENU);
1371
+          u8g.setPrintPos(125, 0);
1372
+  //        if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot
1373
+          u8g.drawPixel(127, dotcounter--); // draw alive dot
1374
+  //        u8g.setColorIndex(1); // black on white
1375
+          (*currentMenu)();
1376
+        } while( u8g.nextPage() );
1377
+      }
1376 1378
     #else
1377 1379
       (*currentMenu)();
1378 1380
     #endif

Loading…
Cancel
Save