I'm trying to write a configuration file for a Chinese remote control,
which is using a Realtek's rts715-3 transmitter chip.
The rts715-3 has 7 pins for key input, D1, D2, D4, D5, D7, D8, and D9.
My remote transmitter use only D1, D2, D5,and D7.
First of all, I tried RawCodes.exe with my python script,
and got the following results.
10011000 01100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011100
10011000 01100000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0001110
pre_data <D1><D2> [D4] <D5> <D7>[D8] [D9]
I guess first 8 bit is pre_data, 0x98.
and following 64 bit is code,
and next 8 bit is post_data.
it repeats only two times while pressing the button.
The last 0 is ended with space, so there's no way to recognize length of the space.
I resolved this problem using ptrail, repeat_gap, and min_repeat.
The following is my configuration file.
begin remote
name RTS715_3
bits 64
flags SPACE_ENC | CONST_LENGTH
eps 30
aeps 300
one 300 3000
zero 300 1500
pre_data_bits 8
pre_data 0x98
post_data_bits 7
post_data 0x0E
ptrail 300
repeat_gap 1500
min_repeat 1
toggle_bit_mask 0x0
begin codes
KEY_D1 0x6000000000000000
KEY_D2 0x0600000000000000
KEY_D4 0x0006000000000000
KEY_D5 0x0000600000000000
KEY_D7 0x0000006000000000
KEY_D8 0x0000000600000000
KEY_D9 0x0000000060000000
end codes
end remote
It works well except KEY_D2 is recognized as KEY_D1.
Connecting to 127.0.0.1 ...
Connected to 127.0.0.1
000000000000000e 00 KEY_D1 RTS715_3
000000000000000e 00 KEY_D1 RTS715_3
000000000000000e 00 KEY_D1 RTS715_3
000000000000000e 00 KEY_D1 RTS715_3
003000000000000e 00 KEY_D5 RTS715_3
003000000000000e 00 KEY_D5 RTS715_3
000030000000000e 00 KEY_D7 RTS715_3
000030000000000e 00 KEY_D7 RTS715_3
I guess WinLIRC concatenates code and post_data.
and it has 64 bits limitation.
KEY_D1 :
0x6000000000000000(64) and 0x0E(7)
-> 0x30000000000000000E(71)
-> 0x000000000000000e(64) # truncated
KEY_D2 :
0x0600000000000000(64) and 0x0E(7)
-> 0x03000000000000000E(71)
-> 0x000000000000000e(64) # truncated
KEY_D5 :
0x0000600000000000(64) and 0x0E(7)
-> 0x00003000000000000E(71)
-> 0x003000000000000e(64) # truncated
KEY_D7 :
0x0000006000000000(64) and 0x0E(7)
-> 0x00000030000000000E(71)
-> 0x000030000000000e(64) # truncated
I hope next version of WinLIRC should solve the problem.
Thanks a lot.