RoboTX LCDisplay
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
RoboTX LCDisplay
Hallo,
Mein Sohn und ich haben zu Weihnachten das RoboTX Training Lab bekommen. Das macht schon richtig Spass. Leider finde ich das LCDisplay etwas mikrig und die Schrift in 8x8 Pixelblöcken ist schwierig ablesbar. Kennt jemand eine Methode wie man das Display pixelweise ausser den Linien und Rechtecken aus RoboPro in ansteuern kann? Dann koennte man z.B. beim Flipper die Zahlen vielleicht in Großschrift darstellen ohne ein externes LCDisplay per I2C anzubauen.
Ich habe den sehr interessanten Artikel von Stefan Brunner in ft:pedia und auch den dort verlinkten englischen Text, sowie alle Dokumentation von RoboPro gelesen, finde aber keine Information über das verwendete LCD und dessen Ansteuerung. Das Datenblatt des ARM Processors gibt nur sehr vage Hinweise über ein memory-mapped LCD. Aus den Photos in Stefan´s Artikel kann man nur den 18-poligen Stecker zum Display finden. Offensichtlich wird das LCD nicht per IIC (oder wie Atmel es nennt Two Wire Interface) angesteuert.
Ich bin für jeden Hinweis dankbar.
PS: Als kleine Vorstellung - Ich programmiere seit ca. 1982 in 'C' und arbeite seit 1991 als Microcontroller Designer bei einem grossen ATMEL Konkurrenten, so dass das Attribut "Alter Sack" ziemlich passt. Ich bin allerdings erst vor 2 Jahren zu ft gekommen, weil mir da staendige Auseinanderfallen der Lego Bauten meines Sohnes auf den Wecker ging und ich etwas Robusteres und Flexibleres gesucht habe.
Grüße
Jona2004 (aka Joachim)
Mein Sohn und ich haben zu Weihnachten das RoboTX Training Lab bekommen. Das macht schon richtig Spass. Leider finde ich das LCDisplay etwas mikrig und die Schrift in 8x8 Pixelblöcken ist schwierig ablesbar. Kennt jemand eine Methode wie man das Display pixelweise ausser den Linien und Rechtecken aus RoboPro in ansteuern kann? Dann koennte man z.B. beim Flipper die Zahlen vielleicht in Großschrift darstellen ohne ein externes LCDisplay per I2C anzubauen.
Ich habe den sehr interessanten Artikel von Stefan Brunner in ft:pedia und auch den dort verlinkten englischen Text, sowie alle Dokumentation von RoboPro gelesen, finde aber keine Information über das verwendete LCD und dessen Ansteuerung. Das Datenblatt des ARM Processors gibt nur sehr vage Hinweise über ein memory-mapped LCD. Aus den Photos in Stefan´s Artikel kann man nur den 18-poligen Stecker zum Display finden. Offensichtlich wird das LCD nicht per IIC (oder wie Atmel es nennt Two Wire Interface) angesteuert.
Ich bin für jeden Hinweis dankbar.
PS: Als kleine Vorstellung - Ich programmiere seit ca. 1982 in 'C' und arbeite seit 1991 als Microcontroller Designer bei einem grossen ATMEL Konkurrenten, so dass das Attribut "Alter Sack" ziemlich passt. Ich bin allerdings erst vor 2 Jahren zu ft gekommen, weil mir da staendige Auseinanderfallen der Lego Bauten meines Sohnes auf den Wecker ging und ich etwas Robusteres und Flexibleres gesucht habe.
Grüße
Jona2004 (aka Joachim)
Re: RoboTX LCDisplay
moin,
zum LCD und der Ansteuerung ist so gut wie nichts bekannt. Derzeit sind nur die Routinen des OS verfügbar, per C (entsprechende Entwicklungsumgebungen kann man bei fischertechnik herunterladen) könnte auch so etwas wie eine Großschrift machbar sein. Gerade beim Flipper bietet sich aber ein externes Display an, die 7-Segment LED Anzeige passt ganz gut.
zum LCD und der Ansteuerung ist so gut wie nichts bekannt. Derzeit sind nur die Routinen des OS verfügbar, per C (entsprechende Entwicklungsumgebungen kann man bei fischertechnik herunterladen) könnte auch so etwas wie eine Großschrift machbar sein. Gerade beim Flipper bietet sich aber ein externes Display an, die 7-Segment LED Anzeige passt ganz gut.
Gruß
Thomas
Thomas
Re: RoboTX LCDisplay
Rei, Thomas,
Thanks for your responses - I set myself the goal to interface to the internal LCD - just to have a goal in life
Based on Thomas´ hint, I looked through the API definitions provided in the archive ftMscCDemo_V1.2.
Although there is no API definition to display something except an ASCII string, I found a DISPLAY_FRAME structure which seems to display a 128x64=8KBit=1KByte pixel frame on the LCD. So far I used RoboPro, once I got time next to my day job, I´ll try to interface via C to the RoboTX and display something.
I am a bit worried to spent 1KByte out of 8KBytes fo RAM the controller seems to have on-chip according to the Datasheet.
Once I get the pixels to the display, higher level C-Functions to display numbers should be fairly straight forward.
In case there is some interest in this, I can report on the progress, but it will be slow.
Just another question: can you interface from RoboPro to low level C-functions?
best regards
Joachim
Thanks for your responses - I set myself the goal to interface to the internal LCD - just to have a goal in life
Based on Thomas´ hint, I looked through the API definitions provided in the archive ftMscCDemo_V1.2.
Although there is no API definition to display something except an ASCII string, I found a DISPLAY_FRAME structure which seems to display a 128x64=8KBit=1KByte pixel frame on the LCD. So far I used RoboPro, once I got time next to my day job, I´ll try to interface via C to the RoboTX and display something.
I am a bit worried to spent 1KByte out of 8KBytes fo RAM the controller seems to have on-chip according to the Datasheet.
Once I get the pixels to the display, higher level C-Functions to display numbers should be fairly straight forward.
In case there is some interest in this, I can report on the progress, but it will be slow.
Just another question: can you interface from RoboPro to low level C-functions?
best regards
Joachim
Re: RoboTX LCDisplay
Hi,
You also have to differentiate "online" and "offline" mode. In online mode, the pc will make all calculations and you will send only the content of the display to the controller.
By the way: There is a little bit more RAM available as the 8K - have a look to the external RAM.
It would be nice to implement additional fonts and graphical functions (line/circle-algorithms basing on bresenham you may find at wikipedia). I didn't make this because the display is very small and without lighting...
edit:
Also in RoboPro it is possible to draw lines on the LCD.
Unfortunately the answer is no.Just another question: can you interface from RoboPro to low level C-functions?
You also have to differentiate "online" and "offline" mode. In online mode, the pc will make all calculations and you will send only the content of the display to the controller.
By the way: There is a little bit more RAM available as the 8K - have a look to the external RAM.
It would be nice to implement additional fonts and graphical functions (line/circle-algorithms basing on bresenham you may find at wikipedia). I didn't make this because the display is very small and without lighting...
edit:
Also in RoboPro it is possible to draw lines on the LCD.
Gruß
Thomas
Thomas
Re: RoboTX LCDisplay
Thomas,
Nun wechsle ich wieder auf Deutsch.
Nachdem ich die Yagarto-C-Umgebung installiert hatte ging es erstaunlich schnell das Display pixelweise anzusprechen. Ich werde mal 2 fonts bauen und erstmal den existierenden 8x8 auf 16x16 bzw. 32x32 hochskalieren und mal sehen ob das was hermacht.
Gruesse Joachim
Nun wechsle ich wieder auf Deutsch.
Nachdem ich die Yagarto-C-Umgebung installiert hatte ging es erstaunlich schnell das Display pixelweise anzusprechen. Ich werde mal 2 fonts bauen und erstmal den existierenden 8x8 auf 16x16 bzw. 32x32 hochskalieren und mal sehen ob das was hermacht.
Gruesse Joachim
Re: RoboTX LCDisplay
Hallo,
Es gibt noch eine "tricky" Lösung wie man Zahlen in ROBOPRO in großer Schrift darstellen kann.
Im Reiter TX-Display , Anzeigenelement (X= ) auswählen und plazieren.
Dann rechte Mausklick (Eigenschaften) Ziffern/Spalten =4 und Zeilen = 7
setzen.
Im Programm dann Textfelder (0-9) generieren und Zeichenketten für
die Anzeige generieren. ALT219 (voller Klotz) und Leerzeichen verwenden
um seinen Zeichensatz zu generieren.
████
█__ █
████
____█
████ z.B. die Ziffer "9"
Viel Spass beim Herumspielen,
mfG jode
Es gibt noch eine "tricky" Lösung wie man Zahlen in ROBOPRO in großer Schrift darstellen kann.
Im Reiter TX-Display , Anzeigenelement (X= ) auswählen und plazieren.
Dann rechte Mausklick (Eigenschaften) Ziffern/Spalten =4 und Zeilen = 7
setzen.
Im Programm dann Textfelder (0-9) generieren und Zeichenketten für
die Anzeige generieren. ALT219 (voller Klotz) und Leerzeichen verwenden
um seinen Zeichensatz zu generieren.
████
█__ █
████
____█
████ z.B. die Ziffer "9"
Viel Spass beim Herumspielen,
mfG jode
Re: RoboTX LCDisplay
Hallo Jode,
Interessanter Ansatz, leider zeigt Robo für 0219 nicht den vollen Block an. Jenseits der 128dec = 200oct stimmen die Anzeigen zwischen dem Textfeld unter '"Eigenschaften" und der Pixelausgabe nicht immer ueberein. Z.B. passen alle Blockgrafiken nicht. Einen vollen Block habe ich nicht gefunden. Zur Info - Das Pixelfeld auf dem PC passt zum LC-Disply auf RoboTX.
Grüße Joachim
Interessanter Ansatz, leider zeigt Robo für 0219 nicht den vollen Block an. Jenseits der 128dec = 200oct stimmen die Anzeigen zwischen dem Textfeld unter '"Eigenschaften" und der Pixelausgabe nicht immer ueberein. Z.B. passen alle Blockgrafiken nicht. Einen vollen Block habe ich nicht gefunden. Zur Info - Das Pixelfeld auf dem PC passt zum LC-Disply auf RoboTX.
Grüße Joachim