Here's a break down of the code you originally posted for OPEN, using the info from above:kkl wrote:"The data that you see is an internal encoded, it is not directly related to the serial protocol.
Where you see the alternating 01 and 00, that is the actual IR code.
Each byte has two fields. upper 4 bits represent the burst, lower -
space. So in the byte 01 "zero" is burst, and "1" is the space. The
duration of those is taken from an array. The first entry of which is
00 00 00 35, 4 bytes per entry. To get the time in uS you need to
multiply that value by 8.
00 00 00 00 08 00 00 00 = unknown
35 00 00 00 = time 0
9D 00 00 00 = time 1
ED 10 00 00 = time 2
08 2B 00 00 = time 3
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 34 88 27 05 00 00 00 00 00 00 00 00 02 00 00 00 0C 00 00 00 84 67 00 00 00 00 00 00 5F 00 00 00 FF FF FF FF = unknown
00 01,00 01,00 01,01 00,00 01,00 01,00 01,01 00,00 01,00 01,00 01,00 02 = signal 1 = 000100010000
00 01,00 01,00 01,01 00,00 01,00 01,00 01,01 00,00 01,00 01,00 01,00 03 = signal 2 = 000100010000
00 01,00 01,00 01,01 00,00 01,00 01,00 01,01 00,00 01,00 01,00 01,00 02 = signal 3 = 000100010000
00 01,00 01,00 01,00 01,00 01,00 01,00 01,00 01,00 01,00 01,00 01,00 __ = signal 4 = 000000000000
00 01 = time 0 (on), time 1 (off) = logical 0
01 00 = time 1 (on), time 0 (off) = logical 1
00 02 = time 0 (on), time 2 (off) = logical 0 followed by short leadout
00 03 = time 0 (on), time 2 (off) = logical 0 followed by long leadout
By all means, please show my decode to the developer and see if he agrees with it, and maybe ask him if he can provide some meaning for the rest of the data.
The interesting thing here is that the only difference between the code that worked and the code that didn't was one of the leadout times.