C't-VDR - GraphLCD mit Serdisplib
Serielle Displays (z.B. Optrex323) über die Bibliothek "Serdisplib" ansprechen
- getestet unter folgenden Versionen: vdrdevel-plugin-graphlcd_0.1.1-28 / serdisplib-1.95
- an einer neuen Version der Serdisplib (1.96) und der Debianisierung der graphlcd_0.1.2 wird derzeit gearbeitet
HowTo
Tobi's Source-Repositories in die Datei /etc/apt/sources.list eintragen: (auch möglich über "apt-setup")
deb-src http://www.e-tobi.net/vdrdevel/sarge/experimental/ source vdr/ deb-src http://www.e-tobi.net/vdrdevel/sarge/experimental/ source addons/ deb-src http://www.e-tobi.net/vdrdevel/sarge/experimental/ source backports/ deb-src http://www.e-tobi.net/vdrdevel/sarge/experimental/ source base/
Wenn die Datei von Hand editiert wurde "apt-get update" nicht vergessen.
Benötigte Pakete installieren:
apt-get install libgd-dev apt-get install wget apt-get install vdrdevel-dev apt-get install vdrdevel-plugin-graphlcd apt-get build-dep vdrdevel-plugin-graphlcd
Ordner für die Quellen anlegen:
cd mkdir graphlcd_serdisplib cd graphlcd_serdisplib
Benötigte Quellen downloaden und Serdisplib-Bibliothek installieren:
wget http://mesh.dl.sourceforge.net/sourceforge/serdisplib/serdisplib-1.95.tar.gz tar -xvzf serdisplib-1.95.tar.gz cd serdisplib-1.95 make all make install cd .. apt-get source vdrdevel-plugin-graphlcd dpkg-source -x vdrdevel-plugin-graphlcd_0.1.1-28.dsc
Makefiles des GraphLCD-Plugins bearbeiten:
cd vdrdevel-plugin-graphlcd-0.1.1 vi ./Makefile
... # uncomment this for dynamic linking STATIC_DRIVERS=1 ### Allow user defined options to overwrite defaults: --> Hier muss noch rein: INCLUDE_SERDISPLIB=1 -include $(VDRDIR)/Make.config ifdef INCLUDE_SERDISPLIB DEFINES += -DINCLUDE_SERDISPLIB endif # INCLUDE_SERDISPLIB ...
cd drivers vi Makefile
... INCLUDES += -I$(VDRDIR)/include OBJS = device.o drivers.o fct.o port.o simlcd.o gu140x32f.o ... --> Hier muss ebenfalls rein: INCLUDE_SERDISPLIB=1 -include $(VDRDIR)/Make.config ifdef INCLUDE_SERDISPLIB DEFINES += -DINCLUDE_SERDISPLIB ...
cd ..
Kompilieren und Installieren des GraphLCD-Plugins:
dpkg-buildpackage -us -uc -tc -fakeroot dpkg -i ../vdrdevel-plugin-graphlcd_0.1.1-28_i386.deb
Falls nicht auf dem VDR-System kompiliert wird, muss die .deb Datei natürlich erst mit "scp" auf den VDR-PC kopiert und dort installiert werden!
Konfiguration mittels /etc/vdrdevel/plugins/plugin.graphlcd.conf:
Hier wird dem Plugin mitgeteilt, welchen Treiber es laden muss. Mit "Optrex323" (Groß- und Kleinschribung
ist egal) übergibt das Plugin die
Ansteuerung des LCDs an die /usr/local/lib/libserdisp.so.
-c optrex323 -d /dev/parport0"
Die Angabe weiterer Parameter (x=117 y=62 etc.) ist hier nicht nötig, weil diese als defaults gesetzt sind
(siehe ./drivers/serdisp.c: "if (strcasecmp("OPTREX323", drivername) == 0) {dsizex = 117; dsizey = 62; ...").
Bitte ebenfalls beachten, dass evtl. die Module "parport", "parport_pc" und "ppdev" noch geladen bzw. in die
Datei /etc/modules.conf (automatisches Laden beim booten) eingetragen werden müssen.
Neustart des vdrdevel:
/etc/init.d/vdrdevel restart
Die in der conf-Datei eingetragenen Parameter sollten dem vdrdevel nun beim Laden des GraphLCD-Plugins eins-zu-eins übergeben worden sein.
Überprüft werden kann dies mit dem Aufruf:
ps -elf | grep vdrdevel
Mögliche Fehler werden ggf. hier ausgegeben:
/var/log/syslog /var/log/messages /tmp/vdrdevel-err.*
Vielen Dank an Tobias Grimm und Wolfgang Astleitner für ihre hervorragende Arbeit!