On Thu, Apr 24, 2014 at 10:40 AM, Joel Ebel <lirc@ebel.mybox.org> wrote:
What do multiple codes in one line of the code section of lircd.conf mean? Are those two codes sent sequentially, and then repeated?

For background, I am trying to get an idea of how the Roku remote works, in hopes of figuring out how to directly access channels. I have a Roku, but it came with an RF remote. I have a Harmony remote, which I loaded with IR codes for the Roku, and I've recorded those with irrecord. It uses the NEC protocol with pre-data of 0x5743 and no detected toggle bit mask. For example, here is the Home button:

Home                     0xC03F 0xC13E

For each code the second code appears to be obtained by adding 0x00FF to the first code. I haven't seen this sort of behavior for the NEC protocol before, so I'm wondering if this is common. Is this something specific to Roku? Or is this some anomaly of recording from the Harmony remote, and if I had a real Roku remote it wouldn't behave this way.

My goal was to generate a series of codes using the same protocol as the Roku remote and seeing if any of them, when transmitting, trigger a channel to operate. I know that there is at least a code for the Amazon channel, because you can apparently purchase an IR remote which includes a button for Amazon.

Out of curiosity, anyone have one of these Roku remotes, and care to irrecord it and see if it also produces these same double codes, or even better, can detect the code for some of the direct-access buttons?


Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform

Note that for your Home button, 0x3f == ~0xc0 and 0x3e == ~0xc1.  In one of the online references for the NEC protocol I found said that it will send an address byte, followed by its logical inverse, then an command byte followed by its logical inverse.  So if that is true, this would be address 0xc0 command 0xc1.  Here is a link to that reference:


I'm not sure that that is what you are seeing, but if other codes follow the same pattern, it may make sense.