iMON LCD patch (v0.1)

Posted by

Update (May, 2008): with the release of LIRC 0.8.3 you no longer need the LIRC patch. Additionally, the forums are now the place to discuss development/use of the patches (particularly this post, which has the latest installation instructions). There's plenty of friendly people there who are more than willing to help out.

Update: a newer version of this patch is available now, please use that instead of the one listed here: click here. If you're already following the instructions from that page, then disregard this :-)

OK, this is it, the first version of my patches to get the new iMON LCD screens, found for example, in thee Antec Fusion Black as well as various Silverstone cases. Download the patches below, and I'll include some instructions as well.

lirc-0.8.2-imonlcd-0.1.patch
lcdproc-0.5.2-imonlcd-0.1.patch

Installation

As you read this, be aware that I'm not a Linux expert by any stretch of the imagination. It'd be better if you were already familiar with patching and installing things from source, but I'll do my best so bear with me :)

First of all, you need LIRC 0.8.2, which provides the kernel-mode interface to the LCD. Untar that file to somewhere (I used ~/lirc-0.8.2, then issue the following command:


~/lirc-0.8.2$ patch -p1 < /path/to/lirc-0.8.2-imonlcd-0.1.patch
~/lirc-0.8.2$ ./setup.sh

From this menu, choose the first option then select the "Soundgraph iMON MultiMedian IR/VFD" driver from the USB menu. Choose "Save & run configure", which will run the configure script. Next run:


~/lirc-0.8.2$ make
~/lirc-0.8.2$ sudo make install
~/lirc-0.8.2$ sudo modprobe lirc_imon

You should be able to setup LIRC and get your remote working at this point, but since that's out of scope of my patches, I'll just skip that bit. The next thing you need to do is download the source for LCDproc version 0.5.2, again, I untar'ed mine to ~/lcdproc-0.5.2, the run:


~/lcdproc-0.5.2$ patch -p1 < /path/to/lcdproc-0.5.2-imonlcd-0.1.patch
~/lcdproc-0.5.2$ aclocal && automake && autoconf
~/lcdproc-0.5.2$ ./configure --enable-drivers=imonlcd
~/lcdproc-0.5.2$ make
~/lcdproc-0.5.2$ sudo make install

Note: You need recent versions of autotools (sudo apt-get install automake autoconf on Ubuntu, for example) to run these commands.

Now, at this point, you'll have to edit the /usr/local/etc/LCDd.conf file to setup the server. Change the Driver to be "imonlcd" (which is the new driver that I've made), set the DriverPath option to "/usr/local/lib/lcdproc/". Next, to the end of the this file, add the following:


[imonlcd]
Size=16x2
Device=/dev/lcd0

Save the file and you should now be able to start the LCDd server and see something on your LCD! The following command-line is good for a start:


~/lcdproc-0.5.2$ sudo LCDd -f -r 4

If you don't see any errors, you'll be able to see the LCDproc server screen on your LCD! If you do get errors, or you don't see anything, leave a comment and I'll see if we can't work it out :-)

The next step, then, would be to set up the LCD screen in http://www.mythtv.org/. I'll leave the details up to the great documentation on the MythTV wiki but if all goes well, you should see something like this:

It works!

Going Forward

The iMON LCD is a powerful little screen. My patch hardly does it justice. For example, the device is a purely pixel-based display (as far as I know...) which means I've had to embed a simple "font" for displaying text. But at the end of the day, I should be able to use the pixel-based display for a much better looking progress bar than what is currently there!

Additionally, the kernel module that I've built for LIRC supports all the features (that I'm aware of anyway) of the screen, but LCDproc does not. For example, I'm not aware of any way to turn the icons around the outside on/off from LCDproc (that is, there's no support for such features at this time). Of course, I could add support for it, but that'll be a pretty big patch -- and I'd then have to patch mythlcdserver to use it as well, and so on... I'm sure it'll happen, but don't expect it tomorrow is all I'm saying :)

Thanks

I'd just like to thank Venky Raju for writing the original iMON patches (I borrowed heavily from his code :) ) and I'd also like to thank "ralph.y" from this page, who did most of the hard work of reverse engineering the protocol -- great work all round!

blog comments powered by Disqus