Graphlcd-plugin

Aus VDR Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Autor: Andreas Regel

Das Plugin bindet ein graphisches Display in den VDR ein und ermöglicht so die Bedienung des VDR auch bei ausgeschaltetem TV (Monitor).
Das sieht auf einem 240x128 Pixel-Display in etwa so aus:

Bilder

Setup
vergrößern
Setup
GLCD 128 x 64
vergrößern
GLCD 128 x 64
GLCD 128 x 64
vergrößern
GLCD 128 x 64
GLCD 128 x 64
vergrößern
GLCD 128 x 64
glcd240x128_action.gif
GLCD 240 x 128
vergrößern
GLCD 240 x 128
GLCD 240 x 128
vergrößern
GLCD 240 x 128
GLCD 240 x 128
vergrößern
GLCD 240 x 128
GLCD 240 x 64
vergrößern
GLCD 240 x 64

Hardwareanforderungen

Um das Plugin sinnvoll nutzen zu können, braucht man ein graphisches LCD mit unterstütztem Controller. Es ist jedoch auch möglich, die Ausgabe des Plugins in Bild-Dateien zu lenken oder über einen Framebuffer auf andere Geräte (z.B. TFT-Monitor) auszugeben.

Unterstützt werden die folgenden Controller und natürlich alle dazu kompatiblen Displays:

  • Hitachi HD61830
  • Samsung KS0108
  • Toshiba T6963c
  • Epson SED1520
  • Epson SED1330
  • Noritake GU140X32F-7806
  • Noritake GU256X64-372
  • Noritake GU256X64C-3XX0 (serial or parallel)

Optional mit Hilfe von serdisplib (einer externen Bibliothek) ist der Aufbau eines GLCDs mit Hilfe eines Display aus einem alten Handy möglich.

  • Optrex 323
  • PCD8544-basierende Nokia-Displays (z.B. im Nokia 51xx)
  • Nokia 7110-Display (Controller: SED1565)
  • Ericsson T2x
  • ALPS LSU7S1011A (a.k.a. 'Pollin'-Display)
  • Hyundai HP12542R (Pollin)

Softwareanforderungen

  • graphlcd daemon and tools (graphlcd-base)
  • optional serdisplib für weitere seriell angesteuerte Displays
  • freetype (optional, deaktivierbar in der Make.config von graphlcd-base)
# comment this variable out if you don't want to use FreeType2 font rendering
HAVE_FREETYPE2=1

Installation

cd $SOURCEDIR
tar zxvf freetype-<VERSION>.tar.gz
cd freetype-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

cd -
tar xvzf graphlcd-base-<VERSION>.tgz
cd graphlcd-base-<VERSION>
make all
make install

Serdisplib.

cd $SOURCEDIR
tar xvzf serdisplib-<VERSION>.tar.gz
cd serdisplib-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig


Konfiguration

Nun muss noch die Konfigurationsdatei des Treibers kopiert werden. Das Zielverzeichnis ist eigentlich beliebig, aber das Standardverzeichnis ist /etc. Ein abweichender Installationsort kann aber auch beim Start der Programme, welche die Bibliothek graphlcd-base nutzen (showpic,graphlcd-plugin,...), per Kommandozeilenparameter definiert werden.

cp graphlcd.conf /etc

Zum Schluß kopieren wir die Logos nach ../plugins.

cp -r $SOURCEDIR/VDR/PLUGINS/src/graphlcd/graphlcd $VDRCONFIG/plugins

Wem die Fonts und deren Darstellung nicht passen, kann in $VDRCONFIG/plugins/graphlcd/fonts/ entweder die Symlinks bearbeiten, damit sie auf die jeweilig gewünschte Grösse zeigen, oder die *.conf-Dateien direkt anpassen. Defaultmaessig sind mehrere Grössen vorhanden.

Wer Lust hat, kann sich die graphlcd-media-<VERSION>.tgz laden, in dieser sind Addons (Bootsplash/Scripts etc, alles mehr oder weniger optional) enthalten.

Parameter

Parameter (kurz) Parameter (lang) Beschreibung
-c <DATEI> --config=<DATEI> verwendete Konfigurationsdatei
-d <DISP> --display=<DISP> verwendetes Display zur Ausgabe (als Abschnitt der Konfigurationsdatei)

Sonstiges

Probleme

Rechte /dev/parport0

Bei parallel angeschlossenem gLCD muss dies über /dev/parport0 angesprochen werden, wenn der VDR nicht als root läuft: "Device=/dev/parport0" in /etc/graphlcd.conf eintragen.

Ist das Device nicht vorhanden, fehlt eines der Module parport, partport_pc oder ppdev: mit

modprobe parport
modprobe parport_pc
modprobe ppdev*

testen, welches Modul fehlt. Anschließend trägt man diese(s) Modul(e) dauerhaft in /etc/modules ein, so dass dieses bei jedem Systemstart geladen wird.


'* Das Modul ppdev wird nicht benötigt wenn der VDR mit Root-Rechten gestartet wird.


Ausserdem muss es für den VDR lese- und schreibbar sein, sinnvollerweise über die Gruppe lp - also Userkennung unter der der VDR läuft, zur Gruppe lp hinzufügen und /dev/parport0 evtl. entsprechend modifizieren.

Testen ob die Software das LCD ansprechen kann

Mit showpic (ein Teil der graphlcd tools) kann man bilder auf dem LCD Anzeigen. Hierzu genügt ein kurzer Befehl wie:

 showpic -c /etc/graphlcd.conf -d t6963c /var/lib/vdrdevel/plugins/graphlcd/logos/3NET_m.glcd

oder

 showpic -c /etc/graphlcd.conf -d ks0108 /usr/share/vdr-plugin-graphlcd/logos/REPLAY-DVD-v2_l.glcd

Bei Debian muss möglicherweise ein apt-get install graphlcd-tools vorher ausgeführt werden, um showpic zu installieren.

BIOS-Einstellungen des Parport

Wichtig fuer den Betrieb eines LCD ist die korrekte Einstellung der parallelen Schnittstelle im BIOS. Diese sollte unbedingt auf 'ECP' stehen.

Snapshot

Der aktuelle Entwicklerstand des Plugins ist auf dem BerliOS Developer SVN Repository verfügbar.

Er kann per anonymen SVN Zugang (svnserve) mit dem folgenden Befehlsatz heruntergeladen werden.

graphlcd-base - Basisbibliothek (Displaytreiber und Tools) 
svn checkout svn://svn.berlios.de/graphlcd/graphlcd-base/trunk graphlcd-base
graphlcd-media - Mediendaten (Logo und Zeichensätze) 
svn checkout svn://svn.berlios.de/graphlcd/media/trunk graphlcd-media
graphlcd-plugin - Das Plugin selber 
svn checkout svn://svn.berlios.de/graphlcd/vdr-graphlcd/trunk graphlcd

Links

  1. Homepage des Plugins
  2. Serdisplib für serial displays
  3. Freetype
  4. C't-VDR HowTo über die Installation mit der Serdisplib-Bibliothek
  5. HowTo 6" gLCD
  6. Animation System Start
  7. Animation System Start/Stop (LINVDR)
  8. Animation Filesystem Check
  9. GLCD-Logo-Sammlung