got the Imon VFD Display (15c2:0036) finally working

The IR part of the SoundGraph 15c2:0036 VFD/IR device was working for quite some time now after a couple of big updates hit lirc (currently it works for the 0.8.5+ cvs version)

One small quirk was still present, the vfd display would not work all the time. There were allways entries like

lirc_imon: vfd_write: send packet failed for packet #1

in the dmesg logfile and the screen would become garbled from time to time.
Turns out to be a timing issue, with a small patch to lirc_imon everything works perfectly !

diff -u -r1.105 lirc_imon.c
--- drivers/lirc_imon/lirc_imon.c       5 Aug 2009 01:17:26 -0000       1.105
+++ drivers/lirc_imon/lirc_imon.c       23 Aug 2009 08:49:15 -0000
@@ -625,8 +625,10 @@
        }

        kfree(control_req);
+       set_current_state(TASK_INTERRUPTIBLE);
+       schedule_timeout(10);

-       return retval;
+       return retval;
 }

 /**

The original patch hat the timeout to 50 jiffies, but that lead to a quite slow updating of the vfd display, commands did take up to two seconds to display on the vfd. Mabye it even works with lower values, but it seems fast enough for me right now.

Next thing to do is to find a way to display the current mpd information on the vfd, the lcdproc way seems a bit oversized. For mpd there is a nice ruby package on http://librmpd.rubyforge.org/ , so getting the information is not a big problem.

This entry was posted in linux and tagged , , , . Bookmark the permalink.

Leave a Reply