RM and external functions from KM issue

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
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

RM and external functions from KM issue

Post by ElizabethD »

I'm not sure how to deal with transfer from KM of two upgrades which have external functions coded in KM. I tried a combination of OPEN and IMPORT. What I see is this:

1. When KM file OPENed in RM, several external functions did not become keymoves.
Those assigned to the shifted buttons properly went the the keymove section.
Those assigned to the unshifted buttons ended up in the main upgrade section :cry: .

When I follow OPEN with IMPORT to the External Functions tab, all setup codes default to the main setup code and I'll have to change them. In case this description is inaccurate or incomplete, I uploaded the file ExtFunct-PanVCR.

Is this an inconvenient feature, a bug or need for user training?
If feature, could RM be changed to extract the setup code from the function name, preferably without breaking function to button links. Or, better yet, during OPEN, could RM just toss those functions right into the other tab in one shot?

2. One 1-byte protocol upgrade transfer bailed out on overflow error for command code hex CA in the external function. See ExtFunct-DenRCVR

Thanks in advance for any advice I get, and there's no rush.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

RM doesn't (yet) import external functions.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

To be more specific. RM does not (yet) correctly handle functions defined in a KM file as external functions. These will cause problems whether using RM's "Open," "Import from Clipboard," or the Import button on the External Functions tab.

RM can import "normal" functions from a KM (or RM) file to create external functions in RM. This is done using the Import button on the External Functions tab.
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

Ok on the first paragraph. Now this one confuses me:
gfb107 wrote:RM can import "normal" functions from a KM (or RM) file to create external functions in RM. This is done using the Import button on the External Functions tab.
What's "normal"? Are you saying that, as of now, if I'm coding upgrade for device A, from KM/RM upgrade for device B we can import functions which aren't external and RM will pick up the setup code and hex command from device B? Perhaps that explains why I saw the main upgrade setup code on that tab ... I have to think about this. Thanks.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

"normal" means not external.

The Import button on the External Functions tab is for importing (non-external) functions from another KM/RM upgrade, making them external functions in your upgrade. RM gathers the device type, setup code, names, commands and notes for you. All you do is choose which functions one you want to import.

Say you have two device upgrades A and B. B does not contain external functions. You want to include some of the functions from B in A, so you press the Import button on the External Functions tab, and choose upgrade file B. RM will parse that upgrade file, gethering the device type, setup code, and the functions names, hex commands, and notes for you. You just choose which functions you want. These imported function will be added as External Functions.
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

gfb107 wrote: ... All you do is choose which functions one you want to import.
...
B does not contain external functions.

That's the key why it worked the way it did. From B, which really was the same file as A, I selected external functions for IMPORT. Whereas the meaning, as you just described, is 'import as external functions' or 'to become external functions to this upgrade'. I get it. Cool :D

BTW, even with the somewhat unimplemented external functions, KM files are importable, once you know the rules of the day. Buttons do need reassignment, but other than that a bit of tweaking here and there and it's done.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

The latest (v1.24) version of RM now includes support for importing External Functions from KM files.
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

It's super :D . Thank you, Greg.
To make this non-trivial change in under two hours defies all industry standards. Isn't it supposed to be something like two years for fatal and 10 for enhancement?

VCR file: Every external function went through.
Thanks for the list of unassigned functions in Notes. It took me a while to see what it was. Very useful.
Just curious - what are the leading numbers about and how come it's a mix of 'normal' and external functions?
It didn't really hurt to drag and drop :) those few functions to buttons and now all 9 keymoves I expected are in. I'll finish checking the upgrade tomorrow, but I know it'll match KM. It's a mean file to work with.

Denon file: when you get a chance, RM still is not accepting that $CA value.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

ElizabethD wrote:Thanks for the list of unassigned functions in Notes. It took me a while to see what it was. Very useful.
Just curious - what are the leading numbers about and how come it's a mix of 'normal' and external functions?
That's actually a bug, which is causing the button assignments to be lost. Fix coming soon.
Denon file: when you get a chance, RM still is not accepting that $CA value.
Got a handle on that one too. Fix on the way.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

Perfect :D Thank you :!:
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

I must be loosing it :cry: We do not yet have a happy ending.
Very sorry. I may have compared a file I fiddled with. No idea.
Confusion dictated I start from the beginning.

Bottom line with v1.24a:

What works:
1. Key issue: External functions declared in KM come in PERFECTLY (as an added bonus, I fixed an error in the upgrade I've been nagged about and denied it's me, but one external function wasn't hex).
2. Notes, if exist, match perfectly to those functions
3. $CA value is no longer a problem

What doesn't:
1. Some external functions still are not assigned to buttons (not a big issue really)
2. Denon file suffers from something basic: Output tab doesn't open.

I uploaded ExtF.zip containing KM and RM files and two error logs just in case you see different results and the cause is here. And if you don't feel like fiddling with this, that's ok by me, because the important stuff is in.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

RM v1.25 should fix both of these issues.

The first problem, where some external function assignments were getting lost was just a bug.

The problem with the Denon file was a little different. According to KM's readme, when defining an external function, the device type
is the name of the device type EXACTLY as it
appears on the [Functions] sheet in the "Available Device Types"
section (this list contains the same entries as the Device Type
drop-down on the [Setup] sheet
In this upgrade file, the device type value was "TAPE", when it should have been "Tape". Since KM appears to be case-insensitive here, I've made RM do that as well. Also, just in case RM still can't determine a match, I've added code so RM will prompt the user to choose the device type.
ElizabethD
Advanced Member
Posts: 2348
Joined: Mon Feb 09, 2004 12:07 pm

Post by ElizabethD »

gfb107 wrote:RM v1.25 should fix both of these issues.
It does :D :D
In this upgrade file, the device type value was "TAPE", when it should have been "Tape". Since KM appears to be case-insensitive here, I've made RM do that as well. Also, just in case RM still can't determine a match, I've added code so RM will prompt the user to choose the device type.
That'll be a user-friendly feature. I never pay attention to case except passwords.

Thank you very much for all your work.
Post Reply