VDR Graphic LCD plugin
This plugin allows the usage of a graphical LC display with VDR. Look at this animated GIF to see the plugin in action (thanks to Hannes Stein for creating and providing it).
At the moment the plugin supports the following controllers:
- Hitachi HD61830
- Samsung KS0108
- Toshiba T6963
- Epson SED1520
- Epson SED1330
- Noritake GU140X32F-7806
- Noritake GU256X64-372
- Noritake GU256X64-3900
- through serdisplib (serdisplib.sourceforge.net):
- Optrex 323
- PCD8544-based Nokia displays (found in different monochrome nokia phones)
- Nokia 7110 display (Controller: SED1565)
- framebuffer, for devices that are connected to the VGA connector
- image, for writing image sequences in PBM (Portable Bit Map) format that show the plugin's output.
Download
graphlcd-base-0.1.2-pre6.tgz
graphlcd-media-0.1.2-pre6.tgz
vdr-graphlcd-0.1.2-pre6.tgz
vdr-graphlcd-0.1.1.tgz
vdr-graphlcd-contrib-0.1.1.tgz
vdr-graphlcd-0.1.0.tgz
vdr-graphlcd-contrib-0.1.0.tgz
History
2004-09-26: Version 0.1.1
- added new driver: gu256x64-3900, should support other sizes too (thanks to Ralf Müller)
- modified gu140x32f driver
- added possibility to choose type of wiring in setup menu (thanks to Andreas Brachold)
- modified sed1330_2 driver
- added support for several different types of wiring the lcd to the parallel port, this is selectable in setup menu
- added support for 6800 and 8080 mode for all wirings, selectable in setup menu
- removed sed1130 driver and replaced it with sed1330_2
- updated serdisplib support (thanks to Wolfgang Astleitner)
- look in README.serdisplib for details
- fixed sed1520 driver: removed a unnecessary ReverseBits (thanks to Andreas 'randy' Weinberger)
- fixed t6963 driver: added range check in Set8Pixels, now all sizes should work
- fixed 100 percent CPU usage during volume changes if volume display is disabled (thanks to Christoph Haubrich, Andreas Brachold)
- fixed vdr 1.2 service id compile error
- Added, replaced and removed some channel logos (thanks to Marco Birkholz)
- Now using a channels unique channel ID (without Source, VDR-1.3) or service ID (VDR 1.2) instead of channel names to identify the channel logo.
- During this I have renamed almost all channel logos so it is needed to replace your old /
/plugins/graphlcd/ completely. - There are now two logonames.alias files, one for vdr 1.2 and the other one for vdr 1.3, you maybe have to recreate the link, p. e. "ln -sf logonames.alias.1.3 logonames.alias" if you have a vdr 1.3 version.
- During this I have renamed almost all channel logos so it is needed to replace your old /
- added finnish translations (thanks to Rolf Ahrenberg)
2004-05-22: Version 0.1.0
- modified hd61830 driver
- fixed bug in partial update
- modified write method
- replaced sed1330 driver with roland praml's original patch
- modified sed1330 driver
- renamed control line names to reflect the controller's specification a bit more
- modified WriteCmd and WriteData
- modified sed1330_2 driver (thanks to Heinz Gressenberger and Roland Praml)
- renamed control line names to reflect the controller's specification a bit more
- modified WriteCmd and WriteData
- added possibility to change oscillator frequency through setup menu
- added experimental support for 8080 operation mode (undef MODE6800 in sed1330_2.c to test it)
- commented out sleep calls, probably not needed any longer (please test this)
- added framebuffer device driver (thanks to Stephan Skrodzki)
- README tells you how to use it
- added serdisplib driver (thanks to Wolfgang Astleitner)
- README.serdisplib tells you how to use it
- fixed a bug in serdisplib driver that caused some flickering (thanks to Wolfgang Astleitner)
- new GU256x64-372 driver (thanks to Andreas 'randy' Weinberger)
- fixed an error in T6963 driver's partial refresh when using auto mode
- new image driver that writes an image sequence in pbm format to /tmp
- made round rectangle type 4 looking rounder (thanks to Andreas 'randy' Weinberger)
- text item display (programme information) now also contains title and subtitle
- added up/down scrolling to text item display
- fixed a bug with long texts in text items (thanks to Andreas Brachold)
- fixed cGraphLCDSetup::CopyFrom: copy of ShowMenu was wrong
- fixed cGraphLCDSetup::CopyFrom: missing ModifiyReplayString
- simplified the display of the replay string
- more than two lines are possible if they fit on screen
- modified uSleep and nSleep when using wait method 0: now tests if value is actually greater than 0 before sleeping at least one microsecond
- added scroller widget, a single scrolling text line
- extended Text, Char and CharProp of cGraphLCDLib to support this
- using it for programme information (present title and subtitle)
- scroll speed (time interval and pixel increment) configurable in setup menu
- fixed DisplayProgramm for small LCD's, no overlapping program information texts with logo or symbols (thanks to Andreas Brachold)
- fixed german translation of month march (thanks to Andreas Brachold)
- added new, replaced some and deleted some old channel logos (thanks to Hannes Stein for collecting, sorting and renaming the logos from Holly, Hulk, Lola, C. Born, himself and providing a new logonames.alias)
- added a lot of splash screens for 140x32, 128x64 and 240x128 LCD's (thanks to Hannes Stein)
- included DisplayReplay Patch from Andreas Brachold
- scrolling ReplayMessage
- display of a replay-dependent logo (selectable in setup menu, replay type identification has to be enabled for this)
- improved display of time bar and indexes according to display size
- just showing minutes and seconds for replays shorter than one hour
- simplified DisplayProgramm
- some compilation fixes (thanks to Tobias Grimm)
- the Makefiles now have a proper install target (thanks to Tobias Grimm)
- fixed some memory leaks in logolist.c and some of the drivers (thanks to Andreas Brachold)
- showpic: now does a clean exit after "kill" (thanks to Andreas Brachold)
- showpic: new command line parameter -t (timing) to select low level wait method (thanks to Christian Gmeiner)
- fixed possible overlapping of replay string and progress bar with logo (thanks to Andreas Brachold)
- support for animated logos (thanks to Andreas Brachold)
- extended plugin, convpic and showpic to support this
- convpic now can read and write animations in tuxbox-aniplay-format
- included some new animated replay logos
- now using usleep() instead of low level sleep functions from drivers/fct.h in display.c (this reduces cpu load when gettimeofday wait method is used)
- new setup parameter "Identify replay type" that makes replay logos possible without forced modifying of the replay's text
2004-03-06: Version 0.0.9
-
reworked driver interface:
- all drivers in one library
- static and dynamic linking of drivers possible (look for STATIC_DRIVERS in Makefile)
- moved low level parallel port code to the new class cParallelPort
- cleaned up driver's code
- adopted plugin and showpic to this new interface
-
gu140x32f updates (thanks to Andreas Brachold)
- bightness control through setup works now
- timing setup works now
- fixed cGraphLCDSetup::CopyFrom (thanks to Andreas Brachhold)
- removed memory leak in GraphLCDSetup (thanks to Andreas Brachhold)
- now using driver ID instead of driver name for driver creation (thanks to Andreas Brachhold)
- setup menu: only show entries that are relevant for current driver (thanks to Andreas Brachhold)
- added replay string modification, selectable in setup menu (thanks to Andreas Brachhold)
- showpic: now clearing LCD buffer before displaying image, fixes error when displaying image sequences (thanks to Andreas Brachold)
- showpic: no double GraphLCDSetup any longer, wait settings now used (thanks to Andreas Brachold for reporting this one)
- fixed segfault when font is not correctly loaded (Thanks to Andreas Brachhold)
-
code revising and cleaning (not completed):
- extracted setup menu code from graphlcd.c to menu.c/menu.h
- extracted status monitor code from graphlcd.c to status.c/.h
- extracted logo code from graphlib.c/.h to logo.c/.h and logolist.c/.h and using list and vector containers from STL for storing the data
- showpic and plugin now share the same logo source code
- general: using new/delete instead of malloc/free (not completely yet)
- using STL's vector and string for storing menu entries
- general: using STL string instead of char array strings
- sleep functions from fct.c/.h and other are now part of driver library (no double files)
- string functions from fct.c/.h are now in strfct.c/.h
- added new wait method using gettimeofday for kernel 2.6 users (thanks to fawkes)
- new default wait method: nanosleep_rr (same as in 0.0.7)
-
updated ks0108 and sed1520 driver (thanks to Andreas Weinberger)
- drawing errors fixed
- code cleanups, adopted to new coding style
- ks0108: support for displays greater than 128x64
- removed double ReverseBits from ks0108, sed1330 and sed1520 drivers
-
new alternative sed1330 driver, supports more sizes, choose with "sed1330_2" (modified original driver, thanks by to Heinz Gressenberger)
- please test it, maybe we can join these two
-
improved volume display (thanks to Andreas Weinberger)
- now disappears correctly after approx. one second
- if muted, a symbol will be shown in symbol area and volume bar
- slightly modified display, bar has variable height now
-
added RoundRectangle Method to graphic library
- both colors are possible now
- adopted display code to use this new function
- new logos for medium displays (thanks to Hannsens)
- fixed displaying wrong channel, logo, programme when a recording on primary device starts (thanks to burki for reporting this one)
2004-02-25: Version 0.0.8
- added support for VDR version 1.3 (tested with 1.3.4)
- added display of free devices, selectable in setup menu (thanks to Thomas Keil)
- inverted and round color buttons
- driver reset after certain setup changes
- choose the size of logos in setup (no, auto, medium, large)
- new 'compressed' mode for symbols (show only enabled symbols)
- volume controls
- use of iopl() instead ioperm() (allows ports > 0x3ff)
- delayed update of the display in menu
- removed useless 'Good-Bye picture'. You have to call showpic in shutdown script instead.
- display name of recording without subdirectories
- alias list for program names (logonames.alias)
- increased performance by using Set8Pixels() instead of SetPixel() in Char() and CharProp()
- increased speed in menus
- added a cache for logos to reduce harddisk operations.
- a value of 0 for Refresh disables the complete refresh of the LCD
- added a setup option to disable the output to the LCD completely
- fixed bug displaying long SVDRP Messages (that couldn't be splitted to more lines of text, because they didn't have any spaces)
- fixed bug with Rec icon. If multiple recordings were active and one recordings has stopped, the Rec icon has been cleared although the others recordings were still active. (thanks to Steffen Schoewitz for reporting and fixing it)
- select alternative wiring for T6963 (WIRING_WINDOWS) with setup parameter (plugin) and commandline parameter (showpic)
- improved timing of T6963 driver (thanks to Good)
- further improved timing of T6963 driver
- T6963 status check selectable in setup menu
- added auto mode support for T6963, selectable in setup menu
- added font select 8x8 support for T6963, selectable in setup menu (thanks to Andreas 'randy' Weinberger)
- changed way of T6963 control line setting (thanks to Andreas 'Randy' Weinberger)
- changed clipping method (thanks to Andreas Brachold)
- new Noritake GU140x32f driver (thanks to Andreas Brachold).
- new SED1520 driver (thanks to Andreas 'randy' Weinberger).
- new SED1330 driver (thanks to Roland Praml).
-
new classification of LCD sizes:
- tiny: 0..48
- small: 49..61
- medium: 62..127
- large: 128..
- more logos (contributed by Carsten Born and Andreas Brachold)
- plugin development and hosting is taken over by Andreas Regel