Delete comment from: Ken Shirriff's blog
After additional testing and checking, it seems that the Sharp Remote sends a three code sequence per button push.
Example: Pressing '4' on the Sharp Remote sends code "0x00004082" in the following sequence:
======================================================
| HEX | Binary | Description
0x00004082 100000010000010 <== [First IR code received] - Actual Code
0x0000437D 100001101111101 <== [Second IR code received] - 10 least significant bits are flipped on actual code
0x00004082 100000010000010 <== [Third IR code received] - Actual Code
So it seems that logic can/should be implemented such that we compare the first received code with the second received code after the 10 least significant bits have been flipped on the second received code. If they match, then a good chance that the codes were sent correctly.
And for additional error checking, the third received code can be compared with the first and second (after the second has been flipped, of course).
Oct 17, 2013, 12:41:53 AM
Posted to A Multi-Protocol Infrared Remote Library for the Arduino

