RC6 is the basic simplest form:
Header <> Toggles <> System(8-bit) <> Command(8-bit)
This presumably uses the official standard meanings for systems and commands.
RC6A has a slightly different header, and inserts an extra 8 or 16 bits after the Toggles.
The earliest bit dictates whether it is 8 or 16.
This allows 128 plus 32678 manufacturer-specific codes.
Each officially-numbered manufacturer can then interpret the system and command codes as they please.
As it is, people will just reverse-engineer it and do their own thing,
just like the RC5 projects from this site, they cannot do that and call it RC6 or RC6A, also,
they risk interference from legitimately coded equipment.
So it is in their own interests to conform, lest their troublesome equipment gets mentioned in HiFi News etc.
The main point is that most people can share a common set of codings to allow manufacturer's handsets to be compatible with each other's equipment.
The second point is that if a manufacturer invents something completely new that does not have an existing system / command code set,
they can apply to have it registered as an official RC6 code set.
If their new gadget doesn't look like it is going to become a common product worthy of the limited official RC6 system codes,
they can be assigned an 8 or 16-bit manufacturer code and do their own thing with their system / command coding,
the RC6 / RC6A authorities can then wash their hands of that.
Even if the manufacturer makes a complete pigs ear, they've only made a mess for themselves.
Other manufacturer's equipment will either think "Its not RC6" or "Its RC6A but not my manufacturer" and ignore it.
This is all only going to work if there is one organisation authority to administer the codings and Philips have the right to do so.
That's why Philips is a bit reserved with information about RC6 to make it not a tangle of codes what with RC5 is happend.
The RC6 format is defined as follows:
HHHHHHH | Header data (16 bits) 1111110010010101 | NO bi-phase coded |
T T | Toggle bits (4 bits) 0011 or 1100 | NO bi-phase coded |
SSSSSSSS | System byte (8 bits) | bi-phase coded |
CCCCCCCC | Command byte (8 bits) | bi-phase coded |
The RC6A format is defined as follows:
HHHHHHH | Header data (17 bits) 11111110010101001 | NO bi-phase coded |
T T | Toggle bits (4 bits) 0011 or 1100 | NO bi-phase coded |
s (if it's 0) s (if it's 1) |
Customer range 0...127 (7 bits) Customer range 32768...65535 (15 bits) |
bi-phase coded |
UUUUUUU | Customer identifier (7 or 15 bits depending on 's' bit) | bi-phase coded |
SSSSSSSS | System byte (8 bits) | bi-phase coded |
CCCCCCCC | Command byte (8 bits) | bi-phase coded |
All bits which have bi-phase encoded will have a single bit split up into two half bits:
0 = 01 / 1 = 10 Note: Inverse from RC5 / RC5X biphase format!
Note: a RC6 / RC6A bit transmission takes half the time of a RC5 / RC5X bit transmission.
For example some codes for a remote controlled beamer:
Beamer 'on / stand-by':1111110010010101 | 0011 | 0101100110011001 | 0101010110100101 |
1111110010010101 | Header data RC6 | NO bi-phase coded |
0011 or 1100 | Toggle bits | NO bi-phase coded |
0101100110011001 | System code | = 00101010 = 42 |
0101010110100101 | Command code | = 00001100 = 12 |
Thus, a beamer works with RC6, the system-code is 42 and the command-code for 'ON / STAND-BY' is 12.
Here are some other beamer RC6 command-codes.
12 | ON / STAND-BY |
84 | MENU |
88 | UP |
89 | DOWN |
90 | LEFT |
91 | RIGHT |
92 | OK |
93 | P.I.P. |
103 | FREEZE |
166 | KEYSTONE UP |
167 | KEYSTONE DOWN |
232 | SOURCE |
245 | 16:9 / 3:4 |
255 | AV MUTE |