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.