Subject: wscons on a HD44780
To: None <tech-embed@netbsd.org>
From: Jesse Off <joff@embeddedARM.com>
List: tech-embed
Date: 02/04/2005 09:37:13
I just committed support for wsdisplay(4) attachments to Hitachi HD44780
text mode LCD controllers.  Any doubts as to whether the wscons framework
would scale down to embedded consoles can now be put to rest.  Seeing
wscons working on a 200Mhz ARM TS-7200 embedded board w/24x2 LCD with a
16-button matrix keypad using the generic matrix keypad wskbd(4) driver
(committed earlier this week) is a tribute to NetBSD's clean design and
viability in the embedded space.

Having wscons working for this provides embedded application developers
the ability to rapidly prototype and simulate embedded applications that
will use a matrix keypad and HD44780 display in the field on a regular
serial/telnet console and keyboard.  It also becomes possible, for
instance, to run a getty and shell on an additional virtual LCD wsdisplay
that can be accessed by plugging in a USB ukbd(4) and hitting Ctrl-F2 to
switch consoles just like on NetBSD's other ports.  The only quirks the
above login-session/shell would have are those that one would expect with
only 24x2 characters instead of the traditional 80x25, but would be
perfect for enabling out-of-band features for system integrators for
(e.g.) field updates or initial system configuration.

About the HD44780 display:
HD44780's are ubiquitous in the embedded world and are found in
backlit/non-backlit configurations from 16x1 characters (around $7) to
40x4 characters (around $24).  These displays are very commonly attached
to microcontrollers such as PIC's or Atmel AVR's.  The typical NetBSD user
probably knows of them through the server-monitoring style applications
catered to by such open-source projects as LCDproc.

About the matrix keypad:
Matrix keypads are small and rugged input devices resembling a keyboard
without a controller that must be both polled and debounced in software.
Matrix keypads commonly range in size from 1x1 (aka single button) to 4x4
(extended phone keypad), though the current NetBSD driver is not at all
limited to these sizes and may be used in sizes up to and exceeding those
of qwerty keyboard sized keypads.  (such as e.g. those for custom
front-panels or fast-food registers)

//Jesse Off