Re: scancodes identified as invalid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux