Hi, On Fri, Jul 19, 2019 at 06:50:05AM -0500, JohnG wrote: > I have POWER_KEY scancodes, that work as RAW data with ir-ctl -s [file], but > are not working with ir-ctl -S: > > 0x20df10ef (POWER_KEY for my LG tv) > 0x02FD48B7 (POWER_KEY for my Toshiba tv) As you can see here https://www.sbprojects.net/knowledge/ir/nec.php the nec protocol has an inverted address (2nd byte) and inverted command (3rd byte). The inverted values are not in regular nec scancodes for ir-ctl, as they are redundant. So the first values would be "ir-ctl -S nec:0x2010" and the second one "ir-ctl -s nec:0x0248". > rc6_mce:0x800f0410 works, as does nec32:0x800f0410 (though not > nec:0x800f0410), so it doesn't seem to be an issue with 32-bit codes. > > I use AnalysIR, and it indicates the protocol is NEC for the above codes, > though irdb.tk indicates the protocol is NEC1. > > 1) is there a description of the various protocols? (how can I know if I > should use nec or nec32, with a 32 bit value?) There isn't any documentation, although we could really use some. I'll try to write something up when I get some time. In the mean time, you can see a list of the protocols to and bitmask here: https://git.linuxtv.org/v4l-utils.git/tree/utils/common/ir-encode.c#n344 So the scancode_mask shows which bits are actually valid; if any bits outside of the mask are set, ir-ctl will say the scancode is invalid. So for nec any value between 0 and 0xffff is valid; necx it is 0 to 0xffffff and nec32 it is 0 to 0xffffffff. > 2) are my scancodes failing to work, because they are (possibly) NEC1 > protocol? I'm not sure what the nec1 protocol is exactly. This sounds like a AnalysIR invention. > > 3) if NEC1 is not the same as nec or nec32, is it scheduled to be added to > ir-ctl in the near future? Please let me know how you get on with the above. Thanks Sean