Aktualisierung OLED durch Drehgeber

Hallo,

okay, ich hatte die Funktionen verwechselt. Entschuldigung. Ich bin manchmal zu schnell für diese Welt. :wink:

Allerdings trifft das Gesagte dann fast 1:1 auf die renderDisplay Funktion zu. Nun gut, lassen wir das, ist jetzt nicht die Baustelle die man zuerst angehen sollte. Weil das ändert sich noch wenn du agmues Vorschlag umsetzt. Und den musst du umsetzen. Eine generelle Aktualisierung aller 0,5s oder 1s muss auch noch rein.

Wobei deine renderDisplay Funktion an sich schon etwas seltsam ist. Jedesmal legst du die Schriftgröße fest. Ändert sich aber nie. Jedesmal wird 4x der Cursor gesetzt und die gleichen Zeichen geschrieben. Es ändert sich nichts. Was scheinbar komplett übersehen wird ist, du änderst mit jedem Aufruf der Funktion 2x bis 3x mal die Farbe. Gehe mal die Abfragen durch was alles wie passiert. Ich wette du wolltest du hier switch case verwenden.

Ich könnte vermuten das Farben setzen kosten die meiste Zeit.

Mich würde mal interessieren wieviel Zeit das kostet.

void loop()
{
  uint8_t x = R.read();
  if(x != 0){
   Serial.println(x);
   processEncoder(x);
   unsigned long start = micros();
   renderDisplay(menuEntry);
   Serial.println(micros()-start);
  }
}