Graphlcd-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Das GraphLCD-Plugin bindet ein graphisches Display in den VDR ein und ermöglicht so die Bedienung des VDR auch bei ausgeschaltetem Monitor.
Das ganze sieht auf einem 240x128er Display in etwa so aus:

glcd240x128_action.gif

Hardwareanforderungen

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

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

  • Hitachi HD61830
  • Samsung KS0108
  • Toshiba T6963
  • Epson SED1520
  • Epson SED1330
  • Noritake GU140X32F-7806
  • Noritake GU256X64-372

Sowie über serdisplib (ein eingebundenes Projekt):

  • Optrex 323
  • PCD8544-basierende Nokia-Displays (z.B. im Nokia 51xx)
  • Nokia 7110 display (Controller: SED1565)

Durch letztgenannte ist auch der Aufbau eines GLCDs aus alten Handys nahezu ohne Kosten möglich.

Softwareanforderungen

  • README.serdisplib => für "Seriell" wird zusätzlich serdisplib benötigt.

Installation

cd $SOURCEDIR
tar xvzf serdisplib-1.92.tar.gz
cd serdisplib-1.92
make
mkdir -p /usr/local/include/serdisplib
make install DRIVERLIB_PATH=/usr/local/lib DRIVERINCLUDE_PATH=/usr/local/include
ldconfig

Übersetzt wird VDR dann zbs mit:

make VFAT=1 REMOTE=LIRC INCLUDE_SERDISPLIB=1 all plugins
                        ^^^^^^^^^^^^^^^^^^^^

Wer möchte kann auch wie in der README beschrieben, die Make.config von VDR erweitern. (per Kommandozeile gehts jedoch fixer...)

Zum Schluß kopieren wir die Logos nach VDR_CONFIG/plugins:

cp -r $SOURCEDIR/VDR/PLUGINS/graphlcd/graphlcd /etc/vdr/plugins

Wer Lust hat, kann sich die vdr-graphlcd-contrib-x.y.z.tgz laden, in diesem sind Addons (Bootsplash/Scripts etc, alles mehr oder weniger Optional).

Ansonsten siehe Plugin Installation.

Einstellungen

Ein Auszug aus der README Datei zu den einstellungen:

Plugin active:

 This is something like a 'main switch' for the plugin. If it's set to NO,
 the output to the LCD will be suspended.
 (Possible values: 'no', 'yes')

Orientation:

 Rotates the display output by 180 degrees. This might be useful, if the LCD
 is mounted upside-down.
 (Possible values: 'normal', 'upside down')

Display:

 Inverts the display.
 (Possible values: 'Black/White', 'White/Black')

Brightness:

 Sets the brightness of your display's backlight if supported by its driver
 (gu140x32f/gu256x64-372 only).
 (Possible values: 0 <= x <= 100)

Contrast:

 Sets the contrast of your display if supported by its driver (serdisplib
 only)
 (Possible values: 0 <= x <= 10)

Backlight:

 Switches the backlight of your display on and off if supported by its driver
 (serdisplib only)
 (Possible values: 'no', 'yes')

Refresh Display:

 Normally, the plugin does not update the whole display, but only the areas
 that have changed. So it might be, that some faulty pixels would stay a
 longer time. To avoid this, the plugin makes a complete refresh from time to
 time. This parameter defines how often a complete refresh will be done.
 eg: A value of 5 means, that the plugin will make a complete refresh on
     every 5th update.
     A value of 0 completely disables complete refreshs.
 (Possible values: 0 <= x <= 50)

Adjust Timing:

 To get a timing that is as accurate as possible, the plugin measures the
 time for port commands (see: benchmark in syslog). You might decrease or
 increase the time to wait after port commands with this parameter.
 Normally, there is no need to change this parameter.
 (used by hd61830, ks0108, sed1520, sed1330, gu140x32f, gu256x64-372)
 (Possible values: -50 <= x <= 50)

Wait Method:

 Select the method that is used for sleeping.
 Recommended values:
   'nanosleep (sched_rr)', on kernel 2.4 systems
   'gettimeofday', on kernel 2.6 systems
 (Possible values: 'usleep', 'nanosleep', 'nanosleep (sched_rr)', 'gettimeofday')

Wait Prio:

 Select the process priority that is used when sleeping.
 (Possible values: -20 <= x <= 19)

Wiring (T6963):

 Select the type of wiring your display uses.
 (Possible values: 'Standard', 'Windows', 'Feegy')

Font Select (T6963):

 select the font select your display uses.
 (Possible values: '6x8', '8x8')

Auto Mode (T6963):

 Enables/disables the usage of T6963's auto mode which doubles writing speed.
 (Possible values: 'no', 'yes')

Status Check (T6963):

 Enables/disables the usage of T6963's status check. When using a shielded
 cable for connecting your display, the disabling may be possible. This
 results in doubling the speed of reading and writing data to the LCD.
 (Possible values: 'no', 'yes')

Oscillator Frequency:

 Select the oscillator frequency of your display in kHz (sed1330_2 only).
 (Possible values: 1000 <= x <= 15000)

Show Date/Time:

 Enables/disables the date/time bar.
 (Possible values: 'no', 'yes', 'not in menu')

Show Channel:

 Enables/disables the channel bar.
 (Possible values: 'no', 'yes')

Show Logo:

 Enables/disables the channel logo.
 (Possible values: 'no', 'auto', 'medium', 'large')

Show Symbols:

 Enables/disables the symbols for teletext, dolby digital, 2-channel audio,
 encryption and recordings.
 (Possible values: 'no', 'yes', 'compressed')

Show ET Symbols:

 Enables/disables external triggered symbols.
 graphlcd is able to show some symbols, that can be switched on and off by
 external progams (like vbox). Therefore it reads a file
 (/tmp/graphlcd_symbols). The format of this file is very simple: It might
 have one or more lines. Each line triggers one symbol. The format of each
 line is [ASCII-Char][0|1].
 example:
   V1
   X0
 This example enables the symbol 'V' and disables the symbol 'X'. To get an
 idea, why the symbols are represented by those ASCII-Characters, look into
 sym*.fon and sym*.bmp (in ./tools/crtfont/fonts/ directory): You will see,
 that the symbols are nothing more than a special font and each symbol
 stands for a character.
 (Possible values: 'no', 'yes')

Show Program:

 Enables/disables the time, title and subtitle of the current program.
 (Possible values: 'no', 'yes')

Show Timebar:

 Enables/disables the timebar (under the start and end time of the current
 program).
 (Possible values: 'no', 'yes')

Show Menu:

 Enables/disables the menu.
 (Possible values: 'no', 'yes')

Show Messages:

 Enables/disables displaying messages.
 (Possible values: 'no', 'yes')

Show Color Buttons:

 Enables/disables the 4 colered buttons.
 (Possible values: 'no', 'yes')

Show Volume:

 Enables/disables the volume bar.
 (Possible values: 'no', 'yes')

Show free cards:

 enables/disables the display of the free cards as empty rectangles with one
 icon for each card.
 (Possible values: 'no', 'yes')

Identify replay type:

 Based on the replay's name the plugins tries to identify the type of replay,
 e.g. if it is a VDR, DVD or MP3 replay.
 (Possible values: 'no', 'yes')

Modify replay string:

 Enables/disables replay string modification (Identify replay type has to
 be enabled for this). Based on the replay type graphlcd tries to 'improve'
 the replay name string, e.g. extracts and capitalizes DVD titles.
 (Possible values: 'no', 'yes')

Show Logo on Replay:

 Enables/disables the replay-dependent logo (Identify replay type has to
 be enabled for this).
 (Possible values: 'no', 'auto', 'medium', 'large')

Scroll text lines:

 Enables/disables the scrolling of text lines if they don't fit on screen.
 (used by program information and replay text)
 (Possible values: 'never', 'once', 'always')

Scroll speed:

 Sets the scroll speed in pixels per update.
 (Possible values: 1 <= x <= 10)

Scroll time interval:

 Sets the time between scroller updates in milliseconds.
 (Possible values: 100 <= x <= 2000)


Probleme

Links

[1] http://serdisplib.sourceforge.net Project Homepage -> serdisplib für serial displays
[2] http://sourceforge.net/projects/serdisplib Download -> serdisplib
[3] http://www.powarman.de Homepage des Plugins
[4] http://home.arcor.de/andreas.regel/files Download -> Plugin (auch Beta-Versionen)