Manual setting KM and RM

Discussion forum for JP1 software tools currently in use, or being developed, such as IR, KM, RemoteMaster, and other misc apps/tools.

Moderator: Moderators

Post Reply
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Manual setting KM and RM

Post by vickyg2003 »

I need an education on how to get a protocol into RM and KM.

I've been working on a variation of the 00C9 protocol for a JVC48 derivative. It takes 5 bytes of fixed data, and for the life of me, I can't figure out how to get KM or RM to produce those 5 bytes of fixed data when using manual settings.

Any insight?
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

For RM it is easier and better to create an new entry in protocols.ini
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

hahaha! Create an entry in protocols.ini. You have got to be kidding, right? :lol: I am definately NOT READY to do something like that!

A lot of what I do in PB, is merely make macro friendly changes to a protocol, and I don't know how to get these back to people. I've dropped the changes into their IR file and hand edited their device upgrade to point at my 01FF custom protocol, but from my own experience I know that having my upgrades in a KM or RM file makes it very nice when I setup a new remote.

There was a field in RM that seemed to be for fixed data, but it doesn't make it to the upgrade.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

Vicky,

I assume you're following the directions in How To: Manual Settings in RM.

I can't tell where you are getting stuck. The more details you provide (such as the protocol upgrade code you are trying to add) the better.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Okay, you don't know where I'm getting stuck.

1, on that advanced menu option where you suck in the protocol from the clipboard, what is the fixed raw data field for, and how do I use it.



2) Now I'm going to give you my JVC-48 example.

The JVC-48 protocol has 1 device and 1 sub device but has 5 bytes of fixed data. I went in and made a minor tweak to send the lead in pair on the "first frame only" and shorten the lead-out time. Not Rocket science, a pretty simple mod. I dump the protocol into IR, load it at the remote, shoot it at the widget and voile, the bumps are all in the right place. Now I want to put this in RM or KM. I have no idea of how to get this in there. Since this is the 00C9, a very common panasonic protocol, I need to give it a new PID and put it into an upgrade for the user, but I don't understand how the 5 bytes are calculated, nor what they do. I've dug around in protocol.ini at John's suggestion, but can't figure out how to get this information into the new upgrade. I've been playing with this for hours, but its just plain over my head.

[JVC-48]
OldNames=Panasonic JVC
PID=00 C9
CmdTranslator=Translator(lsb,comp)
CmdParms=OBC=0
Notes=JVC version of Kaseikyo
DevParms=Device,Sub Device
DeviceTranslator=Translator(lsb,comp,0,8,24) \
Translator(lsb,comp,1,8,32) \
XorCheck(8,0,255,2,24)
FixedData=ff 3f 7f ff ff
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Apparently I had RM in some sort of confused state. A big part of my problem with this modified protocol is that no matter what I put into my fixed data, I couldn't get the hex in the fixed data to make any sense. It wasn't hex, lsb, comp, comp, lsb, but I just went in with a clean RM file and was able to get the fixed data to come up with the numbers that I wanted.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

You didn't give me the protocol upgrade code I asked for.

The number or fixed and variable bytes is coded is taken from the protocol upgrade code.

Unfortunately, you've picked a somewhat difficult case.

The DeviceTranslator entry tells you how to encode the device and sub-device in the fixed data, as well as any other special processing.

Translator(lsb,comp,0,8,24) says that the Device number (which is the first entry in the DevParm line, so it has index 0) is 8 bits and gets stored starting at bit 24 of the fixed data (that's byte 4), using LSB COMP.
Similarly, Translator(lsb,comp,1,8,32) says Sub Device (DevParm index 1) is 8 bits, stored a bit 32 (byte 5) using LSB COMP.

There's also the XorCheck, which means that there's an 8-bit xor checksum starting at bit 0 (byte 1), seeded with 255 (=$FF), computed over 2 bytes starting at bit 24 (byte 4).

We can't tell anything about the encoding of bytes 2 and 3, as they simply receive the initial value from the FixedData entry and RM performs no additional manipulation on them, and they are not part of the XOR checksum.

From the CmdTranslator line we also note that the variable byte is LSB COMP

Back to the Manual Settings Dialog in RM.

Once you've entered the PID of 01 FF and imported the protocol code,

The other fields should auto-populate.

As we discussed above, we need to select LSB and Comp for Device Parameters Device 4 and Device 5, and also for Command Parameter OBC.

Just leave the Raw Fixed Data alone, there appears to be a bug here.

If you click View Ini, you can see that RM has taken everything you've done here and generated an entry that could be copied and pasted into protocols.ini.

Click OK.

Now back on the setup panel, we need to select Protocol 'PID 01 FF', which will be at the very bottom of the list.

Now you can fill in the values for the Protocol Parameters
As already discussed, the JVC-48 Device will be Device 4, and the Sub Device will be Device 5.
Enter 63 for Device 2 and 127 for Device 3 to match the defaults for JVC-48 of 3F and 7F from the default Fixed Data for JVC-48

Determining what to put in Device 1 is more difficult, you have to compute the XOR checksum of the computed fixed data bytes 4 and 5, seeded with FF, then convert that to decimal and enter it as the value for Device 1.

Has this helped at all?
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

Upon further reflection, it occurs to me that if you've followed the above steps you can save the upgrade, then edit it and replace the lines generated by the the Manual Settings with the existing lines for JVC-48 from protocols.ini
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

gfb107 wrote: Unfortunately, you've picked a somewhat difficult case.
I did't pick it, it picked me. However, if I figure this out, I should have a pretty good grasp of how to handle RM upgrades

The DeviceTranslator entry tells you how to encode the device and sub-device in the fixed data, as well as any other special processing.

Translator(lsb,comp,0,8,24) says that the Device number (which is the first entry in the DevParm line, so it has index 0) is 8 bits and gets stored starting at bit 24 of the fixed data (that's byte 4), using LSB COMP.
Similarly, Translator(lsb,comp,1,8,32) says Sub Device (DevParm index 1) is 8 bits, stored a bit 32 (byte 5) using LSB COMP.

There's also the XorCheck, which means that there's an 8-bit xor checksum starting at bit 0 (byte 1), seeded with 255 (=$FF), computed over 2 bytes starting at bit 24 (byte 4).

We can't tell anything about the encoding of bytes 2 and 3, as they simply receive the initial value from the FixedData entry and RM performs no additional manipulation on them, and they are not part of the XOR checksum.

From the CmdTranslator line we also note that the variable byte is LSB COMP
Thanks for the explanation of the syntax here.
Back to the Manual Settings Dialog in RM.

Once you've entered the PID of 01 FF and imported the protocol code,

The other fields should auto-populate.

As we discussed above, we need to select LSB and Comp for Device Parameters Device 4 and Device 5, and also for Command Parameter OBC.
Yes with the simple protocols where I know what the device do this was pretty easy both in KM and RM.
Just leave the Raw Fixed Data alone, there appears to be a bug here.
Good, I'm glad this isn't my problem. It does seem to need to be there though or the device data won't populate the fixed fields, or maybe I've just made another user error here.

Has this helped at all?
Right now it doesn't feel like it has, but I've got to spend some time digesting this post and working with the software. I just need to get "the process" figured out.

Upon further reflection, it occurs to me that if you've followed the above steps you can save the upgrade, then edit it and replace the lines generated by the the Manual Settings with the existing lines for JVC-48 from protocols.ini
Now THIS sounds promising. I'm going to have to play around with the software some more.

Thanks for all your help.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

KM way

Post by ElizabethD »

Vicky,
In KM, if you select Manual settings for cell C8 on the Setup sheet, then paste your protocol into notes (column H), send upgrade and protocol to IR then in IR they will be visible when you click the device. I haven't done that in a while, but I'm pretty sure that's how it goes. I don't recall whether the 5 bytes will be obvious in KM, but they should be visible at least on the first line of the device upgrade.
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride :)
mr_d_p_gumby
Expert
Posts: 1370
Joined: Sun Aug 03, 2003 12:13 am
Location: Newbury Park, CA

Re: KM way

Post by mr_d_p_gumby »

ElizabethD wrote:In KM, if you select Manual settings for cell C8 on the Setup sheet...
Oh, and Vicky, whatever you do, be sure NOT to look at the Protocol Help tab after selecting Manual Settings. :P
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Oh, and Vicky, whatever you do, be sure NOT to look at the Protocol Help tab after selecting Manual Settings.
:oops: now why didn't I think of that :roll: My problem was I did something to both KM and RM where it wouldn't take the raw data. I am really good at putting software into unreceptive states while I trial and error my way through the software. Everything is looking much better since I started with a NEW file in KM and a NEW file in RM.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Post Reply