• Jarod Wilson's avatar
    V4L/DVB: IR/streamzap: functional in-kernel decoding · 7a569f52
    Jarod Wilson authored
    This patch makes in-kernel decoding with the stock Streamzap PC Remote
    work out of the box. There are quite a few things going on in this
    patch, all related to getting this working:
    
    1) I had to enable reporting of a long space at the end of each signal,
       or I had weird buffering and keybounce issues.
    
    2) The keymap has been reworked slightly to match actual decoded values,
       the first edition was missing the pre-data bits present in the lirc
       config file for this remote.
    
    3) There's a whole new decoder included, specifically for the
       not-quite-RC5 15-bit protocol variant used by the Streamzap PC
       Remote. The decoder, while usable with other recievers (tested with
       an mceusb receiver), will only be loaded by the streamzap driver, as
       its likely not of use in almost all other situations. This can be
       revisited if/when all keytable loading (and disabling of unneeded
       protocol decoder engines) is moved to userspace, but for now, I think
       this makes the most sense.
    
    Note that I did try to enable handling the streamzap RC5-ish protocol in
    the current RC5 decoder, but there's no particularly easy way to tell if
    its 14-bit RC5 or 15-bit Streamzap until we see bit 14, and even then,
    in testing an attempted decoder merge, only 2/3 of the keys were
    properly recognized as being the 15-bit variant and decoded correctly,
    the rest were close enough to compliant with 14-bit that they were
    decoded as such (but they have overlap with one another, and thus we
    can't just shrug and use the 14-bit decoded values).
    
    Also of note in this patch is the removal of the streamzap driver's
    internal delay buffer. Per discussion w/Christoph, it shouldn't be
    needed by lirc any longer anyway, and it doesn't seem to make any
    difference to the in-kernel decoder engine. That being the case, I'm
    yanking it all out, as it greatly simplifies the driver code.
    Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    7a569f52
rc-streamzap.c 2.14 KB