Erfahrungsberich und Bug Report zu eDIP-Beta.zip V0.65b mit eDIP-TFT Kategorie: CC2-Unit & Appl.Board / CC2-Station (von Gerhard Plaschka - 1.06.2009 20:47) | ||
| ||
Hallo liebe CC2Net Programmiergemeinde! Nachdem Andre jetzt die eDIP-Beta.zip V0.65b zum Download ins Netz gestellt hat, habe ich mich mit Feuereifer ans programmieren des eDIP-TFT gestürzt! Um es Mal gleich vorweg zu nehmen es funktioniert alles zufriedenstellend nur fehlt in der eDIP-Beta.zip V0.65b noch die Funktion die die Farben bei Punkt/Geraden/Rechtecke steuert. Im EAeDIPTFT43-A Manual steht dazu auf Seite 13 folgendes: Geradenfarbe einstellen | ESC F G vf hf | Farbe vf=1..32 für Punkt/Geraden/Rechtecke einstellen; hf=Muster Hintergrundfarbe | 8,1 Im Moment helfe ich mir mit folgendem Code: string zeile; byte vf,hf; zeile="FG"+vf+hf; edip.sendframe(edipAddr,zeile,0); Aber ich hoffe doch, dass Andre die Funktion in einem Update hineinnehmen wird. Eine mögliche Variante könnte so aussehen /*************************************/ /* Geradenfarbe nur eDIP-TFT */ /*************************************/ function setLineColor(byte addr, byte fgcolor, byte bgcolor) returns int {string s; if eDipType[addr]!=4 return 0; s= "FG" + fgcolor + bgcolor; return sendframe(addr, s, 0); } Aber ich möchte Andre nicht vorgreifen denn zu viele Köche verderben den Brei! Hier noch ein paar Besonderheiten, die mir beim Programmieren der eDIP-TFT aufgefallen sind: 1.) Da man ja wahrscheinlich immer verschiedene Touch-Dialogseiten aufbauen wird, sollte man immer vor dem Aufbau des Dialoges die Befehle: edip.clrScreen(edipAddr); // Touch-Display löschen edip.removeTouch(edipAddr,0,1); // Alle Touchelemente entfernen nehmen. Sonst kann es vorkommen, dass Touch-Elemente bereits gelöschter Touch-Dialogseiten plötzlich wieder auftauchen und den Dialog durcheinanderbringen! edip.clrScreen(edipAddr) alleine ist nicht ausreichend. Ob das ein Firmware-Bug ist kann ich schwer beurteilen. 2.) Die Up- und Down Codes der Touch-Tasten sollte man immer penibel durchnummerieren und niemals gleiche Codes bei verschiedenen Touch-Tasten verwenden. Auch wenn die Touch-Tasten in verschiedenen Modulen programmiert sind. Auch das bringt die Dialoge mal durcheinander. 3.) Auch bringen gelegentliche sleep(500) oder sleep(1000) Stabilität in den Bildaufbau. Sehr zu empfehlen ist ein sleep(1000) Befehl nach der Auswertung der Touch-Taste, da die ja nach dem Drücken wieder zurückschalten muss. Sonst bin ich vom eDIP-TFT sehr begeistert. Auch die Möglichkeiten als Debug-Monitor im Terminalbetrieb sind nicht zu verachten. Ich möchte mit diesem Thread die Weiterentwicklung der eDIP-Beta.zip V0.65b vorantreiben und hoffe, dass auch andere eDIP-TFT Programmierer sich daran beteiligen! Happy programming | ||
Antwort schreiben Antworten: |