Eve FT800 Grafikunit

Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 19.10.2018 - 17:39 Uhr  ·  #33
Super, das sieht klasse aus :-)
Dann frage ich mal:

- Das Define "EVE_SPI", welche Parameter erwartet es?
Ich meine da werden definiert: SPI-Port, CS, Int, PD
CS ist klar, Chipselect, Int wird für den Touchscreen benötigt, wird PD auch verwendet?

- Die Auflösung, wird die mit EVE_Size automatisch richtig gestellt, oder muss man die irgendwo noch angeben?

- Irgendwo habe ich gelesen, dass der Treiber die Kontrolle von 2 Flashchips ermöglicht um Daten zu speichern, da konnte ich nichts weiter drüber finden, wie die angesteuert werden, welche Typen erlaubt sind usw.

- Im Originalhandbuch fangen die meisten Befehle mit CMD_xxx an, z.B. "cmd_button"
Da gibt es von FTDI auch Designer, die das "ausspucken".
Im Treiber haben diese Dinge alle andere Namen wie es scheint, aus cmd_button wird dann FT800_DrawButton, die Parameter scheinen auch anders zu sein.
Gibt es da zufällig eine Liste wie was umbenannt wurde? Das ist wohl das größte Problem, nicht zu wissen wie die Befehle heißen.
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 19.10.2018 - 18:54 Uhr  ·  #34
Noch eine Frage: Ich habe mal ein Testbild erzeugt mit einem blauen "DEMO" auf weißem Grund.
Ich speichere es als JPG.
Dann konvertiere ich das zu einem .bin mit den Tools von FTDI, Mode 4 (RGB332)
img_cvt -i 1.jpg -f 4

Das Display zeigt das "DEMO" dann leider in rot an, statt in blau.

Ändere ich die Farbe in Rot, zeigt das Display es in Blau an :-)
Irgendwo werden da also Farben vertauscht. Irgendeine Idee woran das liegen könnte?
rage
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 65
Homepage: processanalytik.de
Beiträge: 237
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 19.10.2018 - 19:55 Uhr  ·  #35
Hallo

Zitat

Noch eine Frage: Ich habe mal ein Testbild erzeugt mit einem blauen "DEMO" auf weißem Grund.
Ich speichere es als JPG.
Dann konvertiere ich das zu einem .bin mit den Tools von FTDI, Mode 4 (RGB332)
img_cvt -i 1.jpg -f 4

Das Display zeigt das "DEMO" dann leider in rot an, statt in blau.

Ändere ich die Farbe in Rot, zeigt das Display es in Blau an :-)
Irgendwo werden da also Farben vertauscht. Irgendeine Idee woran das liegen könnte?

also die vertauschen Farben sind einstellbar, im Programmierhandbuch der FT8xx findes Du dazu ein paar Sätze.
FT800_Write8(REG_SWIZZLE, DispSwizzle);
Zitat
- Das Define "EVE_SPI", welche Parameter erwartet es?
Ich meine da werden definiert: SPI-Port, CS, Int, PD
CS ist klar, Chipselect, Int wird für den Touchscreen benötigt, wird PD auch verwendet?

Ja zwingend, FTDI nennt den Pin PowerDown, als wenn LOW dann schläft der Chip, also so in der Art PowerDown und Reset in einem.
Zitat
- Die Auflösung, wird die mit EVE_Size automatisch richtig gestellt, oder muss man die irgendwo noch angeben?

Wenn Das Display passt, ist nix weiter notwendig, aber ich denke das passt nur bei den ersten Demoboards von FTDI, weil die hatte ich in der selber in der Hand. Bei anderen Displays wird Du Type User einstellen müssen und die Variablen:
Code
    FT800_Write16(REG_HCYCLE,  DispHCycle);
DispHOffset
DispHSync0
DispHSync1
DispVCycle
DispVOffset
DispVSync0
DispVSync1
DispSwizzle
DispPCLKPol
DispWidth
DispHeight
DispPCLK

entsprechen ausfüllen, auch dazu Manual lesen.
Zitat
- Irgendwo habe ich gelesen, dass der Treiber die Kontrolle von 2 Flashchips ermöglicht um Daten zu speichern, da konnte ich nichts weiter drüber finden, wie die angesteuert werden, welche Typen erlaubt sind usw.

Steht alles im Handbuch vom AvrCO unter Flashchips.
Zitat
- Im Originalhandbuch fangen die meisten Befehle mit CMD_xxx an, z.B. "cmd_button"
Da gibt es von FTDI auch Designer, die das "ausspucken".
Im Treiber haben diese Dinge alle andere Namen wie es scheint, aus cmd_button wird dann FT800_DrawButton, die Parameter scheinen auch anders zu sein.
Gibt es da zufällig eine Liste wie was umbenannt wurde? Das ist wohl das größte Problem, nicht zu wissen wie die Befehle heißen.

Nun ich habe ja nicht diese Befehle nachgebaut, sondern komplett alles umgesetzt, zum einem gab es die FTDI-Software damal noch nicht und zum andern wollte ich nicht immer so komplett Listen schreiben, sondern einfach nur ein Widget erzeugen.
Code
{*******************************************************************************}
{Zeichnet ein Button von X,Y Höhe h Breite w, options Caption                   }
{*******************************************************************************}
Function FT800_DrawButton(x, y, w, h, Font, options : Word; Caption : String[16]; Track : Byte) : Boolean;

Ich habe noch die Datei gefunden, die ich an Herrn Hofmann damals geschickt habe, damit er die Hilfe schreiben kann, ich hänge sie hier mit ran.
Ansonsten habe ich Dir meine Telefonnummer geschickt, da kann Du mich gern anrufen bei Frage.

cu rage
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 19.10.2018 - 20:22 Uhr  ·  #36
Oh super, das hilft mir schon sehr weiter, vielen Dank! :bussi:
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 23.10.2018 - 19:08 Uhr  ·  #37
Falls noch jemand mit den Riverdi-Displays herumspielt: Die Parameter für das 3,5"-TFT sind
FT800_Write16(REG_HSIZE,320);
FT800_Write16(REG_VSIZE,240);
FT800_Write16(REG_HCycle, 408);
FT800_Write16(REG_VCycle,263);
FT800_Write16(REG_HOffset,70);
FT800_Write16(REG_HSync0,0);
FT800_Write16(REG_HSync1,10);
FT800_Write16(REG_VOffset,13);
FT800_Write16(REG_VSync0,0);
FT800_Write16(REG_VSync1,2);
FT800_Write8(REG_PCLK,6);
FT800_Write8(REG_Swizzle,2);
FT800_Write8(REG_PCLK_Pol,1);

Für das größere 4,3" TFT sind es diese:
FT800_Write16(REG_HSIZE,480);
FT800_Write16(REG_VSIZE,272);
FT800_Write16(REG_HCycle, 548);
FT800_Write16(REG_VCycle,292);
FT800_Write16(REG_HOffset,43);
FT800_Write16(REG_HSync0,0);
FT800_Write16(REG_HSync1,41);
FT800_Write16(REG_VOffset,12);
FT800_Write16(REG_VSync0,0);
FT800_Write16(REG_VSync1,10);
FT800_Write8(REG_PCLK,5);
FT800_Write8(REG_Swizzle,0);
FT800_Write8(REG_PCLK_Pol,1);
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 04.11.2018 - 14:59 Uhr  ·  #38
Ich habe noch eine Frage auf die ich bisher keine Antwort finden konnte: Ist es möglich den SPI-Takt bei dem FT800-Treiber einzustellen?
Wenn ich meinen Xmega auf 48 MHz takte kommt aus dem Display nur noch Störungen.
Es wäre daher hilfreich wenn ich den Takt irgendwo einstellen könnte. Vielleicht lässt sich das ja machen.

Louis
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 05.11.2018 - 16:51 Uhr  ·  #39
Die Frage nach dem SPI-Takt ist noch aktuell.

Dann habe ich noch ein Problemchen:
Es gibt ja die Function FT800_BootupConfig:Boolean;

Nun steht in der Doku die ich habe etwas von einem
{$ELSIFDEF EVE_userDef} dass man setzen muss wenn man ein anderes Display hat, was ich ja habe.
Dann soll man "FT800_BootupConfig(LCDConfig:TFT800Config)" aufrufen.

Das klappt aber nicht, wenn ich die "EVE_userDef" setze akzeptiert er immer noch keine Variablen bei FT800_BootupConfig.
Da die Initialisierung nicht gut klappt würde ich das gerne nutzen.
rage
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 65
Homepage: processanalytik.de
Beiträge: 237
Dabei seit: 02 / 2007
Betreff:

Re: Eve FT800 Grafikunit

 · 
Gepostet: 06.11.2018 - 16:06 Uhr  ·  #40
Hallo,
der SPI-Takt ist sogesehen nicht einstellbar. Beim Aufwecken des FT8xx muß der erste Satz SPI-Daten bei ca 10 MHz gesendet werden, ist der Chip da durch kann und wird der SPI-Takt auf maximal geschalten. Beides erledigt der Treiber problemlos. Jedenfall ist mir kein Display untergekommen, welches damit nicht funktioniert hat.
Damit ein Userdef durchgeführt wird muß in Main bei EVE_Size etwas anderes eingetragen werden, ich weiß jetzt aber nicht was Herr Hofmann dort vorgesehen hat, der Compiler muß meiner Unit eines von den folgenden $IFDEF setzen,
Code
EVE_SIZE_35 or EVE_SIZE_43 or EVE_SIZE_50 or EVE_userDef

was AVRco dort erwartet kann nur Herr Hofmann beantworten.
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   141   155 · Page-Gen-Time: 0.037555s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI