Subject: (Pre-) Announce SHARK IR / Home Control
To: None <port-arm32@netbsd.org>
From: Mark J. Foster <mfoster@mail.com>
List: port-arm32
Date: 01/07/1999 18:46:59
Hello!

I've been working on a new device driver for the SHARK for Home Control
applications, and thought I'd gauge the interest level in this work.
Specifically, I'm creating a fairly large device driver which actually
supports six devices on the SHARK, each of which is intended for home
control applications.  As such, all of the devices (with the exception
of the RS-232 port) record and playback "edge" transitions, which
enables them to be used regardless of the communications protocol
required by the equipment).

Three general device classes are supported:

    Consumer IR:   Full support for consumer IR input and output
    Serial RS-232: For connecting to X-10 devices, etc.
    Bitstreams:    For general purpose serial I/O, such as
                   connecting your SHARK to your stereo or
                   TV's proprietary control connection.
                   Example: Sony's S-Link.

In total, six devices are created:

    av0: Transmit and Receive on Serial Port Data lines
    av1: Transmit on RTS, Receive on CTS on Serial Port
    av2: Transmit on DTR, Receive on DSR on Serial Port
    av3: Transmit and Receive using hardware IR Controller
    av4: Transmit on RTS, Receive on CTS (Internal Port)
    av5: Transmit on DTR, Receive on DSR (Internal Port)

While the driver definitely isn't done yet, virtually of the code has
been written,  and the code is heavily documented.  Perhaps most
impressive, consumer IR now appears to be working quite well - for the
first time this morning, I was able to control my VCR with my SHARK!

Even better, I've created this code so that it is compatible with the
LIRC (Linux InfraRed Control) driver, which enables it to work directly
with this applications suite for general purpose control.  While I'm
still in the process of testing these apps, one thing works very well,
indeed: consumer IR can not only be recorded and played back, the system
can recognize specific buttons (well and quickly!), to allow you to
control your SHARK or home!  Down the line, I'll be testing the other
capabilities of this suite, such as being able to define buttons for use
as a remote mouse under X, the ability for remote control buttons to
execute arbitrary system commands, etc!

Some of once thought that SHARKs would run the world...  well, maybe now
they can at least run your home theater system...

Any interest?

Thanks!
Mark J. Foster

P.S.  This is definitely not ready for release yet.  Most significant of
all is that, like many of us, I'm still running the original April
release of the NetBSD code, so the code will need to be merged into the
upcoming full EGCS+linked libs+??? snapshot.  That, plus miscellaneous
bug fixes, IOCTLs for changing the UART and/or IR formats, etc, etc,
etc.