Page 1 of 1

RM - RC-5x protocol definition

Posted: Tue Oct 07, 2003 12:58 pm
by cdhixson
I think I have figured out the protcol definition for the RC-5x protocol. Here is my entry for the ini file.

Code: Select all

[RC-5x]
PID=00 F2
DevParms=Device Code:5=0
DeviceTranslator=Translator(comp,0,5,3)
FixedData=1f
CmdTranslator=Translator(comp,0,8,4) Translator(comp,0,8,4)
CmdParms=OBC:7=0
DefaultCmd=ff 00
CmdIndex=1
Notes=
Code.S3C80=40 9A 12 8B 17 89 81 10 08 08 01 BB 01 A8 01 BB \
           01 A8 94 01 00 00 06 7D 00 00 04 09 76 00 01 6B \
           03 B6 03 20 77 77 8D 01 46
Code.740=0C 1C 12 80 0C E9 C0 20 20 08 08 02 07 02 06 03 \
         78 17 5A 02 AF 5D 3C 04 77 2F 5C 3C C0 7E 22 00 \
         3C A8 7E 22 00 A2 78 A0 5D 22 44 4C 03 FF
Code.6805=0C 1D 12 20 11 C0 C0 20 20 08 08 02 13 02 0A 03 \
          F9 00 00 00 00 04 01 57 06 B6 5A A8 20 B7 5A A6 \
          02 B7 59 A6 C0 B7 7B CD 01 83 A6 A8 B7 7B CD 01 \
          83 A6 5D AE 08 CD 01 9E CD 01 8C 24 E2 81
I tested it against KM 7.54 and it seems to give the correct output. I only tested OBC values between 0 and 127. I don't think anything greater than 127 will work correctly. Is this a correct assumption?

The only difference is when you don't enter a device code in KM. In KM, the fixed data would be FF, while in RM it will be 1F. I don't think this makes a difference, but someone tell me if I'm wrong.

I've gotten the ball rolling so let's get some others working on these protocols. Who's next?

Chris

Posted: Tue Oct 07, 2003 1:00 pm
by gfb107
Thanks Chris.

I'll include this in the next release.

Posted: Tue Oct 07, 2003 1:29 pm
by johnsfine
Sorry I don't have time to research these myself. But ...

Why does the "Translator(comp,0,8,4)" appear twice?

Why is the OBC limited to 7 bits and that translator seems to be for 8?

IIRC, regular RC5 has a bit of the obc placed oddly within the signal (not contiguous to other OBC bits). Does RC5x do that, and if so how does the protocol cover it?

Posted: Tue Oct 07, 2003 1:53 pm
by gfb107
johnsfine wrote:Sorry I don't have time to research these myself. But ...

Why does the "Translator(comp,0,8,4)" appear twice?

Why is the OBC limited to 7 bits and that translator seems to be for 8?

IIRC, regular RC5 has a bit of the obc placed oddly within the signal (not contiguous to other OBC bits). Does RC5x do that, and if so how does the protocol cover it?
Good catches, John. I should be paying more attention to the details...

Posted: Tue Oct 07, 2003 5:16 pm
by jon_armstrong
FYI,

The protocol definitions of RC5 and RC5x respectively are:

{36k,msb,889}<1,-1|-1,1>(1:1,~F:1:6,T:1,D:5,F:6,^114m)+

{36k,msb,889}<1,-1|-1,1>(1:1,~F:1:6,T:1,D:5,-4,S:6,F:6,^114m)+

As John said, the top bit of the OBC in RC5 is the complement of the second data bit. I don't think I have ever seen an OBC=F >127 in RC5x but the bit structure is the same, so I think it would be safe to assume that they may.

Posted: Wed Oct 08, 2003 6:17 am
by cdhixson
jon_armstrong wrote:FYI,

The protocol definitions of RC5 and RC5x respectively are:

{36k,msb,889}<1,-1|-1,1>(1:1,~F:1:6,T:1,D:5,F:6,^114m)+

{36k,msb,889}<1,-1|-1,1>(1:1,~F:1:6,T:1,D:5,-4,S:6,F:6,^114m)+

As John said, the top bit of the OBC in RC5 is the complement of the second data bit. I don't think I have ever seen an OBC=F >127 in RC5x but the bit structure is the same, so I think it would be safe to assume that they may.
I don't understand the protocol definition and I don't have the time to learn. I just try to match what comes out of KM. Also, things like Rc5FlagTranslator() and Rc5Translator() just appear in the protcols.ini file without a single line of documentation. I have no idea what they're doing.

Here is my second attempt.

Code: Select all

[RC-5x]
PID=00 F2
DevParms=Device Code:5=0
DeviceTranslator=Translator(comp,0,5,3)
FixedData=1f
CmdTranslator=Translator(comp,0,7,5)
CmdParms=OBC:7=0
DefaultCmd=ff 00
CmdIndex=1
Notes=
Code.S3C80=40 9A 12 8B 17 89 81 10 08 08 01 BB 01 A8 01 BB \
           01 A8 94 01 00 00 06 7D 00 00 04 09 76 00 01 6B \
           03 B6 03 20 77 77 8D 01 46
Code.740=0C 1C 12 80 0C E9 C0 20 20 08 08 02 07 02 06 03 \
         78 17 5A 02 AF 5D 3C 04 77 2F 5C 3C C0 7E 22 00 \
         3C A8 7E 22 00 A2 78 A0 5D 22 44 4C 03 FF
Code.6805=0C 1D 12 20 11 C0 C0 20 20 08 08 02 13 02 0A 03 \
          F9 00 00 00 00 04 01 57 06 B6 5A A8 20 B7 5A A6 \
          02 B7 59 A6 C0 B7 7B CD 01 83 A6 A8 B7 7B CD 01 \
          83 A6 5D AE 08 CD 01 9E CD 01 8C 24 E2 81