ich versuch mich gerade an einem ft800 ...
ich hab versucht mich durch die docu zu arbeiten und mir
die wirklich umfangreichen beispiele angesehen, aber sorry, der scheiß
ist so komplex und die examples so schlecht, dass ist echt unfassbar
oder ich hab zu wenig masse zwischen dne ohren
ich hab soweit verstanden das die ft80x irgendwie anders funktionieren
und mit 2 display listen arbeiten die dann immer umgeschaltet werden,
nur ein beispiel gibt es dafr nicht oder ich find es ienfach nicht
eventuell liest hier jemand mit der mir auf die sprünge helfen kann
oder einen link zu einer brauchbaren docu bei der hand hat ...
folgendes schreibt halt mal was auf's display,
wenn mir jemand eventuell erklären könnte wie man z.b.
in jedem loop die farbe des textes umschaltet würde sich mein
verständnis sicher deutluch erweitern ...
1
#include"SPI.h"
2
#include"Wire.h"
3
#include"FT_VM800P43_50.h"
4
5
FT800IMPL_SPIFTImpl(6,5,2);
6
7
int16_tBootupConfigure(){
8
uint32_tchipid=0;
9
FTImpl.Init(FT_DISPLAY_RESOLUTION);
10
delay(20);
11
chipid=FTImpl.Read32(FT_ROM_CHIPID);
12
13
if(FT800_CHIPID!=chipid){
14
Serial.print("Error in chip id read ");
15
Serial.println(chipid,HEX);
16
return1;
17
}else{
18
Serial.print("Chip id read: ");
19
Serial.println(chipid,HEX);
20
}
21
22
FTImpl.SetDisplayEnablePin(FT_DISPENABLE_PIN);
23
FTImpl.SetAudioEnablePin(FT_AUDIOENABLE_PIN);
24
FTImpl.DisplayOn();
25
FTImpl.AudioOff();
26
return0;
27
}
28
29
voidHelloWorld(){
30
constcharDisplay_string[18]="was du wollen ...";
31
FTImpl.DLStart();// start display list
32
FTImpl.ColorRGB(0xFF,0xFF,0xFF);// set color of string
Ray M. schrieb:> folgendes schreibt halt mal was auf's display,> wenn mir jemand eventuell erklären könnte wie man z.b.> in jedem loop die farbe des textes umschaltet würde
richte dir zb 2 Display Listen her. In der einen hast du den Text in der
einen Farbe, in der anderen hast du ihn in der anderen Farbe.
In der Loop lässt du dann abwechselnd eine der beiden Display Listen
rendern.
Die die Display Listen als eine Beschreibung dessen an, was du am Schirm
sehen willst. Ob es Funktionen gibt, mit denen man die Listen im
Nachhinein noch manipulieren kann, weiss ich nicht (hab die Doku nicht
studiert). Aber in dem Moment, in dem du die Finish() Funktion aufrufst,
rendert sich offenbar diese Display Liste aufs Display und du siehst
ihren Inhalt. Oder was ist am Kommentar
1
FTImpl.Finish();// render the display list and wait for the completion of the DL
nicht verständlich?
Jetzt liegt es eben an dir, die Display Listen je nach Bedarf
zusammenzustellen, neu zu generieren oder wenn möglich: mit Funktionen
zu manipulieren. Ist deine Manipulation fertig, dann 'aktivierst' du
sie, in dem du Finish() aufrufst.
Hi Ray,
ich habe mir das TFT Modul ConnectEVE von http://www.mikroe.com/
besorgt. Das hat ja auch den FT800 drauf.
Schau mal auf der homepage nach examples.
Ich seleber habe enen Beispielcode für den PIC32 im Microchip forum
gefunden.
Tja, das Display ist angesöpselt, leider ist mein Rechner zur Zeit zur
Reparatur.....Werde in den nächsten Tagen damit weitermachen..
Gruß Dirk
Karl H. schrieb:> Jetzt liegt es eben an dir, die Display Listen je nach Bedarf> zusammenzustellen, neu zu generieren oder wenn möglich: mit Funktionen> zu manipulieren. Ist deine Manipulation fertig, dann 'aktivierst' du> sie, in dem du Finish() aufrufst.
Und der Sinn der Sache ist es natürlich, dass man in aller Ruhe das
nächste anzuzeigende Bild vorbereiten kann, während noch das alte Bild
angezeigt wird. und zwar so, dass man als Benutzer nicht sieht, wie sich
das Bild langsam aus den diversen Datenquellen aufbaut, weil da ev.
umfangreichere Berechnungen notwendig sind. Erst wenn mithilfe der
Display Liste das nächste anzuzeigende Bild komplett beschrieben wurde,
wird es mit einem Schlag aktiviert und damit sichtbar.
FTImpl.Finish();// render the display list and wait for the completion of the DL
50
}
51
}
ev. muss vor dem DLStart() noch ein Aufruf rein, der die vorhergehende
Liste löscht. Kann aber auch sein, dass der DLStart() das gleich
mitmacht. Kann man aber rauskriegen, indem man im Sekundentakt nicht nur
die Farbe ändert, sondern zb auch die Position des Textes.
Kennste das schon?:
http://www.ftdichip.com/Support/Documents/ProgramGuides/FT800%20Programmers%20Guide.pdf
Die jeweils neue Display Liste wird in einen Ringbuffer geschrieben, und
es gibt einen "SWAP" Befehl, um auf diese Liste umzuschalten.
Das Lästige ist: du musst jedesmal die komplette Liste neu in den
Ringbuffer schreiben, wenn sich auch nur ein Element ändert.
Es gibt aber auch die Möglichkeit, direkt in das Display-RAM zu
schreiben (pixelweise, wenn du die Zeichenfunktionen nicht brauchst).
folgender code tut schonmal was, farbe und position wechseln,
nur stabil ist das nich, mal schaft er 3 durchläufe mal 100 mal 20
usw...
irgendwas stimmt da noch nicht ... ;)
Karl H. schrieb:> Karl H. schrieb:>>> Jetzt liegt es eben an dir, die Display Listen je nach Bedarf>> zusammenzustellen, neu zu generieren oder wenn möglich: mit Funktionen>> zu manipulieren. Ist deine Manipulation fertig, dann 'aktivierst' du>> sie, in dem du Finish() aufrufst.>> Und der Sinn der Sache ist es natürlich, dass man in aller Ruhe das> nächste anzuzeigende Bild vorbereiten kann, während noch das alte Bild> angezeigt wird. und zwar so, dass man als Benutzer nicht sieht, wie sich> das Bild langsam aus den diversen Datenquellen aufbaut, weil da ev.> umfangreichere Berechnungen notwendig sind. Erst wenn mithilfe der> Display Liste das nächste anzuzeigende Bild komplett beschrieben wurde,> wird es mit einem Schlag aktiviert und damit sichtbar.
schon klar, der sinn von double-buffer ist mir noch aus alten
dos-vga-demo-zeiten bekannt ...
es geht um ein brauchbares beispiel weil ich zu doof bin mir aus der
umfangreichen docu was sinnvolles zusammenzureimen ... ;)
DirkF schrieb:> Hi Ray,> ich habe mir das TFT Modul ConnectEVE von http://www.mikroe.com/> besorgt. Das hat ja auch den FT800 drauf.
das hab ich hier auch liegen ... dass löst aber das problem auch nicht
;)
> Schau mal auf der homepage nach examples.
das sind die gleichen wie beim normalen ft800 ...
> Ich seleber habe enen Beispielcode für den PIC32 im Microchip forum> gefunden.> Tja, das Display ist angesöpselt, leider ist mein Rechner zur Zeit zur> Reparatur.....Werde in den nächsten Tagen damit weitermachen..>> Gruß Dirk
Joe F. schrieb:> Kennste das schon?:>> http://www.ftdichip.com/Support/Documents/ProgramGuides/FT800%20Programmers%20Guide.pdf
kenne ich ... und hab ich nicht verstanden ;(
> Die jeweils neue Display Liste wird in einen Ringbuffer geschrieben, und> es gibt einen "SWAP" Befehl, um auf diese Liste umzuschalten.> Das Lästige ist: du musst jedesmal die komplette Liste neu in den> Ringbuffer schreiben, wenn sich auch nur ein Element ändert.
hast du ein beispiel ? ;)
> Es gibt aber auch die Möglichkeit, direkt in das Display-RAM zu> schreiben (pixelweise, wenn du die Zeichenfunktionen nicht brauchst).
die hätte ich schon gern benutzt ...
Also wenn es schon tut, was es soll aber nach 20-100 mal "spinnt" hier
meine Erfahrung :
Achte darauf, das die DL Kommandos IMMER 4Byte aligned sind. Kann bei
dynamisch erzeugten Texten schnell aus dem Tritt kommen.
Lass dem auch n bissl Zeit. Hatte am Anfang das Problem, das in der
ersten Testsoftware ( nur Main mit Displayneuaufbau ) die Slider und
Dials ruckelig aktualisierten. Problem war das das zu schnelle Pollen
des TouchTag, den Chip offenbar daran hindert ihn zu aktualisieren. Also
kleines Delay rein ( oder die endgültige Apllikation ) und schon liefs
flüssig.
Wenn de noch Fragen hast, nur zu.
Hans
Hans M. schrieb:> Also wenn es schon tut, was es soll aber nach 20-100 mal "spinnt" hier> meine Erfahrung :> Achte darauf, das die DL Kommandos IMMER 4Byte aligned sind. Kann bei> dynamisch erzeugten Texten schnell aus dem Tritt kommen.
hmm, ok ... hab ich getestet, bringt nix ;(
> Lass dem auch n bissl Zeit. Hatte am Anfang das Problem, das in der> ersten Testsoftware ( nur Main mit Displayneuaufbau ) die Slider und> Dials ruckelig aktualisierten. Problem war das das zu schnelle Pollen> des TouchTag, den Chip offenbar daran hindert ihn zu aktualisieren. Also> kleines Delay rein ( oder die endgültige Apllikation ) und schon liefs> flüssig.
ja, deshalb warte ich 500ms in der schleife, wenn ich das nicht
mache fliegt er gleich ins nirvana
> Wenn de noch Fragen hast, nur zu.
wie ganz am anfang:
hat jemand ein funktionierendes beispiel ;)
ich finde es unterirdisch das in der docu kein funktionierendes beispiel
drin ist ... unglaublicher scheißdreck ...
so schaut es in etwa aus wenn es sich verabschiedet ...
https://drive.google.com/file/d/0B7PaFN6ql8WgX3hzYkZHbWUxZmc
manchmal dauert es länger ma kürzer, manchmal schreibt
er vorher auch noch mist auf's display oder zerstückelt
ma ldie strings ... je nach wetterlage ;(
Nu mal langsam. Reicht dir nicht was du hier:
http://www.ftdichip.com/Products/ICs/FT800.html
findest? Da gibts Beispiele für alles mögliche sowie auch alle möglichen
CPUs.
Alternativ wenns Arduino sein soll, einfach mal bei Gameduino 2 schauen.
Da gibts auch viele lauffähige Beispiele.
Oder suchst eher n "copy&paste
ichHabMirDasLesenVonZweiDatenblätternGespart" Beispiel?
Also ich find die Doku ist sehr ausführlich und verständlich.
Nochmal zu deiner Fehlerbeschreibung:
Also deine beschriebenen Fehler kenn ich nur im Zusammenhang, das die
Adresse eines neuen RAM_CMDs ( nicht vergessen, der CoProzesor schreibt
auch in die RAM_DL) kein Vielfaches von 4Bytes ist.
Deinen gefilmter Fehler hab ich so noch nicht gesehen, aber für mich
sieht das ganz schwer nach was elektrischen aus.
Hans
Ray M. schrieb:> ich finde es unterirdisch das in der docu kein funktionierendes beispiel> drin ist
Ich hab die FT800-Beispiele für den Arduino alle ausprobiert. Es haben
alle funktioniert, auch wenn die Codequaliät - nach meinem Verständnis -
nicht so dolle war.
Jens
Hans M. schrieb:> Nu mal langsam. Reicht dir nicht was du hier:> http://www.ftdichip.com/Products/ICs/FT800.html> findest? Da gibts Beispiele für alles mögliche sowie auch alle möglichen> CPUs.
ja, die hab ich schon angeschaut, da ist keins dabe was in
einem endlos loop läuft, das schaut immer so aus das in der
setup-routine
irgendwas gemalt wird und gut ist ... das ist genau mein problem,
wobei ich glaube das ich da irgendwas grundsätzliches vom
konzeot nicht mitbekommen ha und deshalb im nebel rumstocher ...
> Alternativ wenns Arduino sein soll,
nein, soll es nicht ... teensy 3.1
> einfach mal bei Gameduino 2 schauen.
hab ich schon, gd geht mit gd2 am teensy 3.1 ohne problem,
aber die gd2-lib kapselt das ganz zeug mit display-listen
und ich versteh den code in den gd2-libs leider nicht,
ich hab versucht es mir rauszupulen bevor ich hier nachgefragt hab ;)
> Da gibts auch viele lauffähige Beispiele.> Oder suchst eher n "copy&paste> ichHabMirDasLesenVonZweiDatenblätternGespart" Beispiel?> Also ich find die Doku ist sehr ausführlich und verständlich.
die docu ist sehr ausführlich ja, aber für einen schnellen
einstieg viel zu umfangreich ... ein 5 seiten pdf mit 3 seiten
überblick und 2 seiten funktionierenden beispielen ... das wär
mal was ...
> Nochmal zu deiner Fehlerbeschreibung:> Also deine beschriebenen Fehler kenn ich nur im Zusammenhang, das die> Adresse eines neuen RAM_CMDs ( nicht vergessen, der CoProzesor schreibt> auch in die RAM_DL) kein Vielfaches von 4Bytes ist.
dann würde das aber auf einen fehler in den ftdi-libs für den ft800
hinauslaufen ...
> Deinen gefilmter Fehler hab ich so noch nicht gesehen, aber für mich> sieht das ganz schwer nach was elektrischen aus.
??? bei 6 kabeln ??? hmmm ... nach was elektrischen den ???
Jens schrieb:> Ray M. schrieb:>> ich finde es unterirdisch das in der docu kein funktionierendes beispiel>> drin ist> Ich hab die FT800-Beispiele für den Arduino alle ausprobiert. Es haben> alle funktioniert, auch wenn die Codequaliät - nach meinem Verständnis -> nicht so dolle war.
hmm ...
ok, welchen arduino hast du verwendet ?
eventuell mag die lib meinen teensy 3.1 einfach nicht ?
Ray M. schrieb:> wie ganz am anfang:> hat jemand ein funktionierendes beispiel ;)>> ich finde es unterirdisch das in der docu kein funktionierendes beispiel> drin ist ... unglaublicher scheißdreck ...>>Ich hab die FT800-Beispiele für den Arduino alle ausprobiert. Es haben>alle funktioniert,
Irgendwie komm ich jetzt nicht mehr so richtig mit...
Du hattest also doch funktionierende Beispiele? o.O
Die Beispiele vom Gameduino und der FTDI Webseite hab ich damals auch
für den Einstieg genutzt ( okay portiert nach C für einen STM32 )und die
haben funktioniert.
Also welchen Anspruch legst du an ein "funktionierendes Beispiel"?
Wenn der Code funktioniert und deine beschrieben/gefilmten Probleme
auftreten, bestärkt das meine Vermutung, das das Problem irgendwo im
Elektrischen liegt ( Hardware, SpgVersorgung, etc).
Zeig doch mal deinen Aufbau, im Video war ja nur das Display bis zum
Stecker zu sehen.
Aber vielleicht verweigert sich der FT800 auch nur wegen der gruseligen
Rechtschreibung ;-)
Hans
Hans M. schrieb:> Ray M. schrieb:>>> wie ganz am anfang:>> hat jemand ein funktionierendes beispiel ;)>>>> ich finde es unterirdisch das in der docu kein funktionierendes beispiel>> drin ist ... unglaublicher scheißdreck ...>>>>Ich hab die FT800-Beispiele für den Arduino alle ausprobiert. Es haben>>alle funktioniert,>>> Irgendwie komm ich jetzt nicht mehr so richtig mit...> Du hattest also doch funktionierende Beispiele? o.O> Die Beispiele vom Gameduino und der FTDI Webseite hab ich damals auch> für den Einstieg genutzt ( okay portiert nach C für einen STM32 )und die> haben funktioniert.>> Also welchen Anspruch legst du an ein "funktionierendes Beispiel"?
In
http://www.ftdichip.com/Support/Documents/AppNotes/AN_275_FT800_Example_with_Arduino.pdf
wird beschrieben wie es funktioniert.
1
The index of the last command executed is held in the register REG_CMD_READ, while the index of
2
the last command written is in REG_CMD_WRITE. The process for adding commands is:
3
1) Read REG_CMD_READ and REG_CMD_WRITE. Loop here until they’re equal.
4
2) Write new commands starting at REG_CMD_WRITE.
5
3) Update REG_CMD_WRITE with the next address following the last command in the list (4-
6
byte aligned).
7
4) With the new value in REG_CMD_WRITE, the Co-Processor will start executing each
8
command and updating REG_CMD_READ until it reaches REG_CMD_WRITE.
9
While only one type of rendering is recommended; display list commands can be embedded into
10
the command list. This allows mixing of the primitive graphics elements with widgets allowing the
11
full capabilities of the FT800 to be utilized. The loop() function utilizes this method of embedding
12
display list commands into the command list.
Dann gibt es ein Beispiel in den Examples von FTDI ...
/* Api to bootup ft800, verify FT800 hardware and configure display/audio pins */
11
/* Returns 0 in case of success and 1 in case of failure */
12
int16_tBootupConfigure()
13
{
14
uint32_tchipid=0;
15
FTImpl.Init(FT_DISPLAY_RESOLUTION);//configure the display to the WQVGA
16
17
delay(20);//for safer side
18
chipid=FTImpl.Read32(FT_ROM_CHIPID);
19
20
/* Identify the chip */
21
if(FT800_CHIPID!=chipid)
22
{
23
Serial.print("Error in chip id read ");
24
Serial.println(chipid,HEX);
25
return1;
26
}
27
28
/* Set the Display & audio pins */
29
FTImpl.SetDisplayEnablePin(FT_DISPENABLE_PIN);
30
FTImpl.SetAudioEnablePin(FT_AUDIOENABLE_PIN);
31
FTImpl.DisplayOn();
32
FTImpl.AudioOn();
33
return0;
34
}
35
36
/* API to display Hello World string on the screen */
37
voidHelloWorld()
38
{
39
/* Change the below string for experimentation */
40
constcharDisplay_string[12]="Hello World";
41
42
/* Display list to display "Hello World" at the centre of display area */
43
FTImpl.DLStart();//start the display list. Note DLStart and DLEnd are helper apis, Cmd_DLStart() and Display() can also be utilized.
44
FTImpl.ColorRGB(0xFF,0xFF,0xFF);//set the color of the string to while color
45
FTImpl.Cmd_Text(FT_DISPLAYWIDTH/2,FT_DISPLAYHEIGHT/2,29,FT_OPT_CENTER,Display_string);//display "Hello World at the center of the screen using inbuilt font handle 29 "
46
FTImpl.DLEnd();//end the display list
47
FTImpl.Finish();//render the display list and wait for the completion of the DL
48
}
49
50
/* bootup the module and display "Hello World" on screen */
51
voidsetup()
52
{
53
/* Initialize serial print related functionality */
54
Serial.begin(9600);
55
56
/* Set the Display Enable pin*/
57
Serial.println("--Start Application--");
58
if(BootupConfigure())
59
{
60
//error case - do not do any thing
61
}
62
else
63
{
64
HelloWorld();
65
}
66
Serial.println("--End Application--");
67
}
68
69
/* Nothing in loop api */
70
voidloop()
71
{
72
}
Hmm ... nix im loop ... nix mit Display-Listem umschalten zu finden ...
In keinem Beispiel was ich gefunden hab !
> Wenn der Code funktioniert und deine beschrieben/gefilmten Probleme> auftreten, bestärkt das meine Vermutung, das das Problem irgendwo im> Elektrischen liegt ( Hardware, SpgVersorgung, etc).> Zeig doch mal deinen Aufbau, im Video war ja nur das Display bis zum> Stecker zu sehen.
Foto hab ich Post weiter oben angehängt ...
> Aber vielleicht verweigert sich der FT800 auch nur wegen der gruseligen> Rechtschreibung ;-)
Das kann gut sein ;)
Sorry, falsch zitiert das war ja der Jens ;-)
Wenn dir 5 Seiten Datenblatt reichen, dann versuchs mal mit einem
Widerstand, aber nicht mit was so komplexem wie einem Grafikkontroller
:-(
Das was im Video zu sehen ist, sieht für mich nach einem Absturz oder
ungewolltem Reset des FT800 aus.
Absturz ist aber nicht möglich, das er einfach ganz stumpf die
Displayliste Zeile für Zeile abarbeitet und das mit 60Hz. Und da wird
jeder Sch... als Kommando gesehen und umgesetzt, was zu komischen
Bildern führt. Selbst wenn er der Meinung ist, ein Reset-Befehl zu
interpretieren, dann sieht das immer noch nicht so aus, wie im Video.
Ungewollter Reset kann z.B. durch Spannungseinbruch entstehen oder keine
Ahnung falsches Rumgewackel am CS Pin.
Im Zweifelsfall, Logicanalyzer mit SPI_Protokolldekoder dran und schauen
ob auch das über den Bus geht, was auch drüber gehen soll. Mit diesem
Ergebnis kann man dann das weitere Vorgehen planen.
Hans
Hans M. schrieb:> Sorry, falsch zitiert das war ja der Jens ;-)> Wenn dir 5 Seiten Datenblatt reichen, dann versuchs mal mit einem> Widerstand, aber nicht mit was so komplexem wie einem Grafikkontroller> :-(
Was spricht gegen einen Schnell-Einstieg ?
Wenn ich mehr will kann ich immernoch die komplette Docu lesen,
aber für einen EInstieg ist das einfach OverKill.
> Das was im Video zu sehen ist, sieht für mich nach einem Absturz oder> ungewolltem Reset des FT800 aus.
Das heist ich schreibe irgendwo in den Speicher wo ich nicht sollte
und er verabschiedet sich ...
Und da ich das nicht mache, sondern nur die Funktionen der Lib
benutze verstehe ich es nicht.
> Absturz ist aber nicht möglich, das er einfach ganz stumpf die> Displayliste Zeile für Zeile abarbeitet und das mit 60Hz. Und da wird> jeder Sch... als Kommando gesehen und umgesetzt, was zu komischen> Bildern führt. Selbst wenn er der Meinung ist, ein Reset-Befehl zu> interpretieren, dann sieht das immer noch nicht so aus, wie im Video.>> Ungewollter Reset kann z.B. durch Spannungseinbruch entstehen oder keine> Ahnung falsches Rumgewackel am CS Pin.
Ok ... Dann werde ich das jetzt mal alles auf ein Lochraster löten,
dann wackelt nix mehr ...
> Im Zweifelsfall, Logicanalyzer mit SPI_Protokolldekoder dran und schauen> ob auch das über den Bus geht, was auch drüber gehen soll. Mit diesem> Ergebnis kann man dann das weitere Vorgehen planen.>> Hans
> Was spricht gegen einen Schnell-Einstieg ?> Wenn ich mehr will kann ich immer noch die komplette Docu lesen,> aber für einen Einstieg ist das einfach OverKill.
genau der Grund für diesen Thread :-D
Du WILLST den FT800 verwenden, aber dich nicht in die Lage versetzen dir
im Fehlerfall selbst zu helfen.
Merkst den Widerspruch?
Aber egal, ich bin dann hier mal raus.
Schönes WE und troll weiter
Hans
Hans M. schrieb:>> Was spricht gegen einen Schnell-Einstieg ?>> Wenn ich mehr will kann ich immer noch die komplette Docu lesen,>> aber für einen Einstieg ist das einfach OverKill.>> genau der Grund für diesen Thread :-D>> Du WILLST den FT800 verwenden, aber dich nicht in die Lage versetzen dir> im Fehlerfall selbst zu helfen.>> Merkst den Widerspruch?>> Aber egal, ich bin dann hier mal raus.
das macht sinn ... es gibt leute die müssen immer ganz unten drin
rumwühlen um glücklich zu sein und das ist auch gut so ...
akzeptiert doch einfach mal das es auch leute gibt die anders an die
sache rangehen ... wenn ich eine hw benutze wo die interna von einer
lib in eine api gepackt werden, warum soll ich die nicht benutzen ?
und warum soll ich nicht in einem forum fragen wenn ich da auf probleme
treffe ? der anspruch das jeder selber in den interna rumwühlen sollte
halte ich für überholt ...
aber egal, schönes wochenende ...
Jens schrieb:> Ray M. schrieb:>> es gibt leute die müssen immer ganz unten drin>> rumwühlen um glücklich zu sein und das ist auch gut so ...> Das hat nix mit glücklich sein zu tun, sondern ist eine Notwendigkeit.> Wenn Du nicht bereit bist, diese Notwendigkeit einzusehen, dann suche> Dir> 1. eine einfachere Hardware (z.B. Text-LCD), oder> 2. eine andere Platform (z.B.> http://tinkersphere.com/raspberry-pi-hats/743-3-5-pi-tft-touch-screen-lcd-hat-for-raspberry-pi-software-included.html),
> oder> 3. ein anderes Hobby.
Ihr versteht es nicht, macht aber nix ...
Ich muss kein Auto bauen können um es zu fahren, also muss ich auch
nicht Bit-Bumsen können um einen Teensy oder ein TFT über die
zur Verfügung stehenden API's zu benutzen und meinem Hobby nach zu
gehen.
Wenn ich das beruflich machen würde, würde ich euch Recht geben,
dann muss ich das alles wissen ... dann bekomme ich auch Geld dafür.
Wenn ihr nicht bereit seit euer Wissen und/oder Erfahrungen mit
Hobbyisten
zu teilen, weil ihr es für Herrschaftswissen halten, dann kann ich euch
auch nicht helfen ...
Eure Argumente sind die gleichen wie die von den Linux-Jungs
von vor 10 oder 15 Jahren, die haben auch Alle gesagt
"schau halt in den Kernel-Source, da steht es drin, ich hab es auch hin
bekommen aber ich sag dir nicht wie" und die lagen auch falsch und haben
sich zum Glück nicht durchgesetzt, sonst müsste Heute noch jeder
Anwender/Interresierte seinen Kernel selber bauen ... Das hört sich
nicht nur schwachsinnig an, dass ist es auch ...
allen ein schönes we ...
Ray M. schrieb:> Uwe S. schrieb:>> Hallo Ray,>>>> Richard hat dazu auch eine Lib und einige Demos (Video) geschrieben:>>>> http://avr.myluna.de/doku.php>> http://forum.myluna.de/>> ja, aber das beispiel ganz unten> http://avr.myluna.de/doku.php?id=en:lib-ft800> zeigt mir das list-handling auch nicht, das ist da genau so wie bei> gd2 irgendwie in der lib gekapsellt ...
Welches list-handling? Die Listbefehle sind wie im Handbuch benannt und
herausgeführt. Die Events kommen über Callbacks, man hat also alle
Freiheiten. Der Source der Lib ist auch einsehbar.Gekapselt sind die
low-level Sachen. Für die Kommunikation kann man auch Callbacks setzen,
so habe ich mal die Listbefehle per Uart übertragen können.