Go Down

Topic: TFT Display löschen (Read 876 times) previous topic - next topic

Arduinokiller

Hallo zusammen,
gibt es eine Möglichkeit die Inhalt eines TFT Displays nur teilweise zu löschen? Mit clrScr() wird ja immer der ganze Inhalt gelöscht. Display 400*240 3.2" WideScreen mit ArduinoMega.

pylon

Welche Bibliothek verwendest Du?

uwefed

Welches Display hast Du?

Arduinokiller

Ich verwende Arduino 0023, als Bibliotheken ITDB32_Touch und ITDB02_Graph16 (bzw. ITDB02_Touch und ITDB02_Graph). Das Display ist ein ITDB02-3.2WD.

pylon


COOL

Das ist ein "blödes" Problem, was immer wieder ärgerlich aufstösst. Du kannst es tatsächlich nur lösen, wenn die Zellen überschrieben werden, hinzu kommt noch, dass jedes mal dann ein "Flackern" sichtbar wird :-((

Gruß Gerd

Arduinokiller

Das Flackern wäre wahrscheinlich kein Problem, es sollen auf dem Display die virtuellen Steuertasten ausgeblendet, bzw. überschrieben werden. Mach ich z.Zt. mit fillRect(), ist aber ziemlich aufwendig, da immer
mit setColor, setBackColor die Farben entsprechend angepasst werden müssen. 

pylon

Du kannst auch die Library anpassen und eine Methode clearRect() oder so integrieren, ich bezweifle aber, dass dies die Mühe wert ist.

Arduinokiller

Das mit dem Anpassen ist keine schlechte Idee. Da meine Kenntnisse in diese Richtung nicht sonderlich gut sind, habe ich das bisher gelassen.
Nach mehreren Versuchen habe ich dann folgendes in die ITDB02_Graph16 Lib reingebastelt:

void ITDB02::clrRect(int x1, int y1, int x2, int y2)
{
   long i;
   
   *P_CS &= ~B_CS;
   if (orient==PORTRAIT)
      setXY(y1,x1,y2,x2);
   else
      setXY(x1,y1,x2,y2);
   *P_RS |= B_RS;
   for (i=0; i<(240*(disp_y_size+1)); i++)
   {
      LCD_Writ_Bus(0,0);
   }
   *P_CS |= B_CS;
}

und im Keyword.txt den Eintrag "clrRect  KEYWORD2" , es funktioniert wie gewünscht.
Die Mühe war es wert, da ich bisher immer mit setColor und fillRect die Displayanzeige überschrieben habe. Ist sehr umständlich da die Anzeige in verschiedene (farbige) Bereiche eingeteilt ist, die auch ihre Farbe verändern (je nach dargestellter Info).

Go Up