Forum: Mikrocontroller und Digitale Elektronik ug8lib picture loop aufteilen


von Tommy (Gast)


Lesenswert?

Hallo,

ich nutze die ug8lib zur Ausgabe auf ein 128x64 Oled mit software-spi. 
Momentan muss ich auch bei der soft-spi bleiben. Die Displayausgabe im 
vorgeschlagenen picture loop dauert bei mir ca. 250 - 300 ms.

in der Doku vorgeschlagener Picture Loop:
1
u8g_FirstPage(&u8g);
2
      do
3
      {
4
        draw();
5
      } while ( u8g_NextPage(&u8g);


Um den picture loop zeitlich etwas zu entzerren, würde ich den 
Framebuffer gerne verteilt schreiben und zwischenzeitlich in meine 
Hauptschleife zurückkehren.

In etwa so:
1
for(;;)
2
{
3
4
//...mache etwas anderes
5
6
if (lcd_update == 1){           //aufruf jede Sekunde
7
    lcd_update = 2;
8
    u8g_FirstPage(&u8g);
9
    draw_static();              //schreiben des statischen Anteils  
10
   }
11
   else if (lcd_update == 2){
12
   lcd_update = 0;
13
   draw_dynamic();              //schreiben des dynamischen Anteils
14
   }
15
16
17
18
}

Kurz vorweg:
So wie ich die Doku der lib verstehe, wird beim ersten Aufruf der obere 
Teil des Displays geschrieben und im zweiten Aufruf der untere. Ich 
zähle in meiner do Schleife allerdings 3 Aufrufe bis u8g_NextPage(&u8g) 
"false" wird.

Nun die Frage, wie ich meine draw() Funktionen am günstigsten aufteile? 
oben-unten oder dynamisch-statisch?

Am angenehmsten wäre mir dynamisch-statisch, da sich der dynamische Teil 
in meiner Hauptschleife permanent ändert und mir ohne vorherigen 
framebuffer-reset (u8g_FirstPage(&u8g);) Pixelgewirr entsteht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.