The line you want is
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...
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.
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 - 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