diff options
author | Andreas Regel <andreas.regel@gmx.de> | 2016-10-20 20:49:18 +0200 |
---|---|---|
committer | Andreas Regel <andreas.regel@gmx.de> | 2016-10-20 20:49:18 +0200 |
commit | 7958e1b058b98ecf8d8a3fbeebbee71572a2ac21 (patch) | |
tree | 0f336c3f9784c4afa1c954ed2081eb164c463b43 | |
parent | d4622366d9886fcb62a74507af362dbe73573bcc (diff) | |
parent | aacb78d4335e498417835d518c64b33acb58c749 (diff) | |
download | graphlcd-base-7958e1b058b98ecf8d8a3fbeebbee71572a2ac21.tar.gz graphlcd-base-7958e1b058b98ecf8d8a3fbeebbee71572a2ac21.tar.bz2 |
Merge branch 'master' into touchcol
# Conflicts:
# HISTORY
# Makefile
# glcddrivers/Makefile
# glcddrivers/drivers.c
# glcddrivers/drivers.h
# glcddrivers/futabaMDM166A.c
# glcddrivers/futabaMDM166A.h
# glcddrivers/image.c
# glcddrivers/noritake800.c
# glcddrivers/noritake800.h
# glcdgraphics/Makefile
# glcdgraphics/bitmap.c
# glcdgraphics/bitmap.h
# glcdgraphics/font.c
# glcdgraphics/font.h
# glcdskin/config.h
# glcdskin/display.c
# glcdskin/display.h
# glcdskin/object.c
# glcdskin/object.h
# glcdskin/parser.c
# graphlcd.conf
# tools/convpic/Makefile
# tools/crtfont/Makefile
# tools/genfont/Makefile
# tools/lcdtestpattern/Makefile
# tools/showpic/Makefile
# tools/showpic/showpic.c
# tools/showtext/Makefile
-rw-r--r-- | HISTORY | 14 | ||||
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | docs/DRIVER.futabaMDM166A | 69 | ||||
-rw-r--r-- | glcddrivers/Makefile | 2 | ||||
-rw-r--r-- | glcddrivers/drivers.c | 10 | ||||
-rw-r--r-- | glcddrivers/drivers.h | 11 | ||||
-rw-r--r-- | glcddrivers/futabaMDM166A.h | 2 | ||||
-rw-r--r-- | glcddrivers/gu256x64-372.c | 6 | ||||
-rw-r--r-- | glcdgraphics/Makefile | 2 | ||||
-rw-r--r-- | glcdgraphics/font.c | 10 | ||||
-rw-r--r-- | glcdgraphics/font.h | 10 | ||||
-rw-r--r-- | glcdskin/Makefile | 2 | ||||
-rw-r--r-- | graphlcd.conf | 25 | ||||
-rw-r--r-- | tools/convpic/Makefile | 2 | ||||
-rw-r--r-- | tools/crtfont/Makefile | 2 | ||||
-rw-r--r-- | tools/genfont/Makefile | 2 | ||||
-rw-r--r-- | tools/lcdtestpattern/Makefile | 2 | ||||
-rw-r--r-- | tools/showpic/Makefile | 2 | ||||
-rw-r--r-- | tools/showtext/Makefile | 2 | ||||
-rw-r--r-- | tools/showtext/showtext.c | 1 |
20 files changed, 152 insertions, 29 deletions
@@ -31,7 +31,7 @@ GraphLCD base package Revision History - scrolling/looping attributes for 'text': 'loop', 'scrollmode', 'scrollspeed', 'scrolltime' - new attribute 'default' for variables: shortcut for <variable id="name" value="value1" condition="somecondition"/> <variable id="name" value="value2"/>: - <variable id="name" value="value1" condition="somecondition" default="value2"/> + <variable id="name" value="value1" condition="somecondition" default="value2"/> this will actually be stored in two variable entries (exactly as in the first version) - new entity 'condblock': combines variables that use the same condition <variable id="id1" condition="condition1" value="val1"/> @@ -51,6 +51,18 @@ GraphLCD base package Revision History - attention: 'condblock' and attributes 'alttext', 'altcondition' are case studies for now and may be removed - all changes/modifications/improvements that i've missed in this list +2011-02-13: version 0.1.9 +- fixed compile error. http://www.vdrportal.de/board/thread.php?postid=959952#post959952 +- changed graphlcd.conf back to original: http://projects.vdr-developer.org/issues/524 +- removed unneeded LDFLAGS: http://projects.vdr-developer.org/issues/530 + +2010-11-02: version 0.1.7 +- added futuba MDM166A driver from andreas brachold: http://projects.vdr-developer.org/issues/351 +- fixed compiler warnings: http://projects.vdr-developer.org/issues/352 +- added new attribute 'valign' (vertical alignment) for text objects. +- text-object: fix to avoid stumbling scrolling +- text-object: added support for alternative text / alternative condition +- glcdskin: bugfixing and improvements 2010-04-23: version 0.1.6_1 - added additional wiring for GU256x64-372 driver (thanks to mentox, http://www.vdr-portal.de/board/thread.php?postid=895721#post895721) @@ -11,7 +11,7 @@ based on the graphlcd plugin for the Video Disc Recorder from 0.0.8 on maintained by Andreas Regel (andreas.regel AT powarman.de) from 0.1.5 on maintained by Wolfgang Astleitner (mrwastl AT users.sourceforge.net) & Andreas 'randy' Weinberger (vdr AT smue.org) - gu140x32f driver by Andreas Brachold (vdr04 AT deltab.de) + gu140x32f driver by Andreas Brachold (vdr07 AT deltab.de) gu256x64-372 driver by Andreas Weinberger (vdr AT smue.org) gu256x64-3xx0 driver by Ralf Mueller (ralf AT bj-ig.de) gu126x64D-K610A4 driver by Alexander Rieger (Alexander.Rieger AT inka.de) @@ -25,6 +25,7 @@ based on the graphlcd plugin for the Video Disc Recorder t6963c driver by Andreas Regel (andreas.regel AT powarman.de) noritake800 driver by Lucian Muresan (lucianm AT users.sourceforge.net) futaba dm140 driver by Stephan Skrodzki (skrodzki AT stevekist.de) + futaba md166 driver by Andreas Brachold <vdr07 AT deltab de> Project's homepage: http://graphlcd.berlios.de/ GIT repo: http://projects.vdr-developer.org/projects/show/graphlcd @@ -64,7 +65,7 @@ Installation and Configuration: ------------------------------- 1. Unpack the tarball to an arbitrary directory. - tar xzf graphlcd-base-0.1.2.tgz + tar xzf graphlcd-base-0.1.8.tgz 2. Configure the package to your needs, by following the comments in the "Build & install configuration" section in Make.config. diff --git a/docs/DRIVER.futabaMDM166A b/docs/DRIVER.futabaMDM166A new file mode 100644 index 0000000..088498f --- /dev/null +++ b/docs/DRIVER.futabaMDM166A @@ -0,0 +1,69 @@ +--------------------------------------------------------------------- +GraphLCD driver library + +The futabaMDM166A driver +--------------------------------------------------------------------- + +Description +----------- +The Futaba MDM166A driver supports Futaba MDM166A VFD displays. +The VFD is connected to a PC's USB port. + +Installation Notes +------------------ + +You need installed library libhid to use the futabaMDM166A driver. +This library libhid is used to access and interact with a USB HID device. + + * http://libhid.alioth.debian.org/ + +If Debian used, you can install them with the command : + +#> apt-get install libhid-dev libhid0 + +Wirings +------- +The futabaMDM166A driver supports a connections on a USB port. + + +Configuration Parameters +------------------------ +The futabaMDM166A driver supports the following parameters in config file: + +Width + Sets the horizontal size of the display. If this parameter is not + given, a default value of 96 pixels is used. + +Height + Sets the vertical size of the display. If this parameter is not + given, a default value of 16 pixels is used. + +UpsideDown + Rotates the display output by 180 degrees. This might be useful, if + the LCD is mounted upside-down. + Possible values: 'yes', 'no' + Default value: 'no' + +Invert + Inverts the display. + Possible values: 'yes', 'no' + Default value: 'no' + +Brightness + Sets the brightness of your display's backlight. + Possible values: 0 <= x <= 100) + Default value: 50 + +RefreshDisplay + Normally, most of the drivers do not update the whole display, but + only the areas that have changed since last update. 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. + e.g.: 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 + Default value: 50 + + diff --git a/glcddrivers/Makefile b/glcddrivers/Makefile index e144698..8c2b3d6 100644 --- a/glcddrivers/Makefile +++ b/glcddrivers/Makefile @@ -66,7 +66,7 @@ endif ### Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/glcddrivers/drivers.c b/glcddrivers/drivers.c index d30a2e5..4c7e67a 100644 --- a/glcddrivers/drivers.c +++ b/glcddrivers/drivers.c @@ -30,6 +30,9 @@ #include "dm140gink.h" #include "serdisp.h" #include "g15daemon.h" +#ifdef HAVE_LIBHID +#include "futabaMDM166A.h" +#endif #ifdef HAVE_DRIVER_AX206DPF #include "ax206dpf.h" #endif @@ -67,6 +70,9 @@ tDriver drivers[] = {"network", kDriverNetwork}, {"gu126x64D-K610A4", kDriverGU126X64D_K610A4}, {"dm140gink", kDriverDM140GINK}, +#ifdef HAVE_LIBHID + {"futabaMDM166A", kDriverFutabaMDM166A}, +#endif {"serdisp", kDriverSerDisp}, {"g15daemon", kDriverG15daemon}, #ifdef HAVE_DRIVER_AX206DPF @@ -138,6 +144,10 @@ cDriver * CreateDriver(int driverID, cDriverConfig * config) return new cDriverGU126X64D_K610A4(config); case kDriverDM140GINK: return new cDriverDM140GINK(config); +#ifdef HAVE_LIBHID + case kDriverFutabaMDM166A: + return new cDriverFutabaMDM166A(config); +#endif case kDriverSerDisp: return new cDriverSerDisp(config); case kDriverG15daemon: diff --git a/glcddrivers/drivers.h b/glcddrivers/drivers.h index fe19d2f..970b01e 100644 --- a/glcddrivers/drivers.h +++ b/glcddrivers/drivers.h @@ -40,20 +40,21 @@ enum eDriver kDriverNetwork = 14, kDriverGU126X64D_K610A4 = 15, kDriverDM140GINK = 16, + kDriverFutabaMDM166A = 17, #ifdef HAVE_DRIVER_AX206DPF - kDriverAX206DPF = 17, + kDriverAX206DPF = 18, #endif #ifdef HAVE_DRIVER_picoLCD_256x64 - kDriverPicoLCD_256x64 = 18, + kDriverPicoLCD_256x64 = 19, #endif #ifdef HAVE_DRIVER_VNCSERVER - kDriverVncServer = 19, + kDriverVncServer = 20, #endif #ifdef HAVE_DRIVER_SSD1306 - kDriverSSD1306 = 20, + kDriverSSD1306 = 21, #endif #ifdef HAVE_DRIVER_ILI9341 - kDriverILI9341 = 21, + kDriverILI9341 = 22, #endif kDriverSerDisp = 100, kDriverG15daemon = 200 diff --git a/glcddrivers/futabaMDM166A.h b/glcddrivers/futabaMDM166A.h index ec3b046..65323be 100644 --- a/glcddrivers/futabaMDM166A.h +++ b/glcddrivers/futabaMDM166A.h @@ -62,7 +62,7 @@ namespace GLCD virtual int DeInit(); virtual void Clear(); - virtual void SetPixel(int x, int y, uint32_t data); + virtual void SetPixel(int x, int y, uint32_t data); //virtual void Set8Pixels(int x, int y, byte data); virtual void Refresh(bool refreshAll = false); diff --git a/glcddrivers/gu256x64-372.c b/glcddrivers/gu256x64-372.c index 5cbff7a..1709568 100644 --- a/glcddrivers/gu256x64-372.c +++ b/glcddrivers/gu256x64-372.c @@ -76,10 +76,10 @@ const unsigned char kStandardRDLO = 0x00; // const unsigned char kStandardCDHI = 0x00; // 17 / nSELECT const unsigned char kStandardCDLO = 0x08; // -const unsigned char kWindowsWRHI = 0x00; // 01 / nSTRB -const unsigned char kWindowsWRLO = 0x01; // +const unsigned char kWindowsWRHI = 0x01; // 01 / nSTRB +const unsigned char kWindowsWRLO = 0x00; // const unsigned char kWindowsRDHI = 0x00; // 14 / nLINEFEED -const unsigned char kWindowsRDLO = 0x02; // +const unsigned char kWindowsRDLO = 0x00; // const unsigned char kWindowsCDHI = 0x00; // 17 / nSELECT const unsigned char kWindowsCDLO = 0x08; // diff --git a/glcdgraphics/Makefile b/glcdgraphics/Makefile index 5abbb2b..2d6e7ff 100644 --- a/glcdgraphics/Makefile +++ b/glcdgraphics/Makefile @@ -32,7 +32,7 @@ HEADERS = bitmap.h font.h glcd.h image.h imagefile.h pbm.h extformats.h ### Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/glcdgraphics/font.c b/glcdgraphics/font.c index 7e82cee..db14638 100644 --- a/glcdgraphics/font.c +++ b/glcdgraphics/font.c @@ -131,7 +131,7 @@ bool cFont::LoadFNT(const std::string & fileName, const std::string & encoding) { // cleanup if we already had a loaded font Unload(); - fontType = 1; //original fonts + fontType = ftFNT; //original fonts isutf8 = (encoding == "UTF-8"); FILE * fontFile; @@ -275,7 +275,7 @@ bool cFont::LoadFT2(const std::string & fileName, const std::string & encoding, { // cleanup if we already had a loaded font Unload(); - fontType = 2; // ft2 fonts + fontType = ftFT2; // ft2 fonts isutf8 = (encoding == "UTF-8"); #ifdef HAVE_FREETYPE2 @@ -436,7 +436,7 @@ int cFont::Height(const std::string & str, unsigned int len) const const cBitmap * cFont::GetCharacter(uint32_t ch) const { #ifdef HAVE_FREETYPE2 - if ( fontType == 2 ) { + if ( fontType == ftFT2 ) { //lookup in cache cBitmap *ptr=characters_cache->GetBitmap(ch); if (ptr) @@ -506,7 +506,7 @@ const cBitmap * cFont::GetCharacter(uint32_t ch) const void cFont::SetCharacter(char ch, cBitmap * bitmapChar) { #ifdef HAVE_FREETYPE2 - if ( fontType == 2 ) { + if ( fontType == ftFT2 ) { syslog(LOG_ERR, "cFont::SetCharacter: is not supported with FreeType2 fonts!!!"); return; } @@ -539,7 +539,7 @@ void cFont::Init() ft2_face = NULL; characters_cache = NULL; #endif - fontType = 1; + fontType = ftFNT; } void cFont::Unload() diff --git a/glcdgraphics/font.h b/glcdgraphics/font.h index 1315123..a77de14 100644 --- a/glcdgraphics/font.h +++ b/glcdgraphics/font.h @@ -29,6 +29,14 @@ class cBitmapCache; class cFont { +public: + enum eFontType + { + // native glcd font loaded + ftFNT, + // freetype2 font loaded + ftFT2 + }; private: int totalWidth; int totalHeight; @@ -37,7 +45,7 @@ private: int lineHeight; cBitmap * characters[256]; - int fontType; //original or FT2 font, 1-original, 2-ft2 + eFontType fontType; bool isutf8; wchar_t iconv_lut[256]; // lookup table needed if encoding != UTF-8 diff --git a/glcdskin/Makefile b/glcdskin/Makefile index 6182986..90fe310 100644 --- a/glcdskin/Makefile +++ b/glcdskin/Makefile @@ -44,7 +44,7 @@ DEPFILE = $(OBJS:%.o=%.d) all: $(LIBNAME) $(LIBNAME): $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -Wl,-soname="$(BASENAME).$(VERMAJOR)" -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -Wl,-soname="$(BASENAME).$(VERMAJOR)" -o $@ ln -sf $(LIBNAME) $(BASENAME) install: all diff --git a/graphlcd.conf b/graphlcd.conf index fce9270..24aa61e 100644 --- a/graphlcd.conf +++ b/graphlcd.conf @@ -99,7 +99,7 @@ WaitPriority=0 # decrease or increase the time to wait after port commands with this # parameter. Normally, there is no need to change this parameter. # (used by gu140x32f, gu256x64-372, gu256x64-3900, hd61830, ks0108, -# sed1330, sed1520, gu126x64D-K610A4) +# sed1330, sed1520, gu126x64D-K610A4, noritake800) # Possible values: -50 <= x <= 50 # Default value: 0 # @@ -310,7 +310,8 @@ Driver=ks0108 Device=/dev/parport0 #Port=0x378 -#Width=128 +Width=128 +#Width=192 #Height=64 #UpsideDown=no #Invert=no @@ -444,6 +445,8 @@ Driver=serdisp #Controller=nokia7110 #Controller=sed1335 Controller=optrex323 +#Controller=l4m132c +#Controller=l4m320t # Options # Pass display specific options @@ -480,6 +483,9 @@ Controller=optrex323 Device=/dev/parport0 #Port=0x378 +#Device=HID:/dev/usb/hiddev0 +#Device=HID:/dev/hiddev0 +#Device=USB:USB:4243/ee20 # Linux4Media 320T TouchLCD #UpsideDown=no #Invert=no Contrast=5 @@ -577,6 +583,21 @@ Driver=dm140gink #Product=0x925d ######################################################################## +[futabaMDM166A] +# futabaMDM166A driver +# This is an driver module for Futaba MDM166A VFD displays. +# The VFD is built-in in Targa HTPC cases and connected to USB port. +# Default size: 96 x 16 +Driver=futabaMDM166A + +#Width=96 +#Height=16 +#UpsideDown=no +#Invert=no +#Brightness=50 +#RefreshDisplay=1000 +######################################################################## + [ax206dpf] # THIS IS AN EXPERIMENTAL DRIVER! # You have to uncomment the variable HAVE_DRIVER_AX206DPF diff --git a/tools/convpic/Makefile b/tools/convpic/Makefile index 6029d5f..3d57aa4 100644 --- a/tools/convpic/Makefile +++ b/tools/convpic/Makefile @@ -18,7 +18,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/crtfont/Makefile b/tools/crtfont/Makefile index 64b1fb6..6c6abdf 100644 --- a/tools/crtfont/Makefile +++ b/tools/crtfont/Makefile @@ -17,7 +17,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/genfont/Makefile b/tools/genfont/Makefile index 9a699dd..f97d8e7 100644 --- a/tools/genfont/Makefile +++ b/tools/genfont/Makefile @@ -20,7 +20,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/lcdtestpattern/Makefile b/tools/lcdtestpattern/Makefile index c004253..e29305b 100644 --- a/tools/lcdtestpattern/Makefile +++ b/tools/lcdtestpattern/Makefile @@ -18,7 +18,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/showpic/Makefile b/tools/showpic/Makefile index e9bc83c..de7560a 100644 --- a/tools/showpic/Makefile +++ b/tools/showpic/Makefile @@ -18,7 +18,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/showtext/Makefile b/tools/showtext/Makefile index 62196aa..516f966 100644 --- a/tools/showtext/Makefile +++ b/tools/showtext/Makefile @@ -18,7 +18,7 @@ all: $(PRGNAME) # Implicit rules: %.o: %.c - $(CXX) $(CXXEXTRA) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $< + $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< # Dependencies: diff --git a/tools/showtext/showtext.c b/tools/showtext/showtext.c index bc7879c..00e6893 100644 --- a/tools/showtext/showtext.c +++ b/tools/showtext/showtext.c @@ -277,6 +277,7 @@ int main(int argc, char *argv[]) lcd->DeInit(); delete lcd; + delete bitmap; return 0; } |