1 <sect1 id="serialVFD-howto">
2 <title>The serialVFD Driver</title>
5 This section talks about using LCDproc with VFD character-displays build by NEC, FUTABA and NORITAKE.
10 The serialVFD-driver is working with NEC FIPC8367 based VFDs
11 and the "KD Rev 2.1" (an ATMEL AT90S.... based FM20X2KB-AB replacement).
12 It is also known to work on FUTABA VFDs.
16 The driver should operate most of NEC, Futaba and Noritake 7x5 dot VFDs with
17 serial(RS-232) and/or parallel interface. See the following table for testing-status.
21 <table id="serialVFD-howto.status">
22 <title>serialVFD: Display Status</title>
26 <entry>Display</entry>
27 <entry>Controller</entry>
29 <entry>Parallel</entry>
30 <entry>Display tested</entry>
36 <entry>NEC FM20X2KB-AB</entry>
37 <entry>NEC FIPC8367</entry>
44 <entry>NEC FC20X2JA</entry>
45 <entry>NEC FIPC8367</entry>
49 <entry>Same Controller as on FM20X2KB-AB</entry>
52 <entry>NEC FC20X1SA-AB/AA</entry>
53 <entry>NEC FIPC8367</entry>
57 <entry>Same Controller as on FM20X2KB-AB</entry>
60 <entry>KD Rev 2.1</entry>
61 <entry>AT90S.... microcontroller</entry>
69 <entry>FUTABA M402SD06GJ</entry>
74 <entry>(* perhaps no compatible baudrate, not tested)
75 The display has no user-characters: set <command>Custom-Characters=0</command>
76 in <filename>LCDd.conf.</filename></entry>
79 <entry>FUTABA M204SD01AA</entry>
80 <entry>FUTABA 5P00A016</entry>
87 <entry>Samsung 20S204DA2</entry>
92 <entry>The display is FUTABA compatible (hard- and software). Set <command>Custom-Characters=0</command>
93 in <filename>LCDd.conf.</filename> </entry>
97 <entry>Noritake CU20026SCPB-T</entry>
98 <entry>microcontroller</entry>
106 <entry>Noritake CU20045SCPB-T28A</entry>
117 <literal>(</literal>…<literal>)</literal>: Feature not tested.
121 If your display isn't working 100% satisfactorily you can add a new device with modified hardware
122 commands to the driver if you want. To do that you have to add a new section to the display
123 <command>Type=</command>-switch-case in <filename>./server/drivers/serialVFD-displays.c</filename>
124 and to write a new "load" function with the correct commands for the display.
125 (Try which display <command>Type=</command> works best with your display,
126 then copy, rename and modify this function to your needs - that is the easiest way I guess.)
130 On Malte Poeggel's page you may find pictures and datasheets of the VFDs:
131 <ulink url="http://www.maltepoeggel.de/html/vfd/index.html"></ulink>
135 It is possible to switch the display off and back on while the server is
136 running. It may take a few minutes until the next full refresh makes
137 the display show everything correctly.
141 <sect2 id="serialVFD-connections">
142 <title>Connecting The Display</title>
144 <para>The Connections shown have been tested successfully.</para>
148 Always cross-check with your datasheet, before connecting your display!
149 Different displays of even the same manufacturer may have different pin assignments!
153 With this example connections it will be easy to connect displays with
154 different connector pin-layouts, the pins are commonly named equal in
158 <sect3 id="serialVFD-serial-connections">
159 <title>Serial Connections</title>
162 It is <emphasis>not</emphasis> possible to connect most of the displays directly to the
163 serial port. The signal has to be inverted. I use the following
164 circuit to do that job.
167 <figure id="serialVFD-serial-connections.circuit">
168 <title>serialVFD: Serial Inverter</title>
176 red(+5V) ----------------------------------o----- +5V
178 black(GND) ----------------------o .-.
180 Serial(SUB-D 9Pin female) | | |
183 3(TxD) --|___|--o---o o-----------------o----- RxD
186 .-. | ----- BC547c (or similar NPN)
193 5(GND) ---------o-----------o----o--------------o-- GND
195 Shield -----------------------------------------o
198 *connect near display
203 <para>The pins on the different displays vary.</para>
205 <sect4 id="serialVFD-serial-connections-NEC">
206 <title>NEC Displays (FM20X2KB-AB):</title>
211 (Testmode: connect pins 25 and 26, then power up)
221 <sect4 id="serialVFD-serial-connections-KD">
222 <title>KD Rev 2.1:</title>
224 The blue connector (6pin in a row) (the important one!):
228 --------------------------------
229 | +5V +5V RxD GND GND GND |
230 --------------------------------
236 Hold the display in that position where you can read
237 the <literal>KD Rev 2.1</literal> marking normally!
241 <para>The gray connector (10pin 2 rows):</para>
243 <![CDATA[Do not use. (the ATMEL ISP connector I guess)
246 <para>The two jumpers next to the gray connector:</para>
248 <![CDATA[Normally not used.
249 You can activate two different testmodes with them.
254 <sect4 id="serialVFD-serial-connections-FUTABA">
255 <title>FUTABA Displays (M402SD06GJ):</title>
256 <screen><![CDATA[Pin 2 ------ +5V
271 <sect3 id="serialVFD-parallel-connections">
272 <title>Parallel Connections</title>
275 <sect4 id="serialVFD-parallel-connections-NEC">
276 <title>NEC Displays (FM20X2KB-AB):</title>
280 parallel Port: Display (NEC):
281 Pin: Name: Name: Pin:
283 1 /STROBE -------------- /WR 17
284 2 D0 -------------- D0 15
285 3 D1 -------------- D1 13
286 4 D2 -------------- D2 11
287 5 D3 -------------- D3 9
288 6 D4 -------------- D4 7
289 7 D5 -------------- D5 5
290 8 D6 -------------- D6 3
291 9 D7 -------------- D7 1
294 11 BUSY --o----------- BUSY 27
298 18 - 25 GND ------------o-- GND 2,4,6,8,10,12,14,16,18,20,22,24,26,28,20,32,34
300 Shield -------------------o
303 *connect near display
312 <sect4 id="serialVFD-parallel-connections-FUTABA">
313 <title>FUTABA Displays (M402SD06GJ):</title>
315 parallel Port: Display (FUTABA):
316 Pin: Name: Name: Pin:
318 1 /STROBE -------------- /WR 17
319 2 D0 -------------- D0 15
320 3 D1 -------------- D1 13
321 4 D2 -------------- D2 11
322 5 D3 -------------- D3 9
323 6 D4 -------------- D4 7
324 7 D5 -------------- D5 5
325 8 D6 -------------- D6 3
326 9 D7 -------------- D7 1
329 11 BUSY --o----------- BUSY 20
333 18 - 25 GND ------------o-- GND 10,12,14
335 Shield -------------------o
339 +5V -------o-- +5V 2,4,6
341 *connect near display
347 <!-- ## Serial VFD driver ## -->
348 <sect2 id="serialVFD-config">
349 <title>Configuration in LCDd.conf</title>
352 <sect3 id="serialVFD-config-section">
353 <title>[serialVFD]</title>
359 <command>use_parallel=</command>
362 <arg choice="plain"><literal><emphasis>yes</emphasis></literal></arg>
363 <arg choice="plain"><literal>no</literal></arg>
368 "<literal>no</literal>" if display connected serial, "<literal>yes</literal>" if connected parallel [default: <literal>no</literal>(serial)].
374 <command>Port=</command>
375 <arg choice="plain"><replaceable>PORT</replaceable></arg>
378 Portaddress where the LPT is. Used in parallelmode only. Usual values are 0x278, 0x378 and 0x3BC [default: <literal>0x278</literal>].
384 <command>Device=</command>
385 <arg choice="plain"><replaceable>DEVICE</replaceable></arg>
388 Device to use in serial mode. Usual values are <filename>/dev/ttyS0</filename> and <filename>/dev/ttyS1</filename>
389 [default: <filename>/dev/lcd</filename>].
395 <command>Custom-Characters=</command>
396 <arg choice="plain"><replaceable>CUSTOM-CHARACTERS</replaceable></arg>
399 Number of Custom-Characters [default: Display-<command>Type</command> dependent].
405 <command>Size=</command>
407 <replaceable>WIDTH</replaceable>
409 <replaceable>HEIGHT</replaceable>
413 Specifies the size of the VFD.
414 [default: <literal>20x2</literal>]
420 <command>Type=</command>
421 <arg choice="plain"><replaceable>CODE</replaceable></arg>
425 Specifies the display type.[default: 0]
426 The following type codes are available:
432 <entry><replaceable>CODE</replaceable></entry>
433 <entry>VFD model</entry>
438 <entry><literal><emphasis>0</emphasis></literal></entry>
439 <entry>NEC (FIPC8367 based) VFDs</entry>
442 <entry><literal>1</literal></entry>
443 <entry>KD Rev 2.1</entry>
446 <entry><literal>2</literal></entry>
447 <entry>Noritake VFDs</entry>
450 <entry><literal>3</literal></entry>
451 <entry>Futaba VFDs</entry>
457 Noritake VFDs have not been tested yet. Feedback is welcome.
464 <command>Brightness=</command>
465 <arg choice="plain"><replaceable>BRIGHTNESS</replaceable></arg>
468 Set the initial brightness [default: 1000; legal: 0 - 1000]
469 (4 steps 0-250, 251-500, 501-750, 751-1000)
475 <command>OffBrightness=</command>
476 <arg choice="plain"><replaceable>OFFBRIGHTNESS</replaceable></arg>
479 Set the initial off-brightness [default: 0; legal: 0 - 1000].
480 This value is used when the display is normally
481 switched off in case LCDd is inactive.
482 (4 steps 0-250, 251-500, 501-750, 751-1000)
488 <command>Speed=</command>
491 <arg choice="plain"><literal>1200</literal></arg>
492 <arg choice="plain"><literal>2400</literal></arg>
493 <arg choice="plain"><literal><emphasis>9600</emphasis></literal></arg>
494 <arg choice="plain"><literal>19200</literal></arg>
495 <arg choice="plain"><literal>115200</literal></arg>
500 Set the the baud rate communication with the VFD.
501 If not given [default <literal>9600</literal>].
507 <command>ISO_8859_1=</command>
510 <arg choice="plain"><literal><emphasis>yes</emphasis></literal></arg>
511 <arg choice="plain"><literal>no</literal></arg>
516 Enable ISO-8859-1 compatibility [default is <literal>yes</literal>].