extend ula200 doc; fix a few typos in contact chater
This commit is contained in:
@@ -11,14 +11,14 @@ in our efforts.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The main reason for that is the fact that we do NOT have all
|
||||
the hardware people have writte. drivers for. Unfortunately
|
||||
some developers have kind of vanished and don't react to mails
|
||||
The main reason for that is the fact that we do <emphasis>not</emphasis>
|
||||
have all the hardware people have written drivers for.
|
||||
Unfortunately some developers have kind of vanished and don't react to mails
|
||||
from the mailing list any more.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
So, as far as drivers are concerned we rely on YOU as testers.
|
||||
So, as far as drivers are concerned we rely on <emphasis>you</emphasis> as testers.
|
||||
We have developed elaborate "coding in the dark" skills over the
|
||||
time. E.g. the CFontz driver has been updated and ported to 0.4.3
|
||||
without the developers having the hardware.
|
||||
@@ -30,9 +30,8 @@ without the developers having the hardware.
|
||||
<title>The LCDproc Mailing List</title>
|
||||
|
||||
<para>
|
||||
We are a bit lazy about the bug-tracking and whatever stuff
|
||||
on SourceForge. So, please contact us directly through the mailing
|
||||
list.
|
||||
We are a bit lazy about the bug-tracking and whatever stuff on SourceForge.
|
||||
So, please contact us directly through the mailing list.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -58,28 +57,33 @@ Before reporting this to the mailing list, please respect the following:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>Your system should be more or less up to date. This does not mean
|
||||
that you have to update from GNU/Linux kernel 2.0.x to 2.2.x or from 2.2.x to
|
||||
2.4.x. But we would like to make sure that your problem is not related to a
|
||||
known bug in the kernel or maybe your compiler.
|
||||
</para></listitem>
|
||||
<listitem><para>Especially LCDd might need certain privileges to execute
|
||||
a command. Make sure LCDd HAS the rights to do so.</para></listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
When experiencing problems with LCDd, make sure that your hardware is OK.
|
||||
E.g. you should make sure that the wireing for your (in this case most
|
||||
likely parallel) device is correct.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem><para>Make sure that you use the correct speed settings for your device.
|
||||
Incorrect speed settings (baud rate) are most likely to produce garbage
|
||||
scrolling on your display.
|
||||
Refer to the specifications of your device. If your device needs a speed
|
||||
setting that is not supported by LCDd send us a mail.</para></listitem>
|
||||
<listitem><para>Make sure that you have modified the configuration file according
|
||||
to your needs and that LCDd actually uses the configuration file. I.e. you might
|
||||
have to run LCDd with the -c <link linkend="lcdd-commandline-options">option</link>
|
||||
<listitem><para>
|
||||
Your system should be more or less up to date. This does not mean
|
||||
that you have to update from GNU/Linux kernel 2.2.x to 2.4.x or from 2.4.x to
|
||||
2.6.x. But we would like to make sure that your problem is not related to a
|
||||
known bug in the kernel or maybe your compiler.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Especially LCDd might need certain privileges to access a device.
|
||||
Make sure LCDd <emphasis>has</emphasis> the required rights to do so.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
When experiencing problems with LCDd, make sure that your hardware is OK.
|
||||
E.g. you should make sure that the wiring for your (in this case most
|
||||
likely parallel) device is correct.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Make sure that you use the correct speed settings for your device.
|
||||
Incorrect speed settings (baud rate) are most likely to produce garbage
|
||||
scrolling on your display.
|
||||
Refer to the specifications of your device. If your device needs a speed
|
||||
setting that is not supported by LCDd send us a mail.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Make sure that you have modified the configuration file according
|
||||
to your needs and that LCDd actually uses the configuration file.
|
||||
I.e. you might have to run LCDd with the <code>-c</code>
|
||||
<link linkend="lcdd-commandline-options">option</link>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
@@ -1,12 +1,116 @@
|
||||
<sect1 id="ula200-howto">
|
||||
<title>The ula200 Driver</title>
|
||||
|
||||
<sect2 id="ula200-general">
|
||||
<title>General</title>
|
||||
|
||||
<para>
|
||||
This section talks about using LCDproc with LCD displays that use the
|
||||
ULA-200 USB adapter for HD44780 drivers that can be obtained at
|
||||
<ulink url="http://www.elv.de">ELV</ulink>.
|
||||
The ULA-200 (short for German <emphasis>USB-LCD-Ansteuerung</emphasis>),
|
||||
manufactured and sold by <ulink url="http://www.elv.de">ELV</ulink>,
|
||||
is a small board that connects a HD44780-compatible display to the computer
|
||||
using the USB interface.
|
||||
Additionally it provides 6 digital inputs that can be used for keys.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <code>ula200</code> driver controls this board supporting the features:
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>display on a single-controller HD44780 display</listitem>
|
||||
<listitem>standard icons (heart, checkbox)</listitem>
|
||||
<listitem>backlight control</listitem>
|
||||
<listitem>input buttons</listitem>
|
||||
<listitem><emphasis>no</emphasis> horizontal or vertical bars</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="ula200-requirements">
|
||||
<title>Requirements</title>
|
||||
|
||||
<para>
|
||||
The driver uses <filename>libftdi</filename>, which again uses <filename>libusb</filename>
|
||||
for communication with the device, so no kernel driver is needed on Linux, and the
|
||||
driver can be used on other operating systems as well.
|
||||
|
||||
<note>
|
||||
<para>
|
||||
When using a <filename>libusb</filename> based driver like <code>IOWarrior</code>,
|
||||
<application>LCDd</application> needs to be started as root.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
On Linux, you have to take care that the <filename>ftdi_sio.ko</filename>r
|
||||
kernel module doesn't claim the ELV device.
|
||||
If you didn't change the IDs in the kernel driver (<filename>ftdi_sio.c</filename>),
|
||||
this should not matter.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="ula200-problems">
|
||||
<title>Known problems</title>
|
||||
|
||||
<para>
|
||||
Sometimes the display hangs (the ACK response is not received) on shutdown.
|
||||
Reconnect the display in that case.
|
||||
Please do the same if it hangs while starting up.
|
||||
The latter only happens if it was not the first time <application>LCDd</application>
|
||||
talked to the display.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="ula200-implementation-note">
|
||||
<title>Implementation note</title>
|
||||
<subtitle>(by the driver's author Bernhard Walle)</subtitle>
|
||||
|
||||
<para>
|
||||
The ULA-200 talks a text protocol which allows to display text using a
|
||||
high-level language, i.e.
|
||||
<code>STX</code> <literal>s</literal> <replaceable>len</replaceable>
|
||||
<replaceable>char0</replaceable> <replaceable>char1</replaceable> ... <code>ETX</code>.
|
||||
It also allows low-level register access to the HD44780.
|
||||
So in theory, it would be possible to write a connection type for the
|
||||
<code>hd44780</code> driver and let the <code>hd44780</code> core do the rest.
|
||||
I tried this. It was slow and didn't work with user-specific characters
|
||||
(the hd44780 frequently changes this characters which seems to confuse the
|
||||
microcontroller, at least I cannot explain why it didn't work, there was
|
||||
garbare).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
So I wrote a separate driver, the <code>ula200</code>, which uses
|
||||
the high-level language and should work for displays with all sizes.
|
||||
I only tested 20x4, so maybe for other sizes the positioning code may be adapted.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As I mentioned, there were problems with frequently changing the
|
||||
user-definable characters.
|
||||
I also tried to implement bar code in the <code>ula200</code> driver
|
||||
with similar effects.
|
||||
I gave it up because I don't need it personally and it can be done later.
|
||||
However, standard icons are implemented.
|
||||
The user-definable characters are set in startup and are not changed.
|
||||
This works like a charm.
|
||||
It is not possible to use character 0 with the high-level language
|
||||
(or at least it isn't documented how to escape it).
|
||||
It could be done with hd44780 code, but I replaced the character with
|
||||
a standard character which looks good.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<!-- ## ELV ULA200 driver ## -->
|
||||
<sect2 id="ula200-config">
|
||||
<title>Configuration in LCDd.conf</title>
|
||||
@@ -63,7 +167,7 @@
|
||||
<literal>Enter</literal> and <literal>Escape</literal>.
|
||||
</para>
|
||||
<para>
|
||||
The following it the built-in default mapping hardcoded in the driver.
|
||||
The following table lists the built-in default mapping hardcoded in the driver.
|
||||
</para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
@@ -97,8 +201,7 @@
|
||||
</informaltable>
|
||||
<para>
|
||||
You may leave it unchanged if you have a standard keypad.
|
||||
You can change it if you want to report other keystrings or have a non
|
||||
standard keypad.
|
||||
You can change it if you want to report other keystrings or have a non-standard keypad.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
Reference in New Issue
Block a user