Appendix – Op Codes
The following are the op codes that we decoded manually for each button. They do not include the start code, brand-sensitive code, or stop code. These were used to test the accuracy of our Atmel Mega 32 sampling and decoding.
Each 1 and 0 represents 0.5 ms and 111 represents 1.5 ms
1. 10111010101010101010101110111011101110111011101110
2. 10101110101010101010111010111011101110111011101110
3. 10111011101010101010101010111011101110111011101110
4. 10101010111010101010111011101110101110111011101110
5. 10111010111010101010101011101011101110111011101110
6. 10101110111010101010101110101011101110111011101110
7. 10111011101110101010101010101011101110111011101110
8. 10101010111010101010111011101110101110111011101110
9. 10111010101110101010101011101110101110111011101110
Down 10101110101110101010101110101110101110111011101110
0. 10101010101010101011101110111011101110111011101110
Up 10101110101110111010101011101011101010111011101110
Vol Up 10101110101110111010101011101011101010111011101110
Vol Down 10101110111011101110101010111010101010111011101110
X 10111011101011101110101010101011101010111011101110
Return 10111011101110111011101010101010101010111011101110
Power 10101110101011101010101110101110111010111011101110
Left 10111010101011101010101011101110111010111011101110
Right 10111011101010111010101010101110111010111011101110
Mute 10101011101110111010101011101110101010111011101110
Example of calculation
Button 1
The following has been sampled and are elements 17 to 34 in the array. These values represent long and short pulses of the button and not the start, stop, or brand-sensitive region.
10111010101010101010101110111011101110111011101110
After sampling, becomes
5 5 15 5 5 5 5 5 5 15 5 15 15 15 15 15 15
The last pulse is dropped because everyone has that
5 5 15 5 5 5 5 5 5 15 5 15 15 15 15 15
which becomes
0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1à 0b0010000001011111
which is then converted from binary to decimal
8287