C't-VDR - GraphLCD mit Serdisplib
Hulk (Diskussion | Beiträge) K |
|||
(53 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | '''-- | + | '''Serielle Displays (z.B. Optrex323) über die Bibliothek "Serdisplib" ansprechen'''<br> |
+ | - getestet unter folgenden Versionen: vdrdevel-plugin-graphlcd_0.1.1-28 / serdisplib-1.95<br> | ||
+ | - an einer neuen Version der Serdisplib (1.96) und der Debianisierung der graphlcd_0.1.2 wird derzeit gearbeitet | ||
− | |||
− | + | '''Optrex323-Besitzer:''' | |
− | + | Hier empfehle ich trotz nun schon vorhandener Version 0.1.3 bei Version 0.1.1 zu bleiben, weil es dort NICHT zu folgendem Anzeigefehler kommt: | |
− | + | Ist der Zeitbalken aktiv, ist keine freie Pixelreihe mehr zwischen der Zeit, von wann bis wann eine Sendung geht und dem Sendernamen. Der Grund hierfür ist, dass offenbar seit Version 0.1.2 der Rahmen um den Sendernamen unten eine Pixelreihe mehr hat (vier statt drei), was bei 128x64 Displays kein Problem darstellt. Desweiteren hat man viel mehr Einstellmöglichkeiten für dieses Display im OSD als bei den neueren Versionen. | |
− | == | + | |
+ | |||
+ | == HowTo == | ||
+ | |||
+ | '''Tobi's Source-Repositories in die Datei ''/etc/apt/sources.list'' eintragen:''' | ||
+ | (auch möglich über "apt-setup") | ||
+ | |||
+ | <pre> | ||
+ | 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/ | ||
+ | </pre> | ||
+ | |||
+ | Wenn die Datei von Hand editiert wurde "apt-get update" nicht vergessen. | ||
+ | |||
+ | |||
+ | '''Benötigte Pakete installieren:''' | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | '''Ordner für die Quellen anlegen:''' | ||
+ | |||
+ | <pre> | ||
+ | cd | ||
+ | mkdir graphlcd_serdisplib | ||
+ | cd graphlcd_serdisplib | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | '''Benötigte Quellen downloaden und Serdisplib-Bibliothek installieren:''' | ||
+ | |||
+ | <pre> | ||
+ | wget http://mesh.dl.sourceforge.net/sourceforge/serdisplib/serdisplib-1.95.tar.gz | ||
+ | tar -xvzf serdisplib-1.95.tar.gz | ||
+ | cd serdisplib-1.95 | ||
+ | ./configure | ||
+ | make all | ||
+ | make install | ||
+ | cd .. | ||
+ | apt-get source vdrdevel-plugin-graphlcd | ||
+ | dpkg-source -x vdrdevel-plugin-graphlcd_0.1.1-28.dsc | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | '''Makefiles des GraphLCD-Plugins bearbeiten:''' | ||
+ | |||
+ | <pre> | ||
+ | cd vdrdevel-plugin-graphlcd-0.1.1 | ||
+ | vi ./Makefile | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | ... | ||
+ | # 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 | ||
+ | ... | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | cd drivers | ||
+ | vi Makefile | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | ... | ||
+ | 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 | ||
+ | ... | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | cd .. | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | '''Kompilieren und Installieren des GraphLCD-Plugins:''' | ||
+ | |||
+ | <pre> | ||
+ | dpkg-buildpackage -us -uc -tc -fakeroot | ||
+ | dpkg -i ../vdrdevel-plugin-graphlcd_0.1.1-28_i386.deb | ||
+ | </pre> | ||
+ | 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<br> | ||
+ | Ansteuerung des LCDs an die ''/usr/local/lib/libserdisp.so''. | ||
+ | <pre> | ||
+ | -c optrex323 -d /dev/parport0 | ||
+ | </pre> | ||
+ | Die Angabe weiterer Parameter (x=117 y=62 etc.) ist hier nicht nötig, weil diese als defaults gesetzt sind<br> | ||
+ | (siehe ''./drivers/serdisp.c'': "if (strcasecmp("OPTREX323", drivername) == 0) {dsizex = 117; dsizey = 62; ...").<br> | ||
+ | Bitte ebenfalls beachten, dass evtl. die Module "parport", "parport_pc" und "ppdev" noch geladen bzw. in die <br> | ||
+ | Datei ''/etc/modules.conf'' (automatisches Laden beim Booten) eingetragen werden müssen. | ||
+ | |||
+ | |||
+ | '''Neustart des vdrdevel:''' | ||
+ | |||
+ | <pre> | ||
+ | /etc/init.d/vdrdevel restart | ||
+ | </pre> | ||
+ | |||
+ | Die in der conf-Datei eingetragenen Parameter sollten dem vdrdevel nun beim Laden des GraphLCD-Plugins eins-zu-eins übergeben worden sein.<br> | ||
+ | Überprüft werden kann dies mit dem Aufruf: | ||
+ | <pre> | ||
+ | ps -elf | grep vdrdevel | ||
+ | </pre> | ||
+ | Mögliche Fehler werden ggf. hier ausgegeben: | ||
+ | <pre> | ||
+ | /var/log/syslog | ||
+ | /var/log/messages | ||
+ | /tmp/vdrdevel-err.* | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ---- | ||
+ | '''''<div align="center">Vielen Dank an Tobias Grimm und Wolfgang Astleitner für ihre hervorragende Arbeit!</div>''''' | ||
+ | ---- | ||
+ | |||
+ | [[Kategorie:C't-VDR]] | ||
+ | [[Kategorie:Graphlcd-plugin]] |
Aktuelle Version vom 8. Dezember 2007, 11:00 Uhr
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
Optrex323-Besitzer:
Hier empfehle ich trotz nun schon vorhandener Version 0.1.3 bei Version 0.1.1 zu bleiben, weil es dort NICHT zu folgendem Anzeigefehler kommt:
Ist der Zeitbalken aktiv, ist keine freie Pixelreihe mehr zwischen der Zeit, von wann bis wann eine Sendung geht und dem Sendernamen. Der Grund hierfür ist, dass offenbar seit Version 0.1.2 der Rahmen um den Sendernamen unten eine Pixelreihe mehr hat (vier statt drei), was bei 128x64 Displays kein Problem darstellt. Desweiteren hat man viel mehr Einstellmöglichkeiten für dieses Display im OSD als bei den neueren Versionen.
[Bearbeiten] 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 ./configure 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.*