The line you want is

AV1 0x0000000000004EB1

Explanation:

LIRC and the Pronto are representing the same information but with two important differences:

1) All the bits are inverted (0 becomes 1 and 1 becomes 0)

2) Within each byte the sequence of bits is reversed (left to right).

On July 25, 2007 at 16:46, **doucga** said...

pre_data 0xC33C

You don't need to change that, but if you want to understand it:

C3 hex is 1100 0011 binary

invert that and you get 0011 1100

reverse the sequence turns out to make no difference

0011 1100 binary is 3C hex.

So the predata C33C that you see in the

LIRC file becomes the predata 3CC3 you see in the Pronto signals.

post_data_bits 1

post_data 0x0

That's an annoying extra twist. It means only half of the possible commands can be supported by this

LIRC file and it makes translating harder. But it doesn't seem to be a problem for AV1. So it probably isn't worth editing the whole

LIRC file to clean that up.

It requires that at a certain moment (see below) in translation, we need to throw away the last bit and that bit must be a '0' (right before we throw it away).

AV2 0x0000000000002ED1

AV2 - 900A 006D 0000 0001 3CC3 45BA

1) Take the command 45BA and translate hex to binary getting 01000101 10111010

2) Invert all the bits: 10111010 01000101

3) Reverse sequence within each 8-bits: 01011101 10100010

4) Throw away the last bit, which must be '0': 01011101 1010001

5) Regroup to translate to hex 010 1110 1101 0001

6) Translate to hex: 2ED1

AV1 - 900A 006D 0000 0001 3CC3 46B9

Do the same with 46B9 instead of 45BA

1) Translate hex to binary getting 01000110 10111001

2) Invert all the bits: 10111001 01000110

3) Reverse sequence within each 8-bits: 10011101 01100010

4) Throw away the last bit, which must be '0': 10011101 0110001

5) Regroup to translate to hex 100 1110 1011 0001

6) Translate to hex: 4EB1