Go Down

Topic: Graphic LCD (KS0108) library now available (Read 49 times) previous topic - next topic


Thanks for the font mem.

In the library there is a private function called WriteData. Is it private for a reason or can you make it public in the next release?



Hi Frisken, I was thinking about  adding a method that enables writing of bitmap data to the panel which would be a wrapper around writeData. But if you think having writeData public would be more useful, then I can do that if someone could test it thoroughly.

As you can probably see from looking at the source code, driving this chip is complicated, particularly when data is not written to an even vertical page boundary or if individual pixels need to be set. Alsothe chip requires lots of data contortions because it needs to be read twice to get a single byte of data out, and each double read increments the chips internal address counter which needs to be set back when data is written.  All those GotoXYs in the code should take care of it but it really would need some testing if you were accessing writeData externally.

I am almost ready with a beta copy of the new version, I would be happy if you wanted to test using writeData from a sketch.


I would be happy to try it out for you. Is there any specific combination that you think could be troublesome or are you just interested in random testing?


Anything with complex graphics,  particularly where individual pixels are written that cross over between controller chips (x = 64) would be a good test. Also where pixels and/or lines are drawn across page boundaries (there are eight pages in the controller, each 8 bits high starting from line 0)

A simple but effective test is to copy small monochrome bitmaps to the various locations in the panel using WriteData.

I probably won't have the version ready tonight, I will pm you and Hulk when it is available.


Anybody know what the maximum cable lenght between the panel and Arduino is?
Are we talking about 30-50cm or just 10cm, at some point the cable lenght has to disturb the signals.

I am sure i can test this myself but hopefully somebody of you have that experience allready  :)

Go Up