update serialVFD driver (Stefan Herdler)
This commit is contained in:
@@ -644,30 +644,44 @@ Port=0x378
|
|||||||
## Serial VFD driver ##
|
## Serial VFD driver ##
|
||||||
## Drives various (see below) serial 5x7dot VFD's. ##
|
## Drives various (see below) serial 5x7dot VFD's. ##
|
||||||
[serialVFD]
|
[serialVFD]
|
||||||
# device where the VFD is. Usual values are /dev/ttyS0 and /dev/ttyS1
|
|
||||||
|
# Specifies the displaytype.[default: 0]
|
||||||
|
# 0 NEC (FIPC8367 based) VFDs.
|
||||||
|
# 1 KD Rev 2.1.
|
||||||
|
# 2 Noritake VFDs (*).
|
||||||
|
# 3 Futaba VFDs
|
||||||
|
# (* most should work, not testet yet.)
|
||||||
|
Type=0
|
||||||
|
|
||||||
|
# "no" if display connected serial, "yes" if connected parallel. [default: no(=serial)]
|
||||||
|
use_parallel=no
|
||||||
|
|
||||||
|
# Number of Custom-Characters [default: displaytype dependent]
|
||||||
|
#Custom-Characters=0
|
||||||
|
|
||||||
|
# Portaddress where the LPT is. Used in parallelmode only. Usual values are 0x278, 0x378 and 0x3BC
|
||||||
|
Port=0x378
|
||||||
|
|
||||||
|
# Device to use in serial mode. Usual values are /dev/ttyS0 and /dev/ttyS1
|
||||||
Device=/dev/ttyS1
|
Device=/dev/ttyS1
|
||||||
|
|
||||||
# Specifies the size of the VFD.
|
# Specifies the size of the VFD.
|
||||||
Size=20x2
|
Size=20x2
|
||||||
|
|
||||||
# Specifies the display type [default: 0]
|
# Set the initial brightness [default: 1000; legal: 0 - 1000]
|
||||||
# 0 NEC (FIPC8367 based) VFDs.
|
# (4 steps 0-250, 251-500, 501-750, 751-1000)
|
||||||
# 1 KD Rev 2.1.
|
Brightness=1000
|
||||||
# 2 Noritake VFDs (*).
|
# Set the initial off-brightness [default: 0; legal: 0 - 1000]
|
||||||
# 3 Futaba VFDs (*).
|
# This value is used when the display is normally
|
||||||
# (* most should work, not tested yet.)
|
# switched off in case LCDd is inactive
|
||||||
Type=1
|
# (4 steps 0-250, 251-500, 501-750, 751-1000)
|
||||||
|
OffBrightness=0
|
||||||
# Display brightness [default: 255].
|
|
||||||
# 0 min ... 255 max ... 1000 also max
|
|
||||||
# (4 steps 0-64, 65-128, 129-192, 193-1000)
|
|
||||||
Brightness=255
|
|
||||||
|
|
||||||
# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
|
# set the serial port speed [default: 9600; legal: 1200, 2400, 9600, 19200, 115200]
|
||||||
Speed=9600
|
Speed=9600
|
||||||
|
|
||||||
# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
|
# enable ISO 8859 1 compatibility [default: yes; legal: yes, no]
|
||||||
ISO_8859_1=yes
|
#ISO_8859_1=yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -169,7 +169,7 @@ SED1330/SED1335 (aka S1D13300/S1D13305) based graphical displays
|
|||||||
122x32 pixel graphic displays based on SED1520 controllers
|
122x32 pixel graphic displays based on SED1520 controllers
|
||||||
.TP
|
.TP
|
||||||
.B serialVFD
|
.B serialVFD
|
||||||
NEC FIPC8367 based serial VFDs
|
NEC (FIPC8367 based) and FUTABA VFDs
|
||||||
.TP
|
.TP
|
||||||
.B sli
|
.B sli
|
||||||
Wirz SLI driver (unknown)
|
Wirz SLI driver (unknown)
|
||||||
|
|||||||
@@ -2,69 +2,116 @@
|
|||||||
<title>The serialVFD Driver</title>
|
<title>The serialVFD Driver</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This section talks about using LCDproc with LCD displays that use the
|
This section talks about using LCDproc with VFD character-displays build by NEC, FUTABA and NORITAKE.
|
||||||
serialVFD chipset.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect2 id="serialVFD-connections">
|
|
||||||
<title>Connections</title>
|
<para>
|
||||||
|
The serialVFD-driver is working with NEC FIPC8367 based VFDs
|
||||||
|
and the "KD Rev 2.1" (an ATMEL AT90S.... based FM20X2KB-AB replacement).
|
||||||
|
It is also known to work on FUTABA VFDs.</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The driver should operate most of NEC, Futaba and Noritake 7x5 dot VFDs with
|
||||||
|
serial(rs232) and/or parallel interface. See the following table for testing-status.
|
||||||
|
Feedback is welcome.
|
||||||
|
|
||||||
|
|
||||||
The serialVFD-driver should work with all NEC FIPC8367 based VFDs:
|
<table><title>serialVFD: Display Status</title>
|
||||||
NEC FC20X2JA
|
<tgroup cols="5">
|
||||||
NEC FM20X2KB-AB
|
|
||||||
NEC FC20X1SA-AB/AA
|
|
||||||
...
|
|
||||||
Tested only on: NEC FM20X2KB-AB
|
|
||||||
The driver also works (tested) on "KD Rev 2.1" (an ATMEL AT90S....
|
|
||||||
based FM20X2KB-AB replacement).
|
|
||||||
Note: Above char. 128 the FIPC-displays and KD's charactersets
|
|
||||||
are different.
|
|
||||||
|
|
||||||
The driver may work or will be easy to get working on the following
|
|
||||||
Displays / Controllers (not tested!).
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<tgroup cols="2">
|
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Display</entry>
|
<entry>Display</entry>
|
||||||
<entry>Controller</entry>
|
<entry>Controller</entry>
|
||||||
|
<entry>Serial</entry>
|
||||||
|
<entry>Parallel</entry>
|
||||||
|
<entry>Display tested</entry>
|
||||||
|
<entry>Remark</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>FUTABA M204SD01AA</entry>
|
<entry>NEC FM20X2KB-AB</entry>
|
||||||
<entry>FUTABA 5P00A016</entry>
|
<entry>NEC FIPC8367</entry>
|
||||||
|
<entry>Ok</entry>
|
||||||
|
<entry>Ok</entry>
|
||||||
|
<entry>Yes</entry>
|
||||||
|
<entry> </entry>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>NEC FC20X2JA</entry>
|
||||||
|
<entry>NEC FIPC8367</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>No</entry>
|
||||||
|
<entry>Same Controller as on FM20X2KB-AB</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>NEC FC20X1SA-AB/AA</entry>
|
||||||
|
<entry>NEC FIPC8367</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>No</entry>
|
||||||
|
<entry>Same Controller as on FM20X2KB-AB</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>KD Rev 2.1</entry>
|
||||||
|
<entry>AT90S....
|
||||||
|
microcontroller</entry>
|
||||||
|
<entry>Ok</entry>
|
||||||
|
<entry>Ok</entry>
|
||||||
|
<entry>Yes</entry>
|
||||||
|
<entry> </entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row>
|
||||||
|
<entry>FUTABA M402SD06GJ</entry>
|
||||||
|
<entry>?</entry>
|
||||||
|
<entry>(?)*</entry>
|
||||||
|
<entry>Ok</entry>
|
||||||
|
<entry>Yes</entry>
|
||||||
|
<entry>(* perhaps no compatible baudrate, not tested)
|
||||||
|
The display has no user-characters set <command>Custom-Characters=0</command>
|
||||||
|
in <filename>LCDd.conf.</filename></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>FUTABA M204SD01AA</entry>
|
||||||
|
<entry>FUTABA 5P00A016</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>No</entry>
|
||||||
|
<entry> </entry>
|
||||||
|
</row>
|
||||||
|
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<entry>Noritake CU20026SCPB-T</entry>
|
<entry>Noritake CU20026SCPB-T</entry>
|
||||||
<entry>(microcontroller)</entry>
|
<entry>microcontroller</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>No</entry>
|
||||||
|
<entry> </entry>
|
||||||
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Noritake CU20045SCPB-T28A</entry>
|
<entry>Noritake CU20045SCPB-T28A</entry>
|
||||||
<entry>?</entry>
|
<entry>?</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>(Ok)</entry>
|
||||||
|
<entry>No</entry>
|
||||||
|
<entry> </entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
|
() feature not tested.
|
||||||
... or compatible.
|
|
||||||
(most Futaba/Noritake 7x5 dot VFDs with serial(rs232) interface
|
|
||||||
(including serial(rs232)/parallel types))
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Maybe there are little changes in the commands to do to get all
|
|
||||||
functions to work correctly. But because of the similarity of the
|
|
||||||
protocols, it wont be much work.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you want to add a new device to the driver add a new section
|
If your display isn't working 100% satisfactorily you can add a new device with modified hardware
|
||||||
to the displaytype-switch-case in the init-function and fill it
|
commands to the driver if you want. To do that you have to add a new section to the display-
|
||||||
with the correct commands for the display.
|
<command>Type=</command>-switch-case in <filename>./server/drivers/serialVFD-displays.c</filename>
|
||||||
(Try which displaytype works best with your display, copy and modify
|
and to write a new "load"function with the correct commands for the display.(Try which display-<command>Type=</command>
|
||||||
it's section that is the easiest way I guess.)
|
works best with your display, copy, rename and modify this function that is the easiest way I guess.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -78,24 +125,25 @@ running. It may take a few minutes until the next full refresh makes
|
|||||||
the display show everything correctly.
|
the display show everything correctly.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
To enable the bignumbers on 2-line displays (only this driver supports
|
|
||||||
this yet) you have to edit <filename>clients/lcdproc/chrono.c</filename>
|
|
||||||
before compiling.
|
|
||||||
In function <function>big_clock_screen</function> you have to replace the
|
|
||||||
<literal>4</literal> by a <literal>2</literal> in this line:
|
|
||||||
<code>if (lcd_hgt < 4)</code>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
<sect2 id="serialVFD-connections">
|
||||||
|
<title>Connecting The Display</title>
|
||||||
|
<para>The Connections shown have been tested successfully.</para>
|
||||||
|
<warning><para>Always cross-check with your datasheet, before connecting your display!
|
||||||
|
Displays of same manufacturer may have different pin assignments!</para></warning>
|
||||||
|
<para>With this example connections it will be easy to connect displays with different connector
|
||||||
|
pin-layouts, the pins are commonly named equal in the datasheet.<para>
|
||||||
|
|
||||||
|
<sect3 id="serialVFD-serial-connections">
|
||||||
|
<title>Serial Connections</title>
|
||||||
<para>
|
<para>
|
||||||
This driver uses the serial mode of the displays.
|
|
||||||
It is NOT possible to connect most of the displays directly to the
|
It is NOT possible to connect most of the displays directly to the
|
||||||
serialport. The signal has to be inverted. I use the following
|
serialport. The signal has to be inverted. I use the following
|
||||||
circuit to do that job.
|
circuit to do that job.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
<title>serialVFD: Connecting the display</title>
|
<title>serialVFD: Serial Inverter</title>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
Computer Display
|
Computer Display
|
||||||
@@ -121,9 +169,9 @@ pin(signal) |
|
|||||||
| --->- A*
|
| --->- A*
|
||||||
| E| |
|
| E| |
|
||||||
| | |
|
| | |
|
||||||
5(GND) --------o----------o----o----------------- GND
|
5(GND) --------o----------o----o--------------o-- GND
|
||||||
|
|*
|
||||||
Shield ------------------------------------------
|
Shield ---------------------------------------o
|
||||||
optional
|
optional
|
||||||
|
|
||||||
*connect near display
|
*connect near display
|
||||||
@@ -131,25 +179,27 @@ optional
|
|||||||
</screen>
|
</screen>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
The pins on the different displays vary.
|
<para>The pins on the different displays vary.</para>
|
||||||
|
|
||||||
|
<para><title>NEC Displays (FM20X2KB-AB):</title></para>
|
||||||
|
|
||||||
FM20X2KB-AB:
|
<para>CN1:</para>
|
||||||
|
<screen><![CDATA[
|
||||||
CN1:
|
|
||||||
Pin 33 <--- RxD
|
Pin 33 <--- RxD
|
||||||
(Testmode: connect pins 25 and 26, then power up)
|
(Testmode: connect pins 25 and 26, then power up)
|
||||||
|
]]></screen>
|
||||||
|
|
||||||
CN2:
|
<para>CN2:</para>
|
||||||
|
<screen><![CDATA[
|
||||||
Pin 1 <--- +5V
|
Pin 1 <--- +5V
|
||||||
Pin 2 <--- GND
|
Pin 2 <--- GND
|
||||||
|
]]></screen>
|
||||||
|
|
||||||
|
|
||||||
|
<para><title>KD Rev 2.1:</title></para>
|
||||||
KD Rev 2.1:
|
<para>
|
||||||
|
The blue connector (6pin in a row) (the important one!):
|
||||||
blue connector (6pin in a row) (the important one!):
|
</para>
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
--------------------------------
|
--------------------------------
|
||||||
@@ -163,33 +213,147 @@ blue connector (6pin in a row) (the important one!):
|
|||||||
Hold the display in that position where you can read
|
Hold the display in that position where you can read
|
||||||
the "KD Rev 2.1" marking normally!
|
the "KD Rev 2.1" marking normally!
|
||||||
</para>
|
</para>
|
||||||
</tip>
|
</tip>
|
||||||
|
|
||||||
gray connector (10pin 2 rows):
|
<para>The gray connector (10pin 2 rows):</para>
|
||||||
Do not use. (the ATMEL ISP connector I guess)
|
<screen>
|
||||||
|
<![CDATA[Do not use. (the ATMEL ISP connector I guess)
|
||||||
The two jumpers next to the gray connector:
|
]]>
|
||||||
Normally not used.
|
</screen>
|
||||||
|
<para>The two jumpers next to the gray connector:</para>
|
||||||
|
<screen>
|
||||||
|
<![CDATA[Normally not used.
|
||||||
You can activate two different testmodes with them.
|
You can activate two different testmodes with them.
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3 id="serialVFD-parallel-connections">
|
||||||
|
<title>Parallel Connections</title>
|
||||||
|
|
||||||
|
|
||||||
|
<para><title>NEC Displays (FM20X2KB-AB):</title></para>
|
||||||
|
|
||||||
|
<para>CN1:</para>
|
||||||
|
<screen><![CDATA[
|
||||||
|
parallel Port: Display (NEC):
|
||||||
|
Pin: Name: Name: Pin:
|
||||||
|
|
||||||
|
1 /STROBE -------------- /WR 1
|
||||||
|
2 D0 -------------- D0 15
|
||||||
|
3 D1 -------------- D1 13
|
||||||
|
4 D2 -------------- D2 11
|
||||||
|
5 D3 -------------- D3 9
|
||||||
|
6 D4 -------------- D4 7
|
||||||
|
7 D5 -------------- D5 5
|
||||||
|
8 D6 -------------- D6 3
|
||||||
|
9 D7 -------------- D7 1
|
||||||
|
10 /ACK --o
|
||||||
|
|
|
||||||
|
11 BUSY --o----------- BUSY 27
|
||||||
|
|
||||||
|
o-- /CS 23
|
||||||
|
|
|
||||||
|
18 - 25 GND ------------o-- GND 2,4,6,8,10,12,14,16,18,20,22,24,26,28,20,32,34
|
||||||
|
|*
|
||||||
|
Shield -------------------o
|
||||||
|
optional
|
||||||
|
|
||||||
|
*connect near display
|
||||||
|
]]></screen>
|
||||||
|
<para>CN2:</para>
|
||||||
|
<screen><![CDATA[
|
||||||
|
Pin 1 <--- +5V
|
||||||
|
Pin 2 <--- GND
|
||||||
|
]]></screen>
|
||||||
|
|
||||||
|
<para><title>FUTABA Displays (M402SD06GJ):</title></para>
|
||||||
|
<screen><![CDATA[
|
||||||
|
parallel Port: Display (FUTABA):
|
||||||
|
Pin: Name: Name: Pin:
|
||||||
|
|
||||||
|
1 /STROBE -------------- /WR 1
|
||||||
|
2 D0 -------------- D0 15
|
||||||
|
3 D1 -------------- D1 13
|
||||||
|
4 D2 -------------- D2 11
|
||||||
|
5 D3 -------------- D3 9
|
||||||
|
6 D4 -------------- D4 7
|
||||||
|
7 D5 -------------- D5 5
|
||||||
|
8 D6 -------------- D6 3
|
||||||
|
9 D7 -------------- D7 1
|
||||||
|
10 /ACK --o
|
||||||
|
|
|
||||||
|
11 BUSY --o----------- BUSY 20
|
||||||
|
|
||||||
|
o-- /SEL 23
|
||||||
|
|
|
||||||
|
18 - 25 GND ------------o-- GND 10,12,14
|
||||||
|
|*
|
||||||
|
Shield -------------------o
|
||||||
|
optional
|
||||||
|
0-- TEST 16
|
||||||
|
|
|
||||||
|
+5V -------o-- +5V 2,4,6
|
||||||
|
|
||||||
|
*connect near display
|
||||||
|
]]></screen>
|
||||||
|
|
||||||
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<!-- ## Serial VFD driver ## -->
|
<!-- ## Serial VFD driver ## -->
|
||||||
<sect2 id="serialVFD-config">
|
<sect2 id="serialVFD-config">
|
||||||
<title>Configuration in LCDd.conf</title>
|
<title>Configuration in LCDd.conf</title>
|
||||||
|
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>[serialVFD]</title>
|
<title>[serialVFD]</title>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>use_parallel=</command>
|
||||||
|
<arg choice="plain">
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><literal><emphasis>yes</emphasis></literal></arg>
|
||||||
|
<arg choice="plain"><literal>no</literal></arg>
|
||||||
|
</group>
|
||||||
|
</arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
"<literal>no</literal>" if display connected serial, "<literal>yes</literal>" if connected parallel [default: <literal>no</literal>(serial)].
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Port=</command>
|
||||||
|
<arg choice="plain"><replaceable>PORT</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Portaddress where the LPT is. Used in parallelmode only. Usual values are 0x278, 0x378 and 0x3BC [default: <literal>0x278</literal>].
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<command>Device=</command>
|
<command>Device=</command>
|
||||||
<arg choice="plain"><replaceable>DEVICE</replaceable></arg>
|
<arg choice="plain"><replaceable>DEVICE</replaceable></arg>
|
||||||
</term>
|
</term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Device where the VFD is. Usual values are <filename>/dev/ttyS0</filename> and <filename>/dev/ttyS1</filename>
|
Device to use in serial mode. Usual values are <filename>/dev/ttyS0</filename> and <filename>/dev/ttyS1</filename>
|
||||||
Default: <filename>/dev/lcd</filename>
|
[default: <filename>/dev/lcd</filename>].
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Custom-Characters=</command>
|
||||||
|
<arg choice="plain"><replaceable>CUSTOM-CHARACTERS</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Number of Custom-Characters [default: Display-<command>Type</command> dependent].
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -204,7 +368,7 @@ You can activate two different testmodes with them.
|
|||||||
</term>
|
</term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Specifies the size of the VFD.
|
Specifies the size of the VFD.
|
||||||
default: <literal>20x2</literal>
|
[default: <literal>20x2</literal>]
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -247,7 +411,7 @@ You can activate two different testmodes with them.
|
|||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
<note><para>
|
<note><para>
|
||||||
Options 3 and 4 should work, but have not been tested yet. Feedback is welcome.
|
Noritake VFDs have not been tested yet. Feedback is welcome.
|
||||||
</para></note>
|
</para></note>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@@ -258,9 +422,21 @@ You can activate two different testmodes with them.
|
|||||||
<arg choice="plain"><replaceable>BRIGHTNESS</replaceable></arg>
|
<arg choice="plain"><replaceable>BRIGHTNESS</replaceable></arg>
|
||||||
</term>
|
</term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Display brightness [default: 255].
|
Set the initial brightness [default: 1000; legal: 0 - 1000]
|
||||||
0 min ... 255 max ... 1000 also max
|
(4 steps 0-250, 251-500, 501-750, 751-1000)
|
||||||
(4 steps 0-64, 65-128, 129-192, 193-1000)
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>OffBrightness=</command>
|
||||||
|
<arg choice="plain"><replaceable>OFFBRIGHTNESS</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
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.
|
||||||
|
(4 steps 0-250, 251-500, 501-750, 751-1000)
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -279,7 +455,7 @@ You can activate two different testmodes with them.
|
|||||||
</term>
|
</term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Set the the baud rate communication with the VFD.
|
Set the the baud rate communication with the VFD.
|
||||||
If not given, it defaults to <literal>9600</literal>.
|
If not given [default <literal>9600</literal>].
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -294,7 +470,7 @@ You can activate two different testmodes with them.
|
|||||||
</arg>
|
</arg>
|
||||||
</term>
|
</term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Enable ISO-8859-1 compatibility. Ddefault is <literal>yes</literal>.
|
Enable ISO-8859-1 compatibility [default is <literal>yes</literal>].
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ NoritakeVFD_SOURCES = lcd.h lcd_lib.h NoritakeVFD.c NoritakeVFD.h report.h
|
|||||||
pyramid_SOURCES = lcd.h pylcd.c pylcd.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
|
sed1330_SOURCES = lcd.h sed1330.h sed1330.c port.h lpt-port.h timing.h report.h
|
||||||
sed1520_SOURCES = lcd.h sed1520.c sed1520.h sed1520fm.c sed1520fm.h port.h report.h
|
sed1520_SOURCES = lcd.h sed1520.c sed1520.h sed1520fm.c sed1520fm.h port.h report.h
|
||||||
serialVFD_SOURCES = lcd.h lcd_lib.h serialVFD.c serialVFD.h report.h adv_bignum.h
|
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
|
||||||
stv5730_SOURCES = lcd.h stv5730.c stv5730.h report.h
|
stv5730_SOURCES = lcd.h stv5730.c stv5730.h report.h
|
||||||
svga_SOURCES = lcd.h svgalib_drv.c svgalib_drv.h report.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
|
t6963_SOURCES = lcd.h lcd_lib.h t6963.c t6963.h t6963_font.h report.h
|
||||||
|
|||||||
+190
-571
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@
|
|||||||
driver.
|
driver.
|
||||||
It may contain parts of other drivers of this package too.
|
It may contain parts of other drivers of this package too.
|
||||||
|
|
||||||
2006-02-13 Version 0.2: everything should work (not all hardware tested!)
|
2006-05-16 Version 0.3: everything should work (not all hardware tested!)
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -26,6 +26,8 @@
|
|||||||
#define SERIALVFD_H
|
#define SERIALVFD_H
|
||||||
#include "lcd.h"
|
#include "lcd.h"
|
||||||
#include "adv_bignum.h"
|
#include "adv_bignum.h"
|
||||||
|
#include "serialVFD_displays.h"
|
||||||
|
#include "serialVFD_io.h"
|
||||||
|
|
||||||
#define CCMODE_STANDARD 0 /* only char 0 is used for heartbeat */
|
#define CCMODE_STANDARD 0 /* only char 0 is used for heartbeat */
|
||||||
#define CCMODE_VBAR 1
|
#define CCMODE_VBAR 1
|
||||||
@@ -63,8 +65,43 @@ MODULE_EXPORT void serialVFD_set_char (Driver *drvthis, int n, unsigned char *da
|
|||||||
|
|
||||||
MODULE_EXPORT int serialVFD_get_brightness (Driver *drvthis, int state);
|
MODULE_EXPORT int serialVFD_get_brightness (Driver *drvthis, int state);
|
||||||
MODULE_EXPORT void serialVFD_set_brightness (Driver *drvthis, int state, int promille);
|
MODULE_EXPORT void serialVFD_set_brightness (Driver *drvthis, int state, int promille);
|
||||||
|
MODULE_EXPORT void serialVFD_backlight (Driver *drvthis, int on);
|
||||||
MODULE_EXPORT void serialVFD_output (Driver *drvthis, int state);
|
MODULE_EXPORT void serialVFD_output (Driver *drvthis, int state);
|
||||||
MODULE_EXPORT void serialVFD_num (Driver * drvthis, int x, int num);
|
MODULE_EXPORT void serialVFD_num (Driver * drvthis, int x, int num);
|
||||||
MODULE_EXPORT int serialVFD_get_free_chars (Driver *drvthis);
|
MODULE_EXPORT int serialVFD_get_free_chars (Driver *drvthis);
|
||||||
MODULE_EXPORT const char * serialVFD_get_info( Driver *drvthis );
|
MODULE_EXPORT const char * serialVFD_get_info( Driver *drvthis );
|
||||||
|
|
||||||
|
typedef struct driver_private_data {
|
||||||
|
int use_parallel; // use parallel?
|
||||||
|
unsigned int port; // Port in parallel mode
|
||||||
|
char device[200]; // Device in serial mode
|
||||||
|
int fd;
|
||||||
|
int speed; // Speed in serial mode
|
||||||
|
/* dimensions */
|
||||||
|
int width, height;
|
||||||
|
int cellwidth, cellheight;
|
||||||
|
/* framebuffer and buffer for old LCD contents */
|
||||||
|
unsigned char *framebuf;
|
||||||
|
unsigned char *backingstore;
|
||||||
|
/* defineable characters */
|
||||||
|
int ccmode;
|
||||||
|
int on_brightness;
|
||||||
|
int off_brightness;
|
||||||
|
int hw_brightness;
|
||||||
|
int customchars;
|
||||||
|
int ISO_8859_1;
|
||||||
|
unsigned int refresh_timer;
|
||||||
|
unsigned char charmap[128];
|
||||||
|
int display_type; // display type
|
||||||
|
int last_custom; // last custom character written
|
||||||
|
char custom_char[31][7]; // stored custom characters
|
||||||
|
char custom_char_store[31][7]; // custom characters backingstore
|
||||||
|
char hw_cmd[10][4]; // hardwarespecific commands
|
||||||
|
int usr_chr_dot_assignment[57]; // how to setup usercharacters
|
||||||
|
unsigned int usr_chr_mapping[31];// where to place the usercharacters (0..30) in the asciicode
|
||||||
|
int hbar_cc_offset; // character offset of the bars
|
||||||
|
int vbar_cc_offset; // character offset of the bars
|
||||||
|
char info[255];
|
||||||
|
} PrivateData;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user