|
From: Ignacy G. <li...@qu...> - 2007-04-14 19:27:40
|
On Sat, Apr 14, 2007 at 11:57:00AM +0200, thus spake Christoph Bartelmus:
> Hi!
>
> Ignacy Gawedzki "li...@qu..." wrote:
> > I've noticed that although the new configuration file for the pinsys remote
> > worked with the latest LIRC, the repeat wasn't. After some experiments with
> > irrecord, I figure that the toggle_bit_mask has to be set to 0xE800 (instead
> > of toggle_bit 0 in the provided file).
>
> I don't think this can be correct. This remote does not use toggle bits.
> Please post some debug logs from lircd that show the codes sent during
> repeats for some buttons.
I got the sources of the Ubuntu package and recompiled with --enable-debug.
Then ran lircd with -D5 -n -H pinsys -d /dev/ttyS1 and irw in another shell.
I first pressed the button labelled "1" once and got:
lircd: byte 0: fe
lircd: byte 1: 9f
lircd: byte 2: 31
lircd: -> 0000000000fe9f31
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 9f31
lircd: repeat_flag: 0
lircd: gap: 0
lircd: rem: 0
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
Then I pressed and held the same button and got:
lircd: byte 0: fe
lircd: byte 1: 9f
lircd: byte 2: 31
lircd: -> 0000000000fe9f31
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 9f31
lircd: repeat_flag: 0
lircd: gap: 0
lircd: rem: 180000
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
lircd: byte 0: fe
lircd: byte 1: 77
lircd: byte 2: 71
lircd: -> 0000000000fe7771
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 7731
lircd: repeat_flag: 1
lircd: gap: 232060
lircd: rem: 180000
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
lircd: byte 0: fe
lircd: byte 1: 77
lircd: byte 2: 71
lircd: -> 0000000000fe7771
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 7731
lircd: repeat_flag: 1
lircd: gap: 82983
lircd: rem: 180000
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
lircd: byte 0: fe
lircd: byte 1: 77
lircd: byte 2: 71
lircd: -> 0000000000fe7771
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 7731
lircd: repeat_flag: 1
lircd: gap: 82920
lircd: rem: 180000
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
lircd: byte 0: fe
lircd: byte 1: 77
lircd: byte 2: 71
lircd: -> 0000000000fe7771
lircd: trying "PinnacleSysPCTVRemote" remote
lircd: code: 7731
lircd: repeat_flag: 1
lircd: gap: 82923
lircd: rem: 180000
lircd: signal length: 21666
lircd: pre
lircd: found: 1
lircd: writing to client 0
I don't really know the internals of LIRC, but obviously, the second byte is
XORed with 0xE8 when the button is repeated. Besides, it seems that the third
byte is also XORed, but with 0x40. I tried to put 0xE840 as the
toggle_bit_mask, but the repeated codes weren't recognized, so I left 0xE800.
--
Writing non-free software is not an ethically legitimate activity, so if
people who do this run into trouble, that's good! All businesses based
on non-free software ought to fail, and the sooner the better.
-- Richard Stallman
|