overhaul for the NoritakeVFD driver (idea by Richard Moratti):

- Fixed vbar & hbar - Allowed for displays with 2 custom characters
- Fixed cursor off  - 16H - Data sheet for CU20045SCPB has error -> Cursor Off 14,16,17H
- Tested with CU40026SCPB-T20A - 40x2 - Hardware Defaults to 19200 8E1
- Added new config parameter [Parity] to set serial data parity 0(none),1(odd),2(even)
- Added config parameter OffBrightness
- added support for big numbers
This commit is contained in:
marschap
2007-09-25 16:19:42 +00:00
parent 72a98a5068
commit 2aecdd4c59
6 changed files with 563 additions and 447 deletions
+1
View File
@@ -26,6 +26,7 @@ v.0.5dev (ongoing development)
* fixes for the lcpdroc client iface screen on *BSD (M.Dolze)
+ key support for hd44780/lcd2usb (M. Dolze)
+ option Priority for NoritakeVFD (idea: Richard Muratti)
* overhauled NoritakeVFD driver (idea: Richard Muratti)
v.0.5.2
* fix switching on/off the Load screen in lcdproc client using the menu
+8 -9
View File
@@ -734,21 +734,20 @@ keypad_test_mode=no
[NoritakeVFD]
# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1 [default: /dev/lcd]
Device=/dev/ttyS0
# Specifies the size of the LCD.
Size=20x4
# set the brightness
Brightness=255
# Set the initial brightness [default: 1000; legal: 0 - 1000]
Brightness=1000
# Set the initial off-brightness [default: 0; legal: 0 - 1000]
# This value is used when the display is normally
# switched off in case LCDd is inactive
OffBrightness=50
# set the serial port speed [default: 9600, legal: 1200, 2400, 9600, 19200, 115200]
Speed=9600
# Set serial data parity [default: 0 (None), legal: 0(=none), 1(=odd), 2(=even)]
Parity=0
# re-initialize VFD ?
#Reboot=yes
# re-initialize the VFD [default: no; legal: yes, no]
Reboot=no
@@ -46,6 +46,19 @@ This section talks about using LCDproc with text mode VFD displays from
<arg choice="plain"><replaceable>BRIGHTNESS</replaceable></arg>
</term>
<listitem><para>
Set the initial brightness [default: <literal>1000</literal>; legal: <literal>0</literal> - <literal>1000</literal>]
</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>OffBrightness=</command>
<arg choice="plain"><replaceable>BRIGHTNESS</replaceable></arg>
</term>
<listitem><para>
Set the initial off-brightness [default: <literal>0</literal>; legal: <literal>0</literal> - <literal>1000</literal>]
This value is used when the display is normally
switched off in case LCDd is inactive
</para></listitem>
</varlistentry>
@@ -97,6 +110,7 @@ This section talks about using LCDproc with text mode VFD displays from
</arg>
</term>
<listitem><para>
Reinitialize the VFD [default: <literal>no</literal>; legal: <literal>yes</literal>, <literal>no</literal>]
</para></listitem>
</varlistentry>
</variablelist>
+2 -2
View File
@@ -47,7 +47,7 @@ lis_LDADD = libLCD.a @LIBFTDI@ libbignum.a
MD8800_LDADD = libLCD.a
mtc_s16209x_LDADD = libLCD.a
MtxOrb_LDADD = libLCD.a libbignum.a
NoritakeVFD_LDADD = libLCD.a
NoritakeVFD_LDADD = libLCD.a libbignum.a
picolcd_LDADD = @libusb_libs@ libLCD.a libbignum.a
pyramid_LDADD = libLCD.a
serialPOS_LDADD = libLCD.a libbignum.a
@@ -91,7 +91,7 @@ MD8800_SOURCES = lcd.h lcd_lib.h MD8800.c MD8800.h report.h
ms6931_SOURCES = lcd.h lcd_lib.h ms6931.h ms6931.c report.h
mtc_s16209x_SOURCES = lcd.h lcd_lib.h mtc_s16209x.c mtc_s16209x.h report.h
MtxOrb_SOURCES = lcd.h lcd_lib.h MtxOrb.c MtxOrb.h report.h adv_bignum.h
NoritakeVFD_SOURCES = lcd.h lcd_lib.h NoritakeVFD.c NoritakeVFD.h report.h
NoritakeVFD_SOURCES = lcd.h lcd_lib.h NoritakeVFD.c NoritakeVFD.h report.h adv_bignum.h
picolcd_SOURCES = lcd.h picolcd.h picolcd.c report.h
pyramid_SOURCES = lcd.h pylcd.c pylcd.h
sed1330_SOURCES = lcd.h sed1330.h sed1330.c port.h lpt-port.h timing.h report.h
File diff suppressed because it is too large Load Diff
+12 -7
View File
@@ -23,11 +23,12 @@
#define NORITAKEVFD_H
#include "lcd.h"
#define DEFAULT_CELL_WIDTH 6
#define DEFAULT_CELL_HEIGHT 8
#define DEFAULT_CELL_WIDTH 5
#define DEFAULT_CELL_HEIGHT 7
#define DEFAULT_DEVICE "/dev/lcd"
#define DEFAULT_SPEED 9600
#define DEFAULT_BRIGHTNESS 140
#define DEFAULT_OFFBRIGHTNESS 100
#define DEFAULT_SIZE "20x4"
#define DEFAULT_PARITY 0
@@ -44,12 +45,16 @@ MODULE_EXPORT void NoritakeVFD_chr (Driver *drvthis, int x, int y, char c);
MODULE_EXPORT void NoritakeVFD_vbar (Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT void NoritakeVFD_hbar (Driver *drvthis, int x, int y, int len, int promille, int options);
MODULE_EXPORT int NoritakeVFD_icon(Driver *drvthis, int x, int y, int icon);
MODULE_EXPORT void NoritakeVFD_num(Driver *drvthis, int x, int num);
MODULE_EXPORT int NoritakeVFD_icon (Driver *drvthis, int x, int y, int icon);
MODULE_EXPORT void NoritakeVFD_cursor (Driver *drvthis, int x, int y, int state);
MODULE_EXPORT void NoritakeVFD_set_char (Driver *drvthis, int n, char *dat);
MODULE_EXPORT int NoritakeVFD_get_free_chars (Driver *drvthis);
MODULE_EXPORT void NoritakeVFD_set_char (Driver *drvthis, int n, unsigned char *dat);
MODULE_EXPORT int NoritakeVFD_get_brightness (Driver *drvthis, int state);
MODULE_EXPORT void NoritakeVFD_set_brightness (Driver *drvthis, int state, int promille);
MODULE_EXPORT void NoritakeVFD_output (Driver *drvthis, int state);
MODULE_EXPORT int NoritakeVFD_get_brightness(Driver *drvthis, int state);
MODULE_EXPORT void NoritakeVFD_set_brightness(Driver *drvthis, int state, int promille);
MODULE_EXPORT void NoritakeVFD_backlight (Driver *drvthis, int on);
#endif