PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lcd4linux - error beim beim initialisieren



Ohr4u|tux
27.05.05, 17:06
hi, heute ist mein LCD gekommen: http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=32897&item=6771642332&rd=1&ssPageName=WDVW

nur leider möchte lcd4linux nicht so, wie ich (:-



root@wslo:/etc # lcd4linux -Fvvq
Version 0.10.0-RC1 starting
plugin_cfg.c: Variable tick = '500' (500.000000)
i2c_sensors: unable to autodetect i2c sensors!
[POP3] No 'Plugin:POP3.server1' entry from /etc/lcd4linux.conf, disabling POP3 account #1
[POP3] No 'Plugin:POP3.server2' entry from /etc/lcd4linux.conf, disabling POP3 account #2
[POP3] No 'Plugin:POP3.server3' entry from /etc/lcd4linux.conf, disabling POP3 account #3
lcd4linux.c: initializing driver HD44780
HD44780: using model 'generic'
HD44780: using parallel port
HD44780: using 1 controller(s)
HD44780: using 8 bit mode
udelay: CPU supports Time Stamp Counter
udelay: CPU runs at 1673.963000 MHz
udelay: using TSC delay loop, 1674 ticks per microsecond
HD44780: using ppdev /dev/lp0
HD44780: ioctl(/dev/lp0, PPCLAIM) failed: 22 Invalid argument
HD44780: could not initialize parallel port!
HD44780: start display failed!
root@wslo:/etc #


hier ist meine /etc/lcd4linux.conf



Display HD44780-27x4 {
Driver 'HD44780'
Model 'generic'
UseBusy 1
Port '/dev/lp0'
Size '27x4'
Wire {
RW 'AUTOFD'
RS 'INIT'
ENABLE 'STROBE'
ENABLE2 'GND'
GPO 'GND'
}
}


Widget CPU {
class 'Text'
expression uname('machine')
prefix 'CPU '
width 9
align 'L'
update tick
}

Layout Default {
Row1 {
Col1 'CPU'
}
}

Variables {
tick 500
}

Display 'HD44780-27x4'
Layout 'Default'


EDIT:

hab grad mal die beschaltung angeschaut. ggf liegt es daran:

folgende beschaltung liegt bei dem display vor:



Pin_LPT Name Kommentar
1 E1 Daten übernehmen 1
2 DB0 Daten Bit 0
3 DB1
4 DB2
5 DB3
6 DB4
7 DB5
8 DB6
9 DB7 Daten Bit 7
14 R/W Read/Write
16 RS Register Select
17 E2 Daten übernehmen 2


und in der manual steht man brauch:



Pin Name I/O
1 STROBE Out
2 DB0 I/O
3 DB1 I/O
4 DB2 I/O
5 DB3 I/O
6 DB4 I/O
7 DB5 I/O
8 DB6 I/O
9 DB7 I/O
10 ACK In
11 BUSY In
12 PAPEROUT In
13 SELECT In
14 AUTOFD Out
15 ERROR In
16 INIT Out
17 SLCTIN Out
18-25 GND n/a


da steht man kann das mit sog. wire-einträgen in der /etc/lcd4linux.conf ändern, nur leider verstehe ich das nicht (:-

wie stell ich das an?

DANKE!!!


PS: Ich wollte damit nicht den gepinnten Thread zumüllen.

HackThor
27.05.05, 21:19
Also "/dev/lp0" ist schoma völlig falsch beim Port. Entweder kommt da eine (Hex-)Adresse hin für den direkten (root-only)-Zugriff, also z.B. "0x378". Oder ein Port der vom "ppdev" benutzt wird - damit kann man auch als normaler User das LCD ansteuern. Beim Debian ist das "/dev/parport0" (nur nach "modprobe ppdev", zur Not in "/etc/modules'" eintragen um das Modul beim Booten gleich zu laden), bei anderen Distris evtl. sowas wie "/dev/parport/0". Wie gesagt - vorher sicherstellen dass das "ppdev"-Modul geladen ist.


Das mit dem Wiring ist eigentlich nicht so schwer - das ist nur die Zuordnung von LCD-Leitungsn (RW, RS, ENABLE) zu den Pins auf dem Parallelport. Bei dir dürfte folgendes funktionieren:


RS "INIT"
RW "AUTOFD"
ENABLE "STROBE"
ENABLE2 "SELECT"
GPO "GND"


Probiers mal aus...


ciao

Michael