From: Tim Newsham <newsham@la...> - 2005-02-22 21:10:01
> Has anyone played with the smsc iirc or cirrc chips?
No reply yet so I'll share my current progress. The SMSC irCC
chip lets you send an arbitrary string of bits (actually bytes,
you have to pad it out) at a wide range of carrier frequencies
and bitrates. This is ideal for goofing with IR (remotes and
otherwise). It has obvious advantages over going through the
UART interface (the disadvantage being that you need the hardware).
My Dell laptop (Latitude CPx) came with this chip and I started playing
with it. At http://www.lava.net/~newsham/ircc.tgz you'll find
a small package that has a driver, a test program and a simple
replay program. The driver has ioctls for setting the sync mode,
the sensitivity and the carrier and data frequencies. It can
read and write blocks of data up to 4096 bytes. The data is relayed
out the interface without any encoding or framing. If you want
a particular encoding or framing you will have to encode it yourself.
It does however modulate the signal for you (ASK).
The driver is written on my old dell laptop which is running 2.2.14
(I use it to drive my AV system in windows mostly, I wasnt about
to upgrade it just for a quick project). I hope the code is easy
to reuse in other kernels.
This is the first time I've written a linux driver and I'm unfamiliar
with the APIs. If you dont like the code, feel free to fix it
and/or tell me how to do it right.
The driver has been tested to read in and replay IR codes. I
have not yet started analyzing the signals so there may be minor
foibles (like getting the bits inverted perhaps).
All code in this tarball is in the public domain. Feel free to
do with it as you please (including slapping a GPL on derivitives
if you must).