136 lines
4.3 KiB
Plaintext
136 lines
4.3 KiB
Plaintext
<sect1 id="IOWarrior-howto">
|
|
<title>The IOWarrior Driver</title>
|
|
|
|
<sect2 id="IOWarrior-general">
|
|
<title>General</title>
|
|
|
|
<para>
|
|
IOWarrior is the name of a series of multi-purpose USB controller chips
|
|
produced and sold by <ulink url="http://www.codemercs.com/">Code Mercenaries</ulink>.
|
|
This series currently consists of three main types, that - among other features -
|
|
support controlling LCD displays:
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>IOWarrior24</term>
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>USB 1.1 Low Speed</listitem>
|
|
<listitem>16 generic I/O Pins, typ. 125Hz read rate</listitem>
|
|
<listitem>I<superscript>2</superscript>C master function, 100kHz, throughput typ. 750 bytes/sec</listitem>
|
|
<listitem>SPI master interface, up to 2MHz, throughput typ. 750 bytes/sec</listitem>
|
|
<listitem>control an HD44780 compatible LCD</listitem>
|
|
<listitem>drive a matrix of up to 8x32 LEDs</listitem>
|
|
<listitem>decode RC5 compatible infrared remote controls</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>IOWarrior40</term>
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>USB 1.1 Low Speed</listitem>
|
|
<listitem>32 generic I/O Pins, typ. 125Hz read rate</listitem>
|
|
<listitem>I<superscript>2</superscript>C master function, 100kHz, throughput typ. 750 bytes/sec</listitem>
|
|
<listitem>control an HD44780 compatible LCD</listitem>
|
|
<listitem>drive a matrix of up to 8x32 LEDs</listitem>
|
|
<listitem>drive a 8x8 switch or button matrix</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>IOWarrior56</term>
|
|
<listitem>
|
|
<itemizedlist>
|
|
<listitem>USB 1.1 Full Speed</listitem>
|
|
<listitem>50 generic I/O Pins, typ. 1000Hz read rate</listitem>
|
|
<listitem>I<superscript>2</superscript>C master function, 50, 100, or 400kHz</listitem>
|
|
<listitem>SPI master interface, up to 12MHz, throughput up to 62Kbytes/sec</listitem>
|
|
<listitem>control various display modules, including most graphic modules</listitem>
|
|
<listitem>drive a matrix of up to 8x64 LEDs</listitem>
|
|
<listitem>drive a 8x8 switch or button matrix</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>IOWarrior</literal> driver currently only supports writing
|
|
to a single-controller HD44780-type display.
|
|
LED output using the <command>output()</command> function is also implemented,
|
|
although not tested very well.
|
|
The hardware's support for input using keys or IR and multi-controller displays
|
|
is not implemented yet.
|
|
The latter requres extra circuitry for IOWarrior24 and IOWarrior40.
|
|
</para>
|
|
|
|
<para>
|
|
The driver was developed and tested with IOWarrior24 and the IOWarrior40.
|
|
Although there are chances for it to work with an IOWarrior50,
|
|
the current state regarding support of this chip is unknown due to the
|
|
lack of the required hardware.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<!-- ## Code Mercenaries IO-Warrior driver ## -->
|
|
<sect2 id="IOWarrior-config">
|
|
<title>Configuration in LCDd.conf</title>
|
|
|
|
<sect3 id="IOWarrior-config-section">
|
|
<title>[IOWarrior]</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
<command>Size=</command>
|
|
<arg choice="plain">
|
|
<replaceable>WIDTH</replaceable>
|
|
<literal>x</literal>
|
|
<replaceable>HEIGHT</replaceable>
|
|
</arg>
|
|
</term>
|
|
<listitem><para>
|
|
Set the display dimensions. If not given, it defaults to <literal>20x4</literal>.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>SerialNumber=</command>
|
|
<arg choice="plain"><replaceable>SERIALNO</replaceable></arg>
|
|
</term>
|
|
<listitem><para>
|
|
Use the IOWarrior module with the serial number <replaceable>SERIALNO</replaceable>.
|
|
If this parameter is missing, the default is to use the first IOWarrior module found.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>Lastline=</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>
|
|
Specifies if the last line is pixel addressable or it controls an
|
|
underline effect.
|
|
The default <literal>yes</literal> means, it is pixel addressable.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|