brn2rule / u8glib

Automatically exported from code.google.com/p/u8glib
Other
0 stars 0 forks source link

T6963: 240x64 Lcd shows only crap => Font size problem? #161

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. upload the Graphic Test to arduino and run it
i'm sure the Pinout is right.

My LCD is this: 
https://www.dropbox.com/s/k3v95mfrr96ro6e/MG24065G-SBLWU%20240x64%20Display.pdf

All i can see is this:

http://www.dropbox.com/s/r3v6hh82fdxqejq/20130425_224914.jpg
and this:
https://www.dropbox.com/s/3bzepmz4aug35vp/20130425_224853.jpg

In the Manual of the LCD is the ability to choose between a font size of 8*8 or 
6*8. But in the examle is the Font size 6*10 and i'm not able to change it.

Please help me to find and include the right font size.

Thank you

What version of the product are you using? On what operating system?

Please provide any additional information below.

Original issue reported on code.google.com by spacil.t...@gmail.com on 25 Apr 2013 at 8:56

GoogleCodeExporter commented 8 years ago
Hello,
i'm using Arduino IDE 1.0.3 on Windows.

The Display is hooked up at an Arduino Nano (as shown in the Picture).

Thanks
Thomas

Original comment by spacil.t...@gmail.com on 25 Apr 2013 at 9:57

GoogleCodeExporter commented 8 years ago
Ensure that pin 19 (FS) is connected to GND (select 8x8 font). You can later 
select other fonts withing u8glib.
Download the "HelloWorld" example. How will this look like? Maybe you can post 
a picture of the output of the HelloWorld example.

Original comment by olikr...@gmail.com on 26 Apr 2013 at 4:50

GoogleCodeExporter commented 8 years ago
Hello,
with the "Hello World" Example, it shows nothing on the Screen. There's no 
difference between fs to GND or +5V

But when i run the Graphic test, it shows between the crap some single Letters. 
So i think i'ts the font?

Here is the Picture, but i think i told everything:
https://www.dropbox.com/s/9eylak69iliew90/20130426_100850.jpg

I hope i get it run.

Thanks
Thomas

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 8:15

GoogleCodeExporter commented 8 years ago
i've uploaded the Graphic test again and let it run several times. I think it's 
sometimes different then the time before (so the Controller maybe can't read 
the commands correctly?)

Some animation is visable (Blinking):
https://www.dropbox.com/s/0wj6e34w3zefdiw/20130426_161937.mp4

Thanks
Thomas

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 2:36

GoogleCodeExporter commented 8 years ago
I agree, somehow commands are not read correctly. u8glib will never activate 
text mode.
Maybe you should check your wiring.

Original comment by olikr...@gmail.com on 26 Apr 2013 at 6:19

GoogleCodeExporter commented 8 years ago
Ok, i'm Checking the Wiring again. I'll tell you in some Minutes when i've done 
it.

Thanks till then :-)

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 6:22

GoogleCodeExporter commented 8 years ago
Thanks a lot, i'm such an Idiot.

I've not seen that on the nano D1 and D0 are switched because they are on an 
other microcontroller-Pinbank.

Thank you very much. Now it works perfect. :-).

have a nice weekend.

And of cause => This Project is absolutely perfect. With your code is a switch 
of an LCD to another Controller no problem => absolutely amazing.

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 7:07

GoogleCodeExporter commented 8 years ago
Hello, i've got one Question left:

Is it possible to use this Lib with an I2C Port expander? (maybe in the 
future)? Is it easy ti implement it for all LCD's?

I think for I2C Port expander you could say a fix Pinout so that it's easyer to 
implement it (only a thought because such a Controller uses a lot of Pins).

And of cause: Is there any way for me to support your programmers so far?

Thanks

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 9:00

GoogleCodeExporter commented 8 years ago
Hi

Glad to read, that the display now works.
Adding support for a port exapnder should not be a problem. All low level i/o 
goes via u8g_com_xxx procedures. Have a look at u8g_com_arduino_std_sw_spi.c 
for example. There is a procedure with a switch case statement inside. The 
bodies of each case statement has to be replaced with some code that outputs 
commands via an i2c port expander. 

I can add you as a programmer to this project or you could create a clone...

Original comment by olikr...@gmail.com on 26 Apr 2013 at 9:40

GoogleCodeExporter commented 8 years ago
I'm quite new in the world of programming, but if my skills are quite better, 
i'm coming back to your suggestion.

Till then, i think i create a clone with my noob skills for my own project.

And is it possible to spend you money for this Project or don't you take any 
money?

Thanks
Thomas

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 9:45

GoogleCodeExporter commented 8 years ago
This is freeware. No need to spend money on it. If you have a nice picture of 
your display hardware, I always like to put it on the project gallery together 
with a short descritpion of our display.

Original comment by olikr...@gmail.com on 26 Apr 2013 at 10:07

GoogleCodeExporter commented 8 years ago
I can send you the total Hardware-Plan Including the pinout in the 
Arduino-Sketch and the Eagle Sketches (for modifying them). Would that help you?

Thanks Thomas

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 10:27

GoogleCodeExporter commented 8 years ago
Do you speak german? Because your Name seems to be German or Austrian?

Have a nice Weekend

Original comment by spacil.t...@gmail.com on 26 Apr 2013 at 10:40

GoogleCodeExporter commented 8 years ago
German... 
The schematic for the i2c expander (if you mean this) would be interessting.

Original comment by olikr...@gmail.com on 27 Apr 2013 at 4:24

GoogleCodeExporter commented 8 years ago
Hallo,
ich denke ich bleibe zum ansteuern gleich bei SPI, dann muss am Code nicht all 
zu viel verändert werden. Wenn ichs fertig habe werde ich davon natürlich 
auch gerne ein Schema zum Nachbauen hier zur Verfügung stellen.

Ein Problemchen habe ich jedoch noch mit deinem Code:
Ich finde bei deinem Code zwar klar die Definitionen für die Datenpins des 
SPI, jedoch nicht wie sie was ansteuern (und somit welcher Pin am z.B. MCP23S17 
jetzt für was zuständig ist.

Lg Thomas

Original comment by spacil.t...@gmail.com on 27 Apr 2013 at 7:32

GoogleCodeExporter commented 8 years ago
Vermutlich wäre es am einfachsten wenn man festlegt, dass ein SPI port 
expander am HW SPI des Arduino hängt (feste verdrahtung). Dann interpretiert 
man die u8g tabelle mit den pins einfach als pins des expanders. Die vom 
Benutzer angegebenen Pins (des expanders) sind dann via 
u8g->pin_list[U8G_PI_SCK] verfügbar. Natürlich sind dann die routinen wie 
u8g_com_arduino_digital_write() nicht mehr sinnvoll und müssten halt durch 
entsprechende routinen für den port expander ersetzt werden.

Also beispielsweise so:
Als erstes brauchst Du eine Routine
digital_expander_write(pin, level)
Dann nimmst du beispielsweise 
u8g_com_arduino_parallel.c 
her, benennst es um und ersetzt dort 
u8g_com_arduino_digital_write() durch digital_expander_write()

beim t6963 wird das natürlich etwas komplizierter, weil man da noch das Lesen 
braucht.
Entsprechend wäre dann auch u8g_com_arduino_t6963.c deine Ausgangsbasis, 
welche aber schon wieder recht auf Geschwindigkeit optimiert ist (und etwas 
schwer zu lesen).

am ende müsste dann noch die com procedure mit dem display verknüpft werden.
Beispielsweise hier:
u8g_dev_t6963_128x64.c

aus

u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, 
&u8g_dev_t6963_128x64_2x_bw_pb, U8G_COM_T6963 };

wird dann

u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, 
&u8g_dev_t6963_128x64_2x_bw_pb, mein_neues_com_interface_am_expander };

naja, das war's so in kürze. 

Grüße,
Oliver

Original comment by olikr...@gmail.com on 27 Apr 2013 at 8:38

GoogleCodeExporter commented 8 years ago
Okay, das klingt ja ziemlich kompliziert. Mal sehen wie viele Jahre ich dazu 
brauchen werde ;-). Aber angesichts der Tatsache das das Display alle Digitalen 
Pins beschlagnahmt bei den kleineren Boards (wie Nano, Uno und co), bleibt 
leider bei fast allen GLCD's kaum was anderes Sinnvolles übrig als auf 
Port-expander auszuweichen.

Von daher wäre es eh auch sehr sinnvoll wenn es für alle Displays so eine 
Kommunikationsroutine gäbe. Denn von der Geschwindigkeit reicht für die 
meisten Displays und für die meisten Anwendungszwecke eines der kleineren 
Boards ja völlig aus.

PS: Apropro Displays: wenn du hin und wieder eigene kleine Projekte machst: ich 
kenne eine gute Bezugsquelle bei der man sehr günstig die LCDs herbekommt 
(128*64 für 6,60€ (Versand kostenlos))

Lg & schönes Wochenende
Thomas

Original comment by spacil.t...@gmail.com on 27 Apr 2013 at 8:57

GoogleCodeExporter commented 8 years ago
Also eigentlich wollte ich für mein Projekt ein Display dazubauen (DOGM128 mit 
SPI). Dafür gab es sozusagen null libraries (das was es gab war praktisch 
nicht zu gebrauchen). Also hab ich angefangen eine graphic lib zu schreiben und 
hab das ins netz gestellt. Dann kamen dann gleiche andere User und fragten nach 
Unterstützung für ähnliche Displays. Ich muss sagen, das hat dan schon Spass 
gemacht für alle möglichen und unmöglichen Displays treiber zu schreiben. 
Wenn man bei ebay für wenig Geld ein Display ohne Doku erwirbt und dann nach 
Wochen des reverse engineerings zum laufen bekommt, ist das auch spassig :-)
Mein Projekt (das mit dem Display, das ich vor 3 Jahren angefangen hatte) ist 
immer noch nicht fertig, allerdings hab ich in den letzten wochen mal wieder 
weitergemacht. Also, wenn ich derzeit ein Display kaufe, dann eigentlich nur 
aus sportlichem Ehrgeiz das mit u8glib zum laufen zu bekommen. Da allerdings 
das letzte mal so anstrengend war (das T6963) mache ich derzeit erst mal eine 
u8glib pause.

Mittlerweile hab ich eine ganz nette Sammlung diverser Displays. Sehr 
zuverlässig und schnell ist beispielsweise das DOGS102 (ok, etwas klein). Auch 
würde ich bei mein Projekt (so es mal fertig wird) eher ein serielles Display 
nehmen. Bei lcd-module.de sind ja zwei neue DOG's in Aussicht gestellt worden.

Überhaupt muss man sagen, dass Marken Module von EA oder NHD besser ausschauen 
und zuverlässiger sind. Aber mit u8glib sollen natürlich auch die Masse der 
günstigen fernost Displays funktionieren.

Oliver

Original comment by olikr...@gmail.com on 27 Apr 2013 at 10:00

GoogleCodeExporter commented 8 years ago
ich werde das issue mal schließen.
Port expander sind zwar interessant, aber mir fehlt derzeit die Zeit für sowas.
Das ursprüngliche problem ist ja gelöst.

Original comment by olikr...@gmail.com on 4 Jun 2013 at 8:03