Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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)
Ich nutze:
C-Control II Station, OSOPT V3.1
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: