Add new SureElec driver by Laurent Latil.

This commit is contained in:
mmdolze
2009-11-29 09:09:02 +00:00
parent 73b7ec00ff
commit 7eb3d4e5b8
12 changed files with 1222 additions and 3 deletions
+3
View File
@@ -265,6 +265,9 @@ Christian Leuschen,
Jonathan Kyler:
- driver for SoundGraph iMON OEM LCD Modules
Laurent Latil
- SureElec driver for devices made by SURE Electronics
Further developers in the sourceforge lcdproc team:
Mindaugas Idzelis aim4min
+1
View File
@@ -14,6 +14,7 @@ v.0.5dev (ongoing development)
* Build system: Add a check testing if SA_RESTART flag is available.
* picolcd driver: Fix RC-5 for picoLCD 20x2 (A. van Schie)
* Introduce shared/defines.h to collect commonly used macros
+ new driver: SureElec for devices made by SURE Electronics (Laurent Latil)
v0.5.3
+ lcdexec: notification when called program finishes
+23
View File
@@ -987,6 +987,29 @@ Speed=9600
Port=0x378
[SureElec]
# Port the device is connected to (by default first USB serial port)
Port=/dev/ttyUSB0
# Edition level of the device (can be 1, 2 or 3) [default: 2]
#Edition=1
# set display size
# Note: The size can be obtained directly from device for edition 2 & 3.
#Size=16x2
# Set the initial contrast [default: 480; legal: 0 - 1000]
#Contrast=200
# Set the initial brightness [default: 480; legal: 1 - 1000]
#Brightness=480
# Set the initial off-brightness [default: 100; legal: 1 - 1000]
# This value is used when the display is normally
# switched off in case LCDd is inactive
#OffBrightness=100
## SVGAlib driver ##
[svga]
+6 -2
View File
@@ -13,13 +13,13 @@ AC_ARG_ENABLE(drivers,
[ IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,]
[ MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,]
[ pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,]
[ stv5730,svga,t6963,text,tyan,ula200,xosd]
[ stv5730,SureElec,svga,t6963,text,tyan,ula200,xosd]
[ 'all' compiles all drivers;]
[ 'all,!xxx,!yyy' de-selects previously selected drivers],
drivers="$enableval",
drivers=[bayrad,CFontz,CFontz633,curses,CwLnx,glk,lb216,lcdm001,MtxOrb,pyramid,text])
allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,t6963,text,tyan,ula200,xosd]
drivers=`echo $drivers | sed -e 's/,/ /g'`
@@ -406,6 +406,10 @@ dnl else
AC_MSG_WARN([The stv5730 driver needs a parallel port.])
fi
;;
SureElec)
DRIVERS="$DRIVERS SureElec${SO}"
actdrivers=["$actdrivers SureElec"]
;;
svga)
AC_CHECK_HEADERS([vga.h vgagl.h],[
AC_CHECK_LIB(vga, main,[
+3
View File
@@ -262,6 +262,9 @@ Wirz SLI driver (unknown)
.B stv5730
STV5730A on-screen display chip
.TP
.B SureElec
LCD devices from SURE electronics (http://www.sureelectronics.net)
.TP
.B svga
VGA monitors using svgalib
.TP
+1
View File
@@ -46,6 +46,7 @@ well as the configuration of LCDd.
&shuttleVFD;
&sli;
&stv5730;
&SureElec;
&svga;
&t6963;
&text;
+1
View File
@@ -40,6 +40,7 @@ EXTRA_DIST = bayrad.docbook \
shuttleVFD.docbook \
sli.docbook \
stv5730.docbook \
SureElec.docbook \
svga.docbook \
t6963.docbook \
text.docbook \
@@ -0,0 +1,94 @@
<sect1 id="SureElec">
<title>The SureElec Driver</title>
<para>
Driver for the LCD modules (actually the controller board) available from
the 'SURE electronics' shop (<ulink url="http://www.sureelectronics.net/"></ulink>).
</para>
<para>
These devices are PIC based controlled, using a serial communication
protocol with the host. The actual connection to host is done through
USB through a serial-to-USB converter (CP2102 USB to UART Bridge)
integrated on the board.
</para>
<sect2 id="SureElec-config">
<title>Configuration in LCDd.conf</title>
<sect3 id="SureElec-config-section">
<title>[SureElec]</title>
<variablelist>
<varlistentry>
<term>
<property>Port</property> =
<parameter><replaceable>PORT</replaceable></parameter>
</term>
<listitem><para>
Port the device is connected to. By default first USB serial port
<literal>/dev/ttyUSB0</literal> is used.
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<property>Edition</property> =
<parameter><replaceable>EDITION</replaceable></parameter>
</term>
<listitem><para>
Edition level of the device (can be 1, 2 or 3). The default is <literal>2</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<property>Size</property> = &parameters.size;
</term>
<listitem><para>
Set the display size in characters. This is required for edition 1 devices.
For edition 2 &amp; 3 devices this value, if defined, overrides the size
read directly from the device.
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<property>Contrast</property> =
<parameter><replaceable>CONTRAST</replaceable></parameter>
</term>
<listitem><para>
Select the display's contrast, <literal>480</literal> is the default.
Permissible values are in the range of <literal>0</literal>-<literal>1000</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<property>Brightness</property> =
<parameter><replaceable>BRIGHTNESS</replaceable></parameter>
</term>
<listitem><para>
Select the display's brightness, <literal>480</literal> is the default.
Permissible values are in the range of <literal>0</literal>-<literal>1000</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<property>OffBrightness</property> =
<parameter><replaceable>OFFBRIGHTNESS</replaceable></parameter>
</term>
<listitem><para>
Select the display's when the display is normally switched off in case LCDd
is inactive, <literal>100</literal> is the default.
Permissible values are in the range of <literal>0</literal>-<literal>1000</literal>.
</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>
+1
View File
@@ -54,6 +54,7 @@
<!ENTITY shuttleVFD SYSTEM "drivers/shuttleVFD.docbook">
<!ENTITY sli SYSTEM "drivers/sli.docbook">
<!ENTITY stv5730 SYSTEM "drivers/stv5730.docbook">
<!ENTITY SureElec SYSTEM "drivers/SureElec.docbook">
<!ENTITY svga SYSTEM "drivers/svga.docbook">
<!ENTITY t6963 SYSTEM "drivers/t6963.docbook">
<!ENTITY text SYSTEM "drivers/text.docbook">
+3 -1
View File
@@ -21,7 +21,7 @@ AM_LDFLAGS = @LDSHARED@
## Keep the lists sorted!
pkglib_PROGRAMS = @DRIVERS@
EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 SureElec svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
noinst_LIBRARIES = libLCD.a libbignum.a
IOWarrior_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS)
@@ -60,6 +60,7 @@ pyramid_LDADD = libLCD.a
serialPOS_LDADD = libbignum.a
serialVFD_LDADD = libLCD.a libbignum.a
shuttleVFD_LDADD = @LIBUSB_LIBS@
SureElec_LDADD = libLCD.a libbignum.a
svga_LDADD = @LIBSVGA@
t6963_LDADD = libLCD.a
tyan_LDADD = libLCD.a libbignum.a
@@ -110,6 +111,7 @@ serialPOS_SOURCES = lcd.h lcd_lib.h serialPOS.c serialPOS.h report.h adv_bignum
serialVFD_SOURCES = lcd.h lcd_lib.h serialVFD.c serialVFD.h report.h adv_bignum.h serialVFD_displays.c serialVFD_displays.h serialVFD_io.c serialVFD_io.h
shuttleVFD_SOURCES = lcd.h shuttleVFD.c shuttleVFD.h report.h
stv5730_SOURCES = lcd.h stv5730.c stv5730.h report.h
SureElec_SOURCES = lcd.h lcd_lib.h SureElec.c SureElec.h report.h adv_bignum.h
svga_SOURCES = lcd.h svgalib_drv.c svgalib_drv.h report.h
t6963_SOURCES = lcd.h lcd_lib.h t6963.c t6963.h t6963_font.h report.h
text_SOURCES = lcd.h text.h text.c report.h
File diff suppressed because it is too large Load Diff
+56
View File
@@ -0,0 +1,56 @@
/*
* SureElec.h
*/
#ifndef SUREELEC_H
#define SUREELEC_H
#include "lcd.h"
#define DEFAULT_DEVICE "/dev/ttyUSB0"
#define DEFAULT_SPEED 9600
#define DEFAULT_LINEWRAP 1
#define DEFAULT_AUTOSCROLL 0
#define DEFAULT_CURSORBLINK 0
#define DEFAULT_SIZE "16x2"
#define DEFAULT_CONTRAST 480
#define DEFAULT_BRIGHTNESS 480
#define DEFAULT_OFFBRIGHTNESS 100
#define MIN_CONTRAST 0x1
#define MAX_CONTRAST 0xFD
#define MIN_BACKLIGHT 0x1
#define MAX_BACKLIGHT 0xFD
#define CELL_WIDTH 5
#define CELL_HEIGHT 8
#define NUM_CC 8
MODULE_EXPORT int SureElec_init (Driver *drvthis);
MODULE_EXPORT void SureElec_close (Driver *drvthis);
MODULE_EXPORT int SureElec_width (Driver *drvthis);
MODULE_EXPORT int SureElec_height (Driver *drvthis);
MODULE_EXPORT int SureElec_cellwidth (Driver *drvthis);
MODULE_EXPORT int SureElec_cellheight (Driver *drvthis);
MODULE_EXPORT void SureElec_clear (Driver *drvthis);
MODULE_EXPORT void SureElec_flush (Driver *drvthis);
MODULE_EXPORT void SureElec_string (Driver *drvthis, int x, int y, const char string[]);
MODULE_EXPORT void SureElec_chr (Driver *drvthis, int x, int y, char c);
MODULE_EXPORT void SureElec_vbar (Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT void SureElec_hbar (Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT int SureElec_icon (Driver *drvthis, int x, int y, int icon);
MODULE_EXPORT void SureElec_num (Driver *drvthis, int x, int num);
MODULE_EXPORT int SureElec_get_free_chars (Driver *drvthis);
MODULE_EXPORT void SureElec_set_char (Driver *drvthis, int n, unsigned char *dat);
MODULE_EXPORT int SureElec_get_contrast (Driver *drvthis);
MODULE_EXPORT void SureElec_set_contrast (Driver *drvthis, int promille);
MODULE_EXPORT int SureElec_get_brightness(Driver *drvthis, int state);
MODULE_EXPORT void SureElec_set_brightness(Driver *drvthis, int state, int promille);
MODULE_EXPORT void SureElec_backlight(struct lcd_logical_driver *drvthis, int on);
#endif // SUREELEC_H