I have an old "Nokia 6100"-LCD that I took from an old Nokia phone. I suspect it's got an Epson S1D15G10-controller, but I'm not entirely sure. I have worked with this LCD a few years ago and gave up. Because I have a little more experience now, I decided to give it another try. I've tried several libraries and code-snippets, but I can't get it to work properly. So far, I've used the S1D15G10NokiaLCD (Arduino Playground - HomePage) sketch and library and had some results. I can now display color-bars etc, but would like to use the entire lib. I had to modify the library quite a bit to get to this point. My code is here. A datasheet is here
The problem that's been my focus for a few days now is this:
It seems to be filling pixels n+1 wider than it should. So; If I tell it to draw a box 60px high and 2px wide, it'll draw one 40px high and 3px wide (plus some extra at the bottom). That's also why the text is mangled. All libs and sketches seem to have this problem for me.
The problem seems to be in the "Data Control" (DATCTL), colour definitions or CASET (Column Address, which seems to set a sort of "bounding box") commands. I've tried tinkering with just about all the routines in the library, but this is just too deep for me. I hope some wizard can just tell me: you're looking in the wrong place, buddy, you've got your CS and DATA pins wired wrong. Or something. (but I guess that isn't it)
I'm using a Duemilanove and a Fio (native 3.3v logic, yay!) Thanks in advance for anyone brave enough to venture into this matter for me!