summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Regel <andreas.regel@gmx.de>2016-10-20 20:49:18 +0200
committerAndreas Regel <andreas.regel@gmx.de>2016-10-20 20:49:18 +0200
commit7958e1b058b98ecf8d8a3fbeebbee71572a2ac21 (patch)
tree0f336c3f9784c4afa1c954ed2081eb164c463b43
parentd4622366d9886fcb62a74507af362dbe73573bcc (diff)
parentaacb78d4335e498417835d518c64b33acb58c749 (diff)
downloadgraphlcd-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--HISTORY14
-rw-r--r--README5
-rw-r--r--docs/DRIVER.futabaMDM166A69
-rw-r--r--glcddrivers/Makefile2
-rw-r--r--glcddrivers/drivers.c10
-rw-r--r--glcddrivers/drivers.h11
-rw-r--r--glcddrivers/futabaMDM166A.h2
-rw-r--r--glcddrivers/gu256x64-372.c6
-rw-r--r--glcdgraphics/Makefile2
-rw-r--r--glcdgraphics/font.c10
-rw-r--r--glcdgraphics/font.h10
-rw-r--r--glcdskin/Makefile2
-rw-r--r--graphlcd.conf25
-rw-r--r--tools/convpic/Makefile2
-rw-r--r--tools/crtfont/Makefile2
-rw-r--r--tools/genfont/Makefile2
-rw-r--r--tools/lcdtestpattern/Makefile2
-rw-r--r--tools/showpic/Makefile2
-rw-r--r--tools/showtext/Makefile2
-rw-r--r--tools/showtext/showtext.c1
20 files changed, 152 insertions, 29 deletions
diff --git a/HISTORY b/HISTORY
index 6912e8c..1055121 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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)
diff --git a/README b/README
index 7117d43..37d8b88 100644
--- a/README
+++ b/README
@@ -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;
}