Mailing List archive

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

[linux-dvb] Re: RC problem (details)



jpulz@frm2.tu-muenchen.de wrote:
> i tried CVS Rev. 1.8 right now, and it seems that everything is
> working now for me.
> but i found some differences..
>
> here is a small dump what 'evtest' and av7110_ir_debug=1 gives to me:
>
> firmware up to CVS Rev. 1.5:
> 0x41 KEY_1
> #########80000041######### key 41 pressed (keycode 2)
> Event: time 1049136171.364196, type 1 (Key), code 2 (1), value 1
> Event: time 1049136171.860519, type 1 (Key), code 2 (1), value 0
> ...
>
> firmware CVS Rev. 1.6 and 1.7:
>
> NOTHING reported.. no output, NOT working

Don't know why it doesn't work, but obviously it has been fixed in 1.8.
;-)

> firmware CVS Rev. 1.8:
>
> KEY_1
> #########00000941######### addr 5 data 0x01 (keycode 0)
> av7110_emit_key: unknown key 0x01!!
> ...
>
> as you can see, the values for the key's are different.
> ...
> i don't know if this is the expected behavior..

Yes, this is expected. Sorry.

A RC5 code consists of a toggle bit, 5 address bits and 6 data bits:
        taaa aadd dddd.

For key '1', your remote control transmits (toggle bit ignored):
binary   001 0100 0001
hex        1    4    1

As you can see, the old firmware delivered the lower 8 bits only,
while the new firmware delivers the full word.

The old driver used all available data (8 bits) as an index into the 
keymap. The new driver decodes the data word and uses the data bits 
(lower 6 bits) only, because the new driver has a feature to listen to 
a specific device address (see DVB/apps/av7110_loadkeys/README).
Some remote controls have an option to change this address (TV1/TV2, 
SAT1/SAT2, etc.).

Obviously, your rc uses device address 5.
For your remote, simply subtract 40 from each keycode in your keymap.

Oliver


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index