Eve FT800 Grafikunit

  • 1
  • 2
  • 3
  • 6
  • 7
  • 8
  • 9
  • Page 7 of 9
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 07.11.2018 - 13:12  ·  #49
Hallo
Also wir betreiben die unterschiedlichsten Konfigurationen, zum einen einige eigene Platinen. Dort sind die Chips auf dem Board verlötet, hier logischerweise mit kurzem Weg vom Prozessor zum Display. Aber auch mit 30 cm Flachbandleitung zum Chip, hier gibt auch keinerlei Problem. Bei diesen Konfigurationen verwenden wir im Regelfall die VMxxx-Boards von FTDI, hier sind ein den SPI-Leitungen Widerstände zur Reflektionsdämmung drin, vieleicht hilft sowas..
Zur Geschwindigkeit folgendes. Ich habe ca 20 Screens im Programm, zwischen denen wird mit Scrolling hin und her geschalten, hier liegt der Screenaufbau alle 200 ms. Ansonsten wird pro Sekunde ein Screen gezeichnet. Mich hat zum Anfang auch das Bauchschmerzgefühl beschlichen, wegen der Sekundenanzeige immer das ganze Bild, aber das war ganz schnell weg.
cu rage
P.S. Ich mach mal am WE ein Video von der Firmware, dann kann man das gut sehen.
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 12.11.2018 - 16:46  ·  #50
Es gibt im FT800 ja auch den Append-Befehl, mit dem man statischen Inhalt aus einem Speicherbereich kopieren kann, was enorm viel Zeit sparen kann. Unterstützt der Treiber das auch?

Es gibt da eine AN unter
https://www.ftdichip.com/Suppo…Append.pdf

Leider komme ich da momentan nicht weiter.
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 13.11.2018 - 12:20  ·  #51
Hallo
den Append-Befehl habe ich nicht unterstütz, da er in meinen Augen nur hilfreich ist, wenn man solche Dinge tut wie im Dokument dargestellt wird. Mein Haupaugenmerk liegt eher auf einer Bedienoberfläche mit Buttons Anzeigen etc. Man kann wenn man sich die Listen ansieht, siehe Screeneditor der Eve-Software, eine Menge veranstalten, aber ich wollte nicht für jeden Screen einen solchen Aufwand betreiben. Als einzige Optimierung habe ich das Weglassen von Farbsetz-Befehlen eingebaut, wenn die Farbe schon gesetzt ist. Button an X,Y mit h,w Zeichnen, folgende Beschriftung, Enabled oder Disabled, gedrückt oder nicht gedrückt, Tastenton bei Betätigung, fertig. Alles auf einem beliebigen TFT mit bis zu 800 x 600 Pixeln.
Was ich noch in betract ziehe ist eine Optimierung, das nicht jeder Befehl ein CE-High->CE-Low->CE-High braucht, sondern eine komplette Gruppe, das spart sicher ein wenig Zeit. Die nächste Sache, ob es nicht besser wäre, statt vieler einzelner Optionen einen Record mit Optionen und dann nur den Zeiger dahin mit übergeben, aber da kenne ich die Internas des AvrCo nicht, ob das dann die ganze Arbeit rechtfertigt, wenn hintendran nur ein marginaler Effekt rauskommt. Wir sind mit dem gebotenen mehr als zufrieden. Die Entwicklung neuer Screens geht recht schnell. Den mal angedachten Screeneditor, ja für ein User lohnt sich der Aufwand einfach nicht, da gehen auch Wochen von Manpower ins Land.
Was ich mit dem Treiber erreichen wollte sieht man in den folgenden Videos
[youtube]https://youtu.be/YhurLGtZwi4[/youtube]
Display 480 x 272 Pixel
[youtube]https://youtu.be/JLeUPESytcY[/youtube]
Display 640 x 480 Pixel
[youtube]https://youtu.be/EL5SO-dVM9g[/youtube]
Display 320 x 240 Pixel
Alle Geräte sind mehrsprachig, bis hin zu Chinesisch, haben einen USB-Anschluß, SD-Karte, Modbus, RS485-Netz. Livedatenübertragung mit WLAN oder USB, Messdatenberechnung mit Fix64, die beiden Großen Multiprozessor-Netz. Und alles funktioniert zur Zufriedenheit. OK, meine Haare sind mittlerweiler grauer. Aber auch an der Stelle muß man mal sagen, AvrCo ist sehr hilfreich gewesen.
cu rage
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 14.11.2018 - 13:59  ·  #52
Danke für die Demos, die sehen wirklich gut aus :-)

Ich habe das Problem, dass ich 3 Werte ändern muss während ich Inkrementalencoderdaten verarbeite, und zwar eine Menge davon.
Mit einem normalen LCD klappt das bis 3000 U/min, ich muss halt jetzt schauen wie ich dieselbe Leistung mit dem TFT hin bekomme.
Das muss schon 10x pro Sekunde neu gezeichnet werden damit es flüssig aussieht.
Da kommt der Append-Befehlt passend, aber evtl. kann ich das auch anders machen.

Ich benutze den Screendesigner vom Hersteller, und benenne die Befehle dann passend um, das klappt ganz gut.
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 06.01.2019 - 13:15  ·  #53
Ich habe ein Problemchen mit der EVE unit, und zwar kann ich Bilder nur ganz zu Anfang der Liste laden.
Sobald ich irgendetwas davor zeichne, z.B. ein Viereck, werden die Bilder nicht mehr angezeigt oder es zerschießt die ganze Anzeige.
Irgend etwas läuft da anscheinend über, aber ich kann es nicht finden.

So gehts:
Code

FT800_LoadStreamToMem(@img_1, Sizeof(img_1), 0);
FT800_InitScreen($FFFFFF);
FT800_LoadBitmaptoDisplay(0, 0, RGB332, 50, 112, 176, 116, 0);  
FT800_SwapScreen;

So gehts nicht:

Code

FT800_LoadStreamToMem(@img_1, Sizeof(img_1), 0);
FT800_InitScreen($FFFFFF);
[bcolor=#FF0040]FT800_SetColorLong($0011FF);         
FT800_DrawRect(0, 0, 480, 41, 1); [/bcolor]
FT800_LoadBitmaptoDisplay(0, 0, RGB332, 50, 112, 176, 116, 0);  
FT800_SwapScreen;


Update:
Es liegt an der Art und Weise wie die Unit die Bitmaps reinlädt.

Der FTDI EVE-Screendesigner setzt die Befehle
Code

 BITMAP_HANDLE(handle)
 BITMAP_SOURCE($1234)
 BITMAP_LAYOUT(RGB332, xx, yy)
ganz an den Anfang der Displaylist.

An der Stelle wo die Bitmap dann erscheinen soll folgt die Platzierung mit
Code
BEGIN(BITMAPS)
VERTEX2II(x, y, handle, 0)
END()

Die Procedure FT800_LoadBitmaptoDisplay macht das alles hinter einander, was nicht in Ordnung ist.

Ich habe mir daher die Procedure in 2 Teile geteilt und vereinfacht, damit klappt es dann auch mitten im screen:
Code

procedure FT800_LoadBitmapHeadertoDisplay(Handle: byte; Source: longword; Format: byte; x, y, w, h, z: word);
begin
  FT800_WriteCMD32(BITMAP_HANDLE(Handle));                      // Set Handle
  FT800_WriteCMD32(BITMAP_SOURCE(Source));                      // Set Adr in Mem
  FT800_WriteCMD32(BITMAP_LAYOUT(Format, w, h));             
  FT800_WriteCMD32(BITMAP_SIZE(FALSE, FALSE, FALSE, w, h));
end;

procedure FT800_LoadBitmapDatatoDisplay(Handle: byte; Source: longword; Format: byte; x, y, w, h, z: word);
begin
  FT800_WriteCMD32(PrimitiveBegin(verBITMAPS));               // Begin Punkt
  FT800_WriteCMD32(VERTEX2II(x , y , handle,0));//, 0, 0)); // draw the image at (x,y)
  FT800_WriteCMD32(PrimitiveEnd);
end;


FT800_LoadBitmapHeadertoDisplay wird gleich nach dem FT800_initscreen() aufgerufen, jedes Bitmap erhält ein eigenes Handle.
FT800_LoadBitmapDatatoDisplay wird dort aufgerufen wo das Bitmap erscheinen soll.

Code

procedure Update_tft; 
begin
  FT800_InitScreen($FFFFFF);          //
  // Erst alle Bitmnaps als Header laden
  FT800_LoadBitmapHeadertoDisplay(0, 0, RGB332, 50, 112, 176, 116, 0);    //  176 x 116
  FT800_LoadBitmapHeadertoDisplay(1, adr1, RGB332, 211, 212, 36, 54, 0); //  36x54

  FT800_SetColorLong($0011FF);          // Blauer Balken
  FT800_DrawRect(0, 0, 480, 41, 1);
  FT800_SetColorLong($FFFFFF);
  FT800_DrawText(2, 6, 29, 0, 'HALLO');

  FT800_SetColorLong($A9A9A9);         
  FT800_DrawRect(0, 84, 204, 205, 1);

  FT800_SetColorLong($FFFFFF); 
  FT800_LoadBitmapDatatoDisplay(0, 0, RGB332, 50, 112, 176, 116, 0);    // 1 176 x 116
  FT800_LoadBitmapDatatoDisplay(1, adr1, RGB332, 211, 212, 36, 54, 0); // 2  36x54
  
  usw.

Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 28.04.2019 - 08:39  ·  #54
Ich habe noch eine Frage zur FT800-Unit.

Es gibt da ja eine Erweiterung uFT800ROM mit der man Daten aus einem Flash nutzen kann.

Gibt es dazu evtl. ein Beispiel wie man das einsetzt?

Und wie speichert man die Daten ins Flash, also Bildformat und Reihenfolge usw.
Ich kann mit meinem Programmer auch Flash-Chips schreiben, ich frage mich aber wie man eine passende Datei mit Bildern für den FT800 aufbereitet um sie dann schreiben zu können.
rage
Benutzer
Avatar
Gender: n/a
Age: 65
Homepage: processanalytik.de
Posts: 237
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 06.05.2019 - 12:18  ·  #55
Hallo,
sorry für die späte Antwort, aber ich hatte tatsächlich mal Urlaub. Ja dazu dient die uFT800ROM. Um Bilder dafür in eine ROM-Datei aufzubereiten, dient der Eve/FT800 Picture-Editor. Dazu habe ich auch eine Hilfe mitgeliefert. Ein Demo dafür habe ich nicht wirklich geliefert, eildieweil das Hardwaretechnisch so unterschiedlich ist, das ich nicht wirklich wusste wie man das am besten erstellt. Aber da Du ja meine Telefonnummer hast, ruf einfach an dann können wir das bereden.

cu rage
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Eve FT800 Grafikunit

 · 
Posted: 06.05.2019 - 18:12  ·  #56
Urlaub ist etwas schönes, hatte ich auch gerade :-)

Vielen Dank für den Tipp, die Doku dazu hatte ich natürlich im Menü nie gesehen...Und den Resourceneditor natürlich auch nicht..
Damit wirds natürlich klarer :-) Tolles tool, es ist wirklich schade, dass die ganze FT80x-tools so ein Schattendasein fristen, man kann damit wirklich leistungsfähige Grafik machen.
Danke für den Tipp, damit kann ich jetzt viel mehr Bilder verwenden, mein Speicher wurde schon knapp.
  • 1
  • 2
  • 3
  • 6
  • 7
  • 8
  • 9
  • Page 7 of 9
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   141   155 · Page-Gen-Time: 0.042158s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI