Hello Nils,
first of all many thanks for the great driver! It
works splendidly with two of my 2-line displays,
neverltheless I've got some troubles with a 4-line one.
The effect: When switching into line 3 or 4 it starts
with the 5th coloumn, disregarding the first 4. Could
that be based on a 20-coloumn-line-switching-part of
the program (sorry, I'm German and we love compound
words...)?
My suspicion is the following part of lcd_module.c:
/* line address offsets (weird, aren't they?) */
if (a_type==0) {
switch (line) {
case 0:
offset=0;
break;
case 1:
offset=64;
break;
case 2:
offset=20;
break;
case 3:
offset=84;
break;
}
However, I'm neiter familiar with c code, nor with
kernel modules -- and I don't want to toast my display
anyway. Otherwise I would have tried myself...
I would be glad to hear from you.
Thanks for your time (and your driver, of course),
Dirk Wiebel
(dirk _at_ wiebel.de
Logged In: YES
user_id=47024
you cant toast your display from code... only via hardware.
Actually I take that back... if you flutter the on/off
states of the signals you _might_ be able to fry the
display via software. You would likely need to try very
hard to do this though.
In any case, try feeding the module different parameters to
test out things... in particular that one you pointed out
can be tested with
insmod lcd.o a_type=1
or
insmod lcd.o a_type=0
otherwise you might wanna let us know which display you are
using exactly, maybe give us a link or something to the
whitepaper so we can take a peek.
I keep on saying we, but who really knows if there is
anyone else watching.