Experts please help: multimacros, device-mode macros

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

Moderator: Moderators

wnewell
Posts: 158
Joined: Tue Jan 13, 2009 2:42 pm
Location: DFW, Texas

Post by wnewell »

As far as I can tell, there's 4 macro buttons,macro1, macro2, ondemand, and power (only in cable mode). I probably won't get to this til about midnight tonight or later, but will get it done as soon as I can. Will check back before starting in case there's something else you think of later.
mdavej
Expert
Posts: 4636
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Power isn't a multimacro, so don't bother with that one.
binky123
Expert
Posts: 1292
Joined: Sat Feb 14, 2004 3:35 am

Post by binky123 »

I believe the multiple macro RDF 3179 offsets are Macro1=$1E,OnDemand=$1F,Macro2=$20. I think I posted the original numbers from the Atlas RDF by mistake.

The device specific macro(Magic-978) is only available on Power,M1,OnDemand,M2 buttons.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

So M1, OnDemand, and M2 support both Multi Macros and Device Specific Macros?

How are all of these encoded?
$8F for standard global macros?
$80-$87 for device specific macros?
$9F,$AF,$BF,$CF,$DF for multi-macros?
What about $90-$97,$A0-$A7,$B0-$B7,$C0-$C7,$D0-$D7? Are they device-specific-multi-macros?
Are $E0-$FE used for anything?
binky123
Expert
Posts: 1292
Joined: Sat Feb 14, 2004 3:35 am

Post by binky123 »

gfb107 wrote:So M1, OnDemand, and M2 support both Multi Macros and Device Specific Macros?

How are all of these encoded?
$8F for standard global macros?
$80-$87 for device specific macros?
$9F,$AF,$BF,$CF,$DF for multi-macros?
What about $90-$97,$A0-$A7,$B0-$B7,$C0-$C7,$D0-$D7? Are they device-specific-multi-macros?
Are $E0-$FE used for anything?
Yes, you are correct on everything. This is the first remote that seems to have device specific multimacros. The atlas search algorithm ignores the device mode for multimacros.

The remote itself only allows DSMs on Power,M1,OnDemand,M2. In IR, DSMs are currently only supported via the Extender. Thus, if you wanted to create a DSM for this remote, you would create a general macro with device mode set to $F and then manually change the $F to whatever device mode you want.

3179 Macro Search Algorithm:
1) if multimacro key, search for key, $80+saved counter(result is $90,$A0,$B0,$C0,$D0) type and current device.
2) if regular key, search for key, $80 type and current device.
If both of the above fail to match macro type, key, device then replace current device with $F and search again.
wnewell
Posts: 158
Joined: Tue Jan 13, 2009 2:42 pm
Location: DFW, Texas

Post by wnewell »

After replacing the the addresses with these, Macro1=$1E,OnDemand=$1F,Macro2=$20 in the rdf file, using 1.98b4 works as it should from what I can tell. However, both On Demand and Power buttons are device specific macros that only work as macros in cable mode. And i can't see why anyone would need to use multiple macros on the same button. It executes one, then the next with the next button press, and then wraps back to first at the end. I assume you don't need the raw data files now. Thanks to everyone for tackling this problem.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

Yes, you are correct on everything. This is the first remote that seems to have device specific multimacros. The atlas search algorithm ignores the device mode for multimacros.

The remote itself only allows DSMs on Power,M1,OnDemand,M2. In IR, DSMs are currently only supported via the Extender. Thus, if you wanted to create a DSM for this remote, you would create a general macro with device mode set to $F and then manually change the $F to whatever device mode you want.
Try adding

Code: Select all

[SpecialProtocols] 
DSM=Internal:0 
That should enable DSM in IR8. Not sure it'll work in RMIR yet, but if not it'll be there in the near future.
3179 Macro Search Algorithm:
1) if multimacro key, search for key, $80+saved counter(result is $90,$A0,$B0,$C0,$D0) type and current device.
2) if regular key, search for key, $80 type and current device.
If both of the above fail to match macro type, key, device then replace current device with $F and search again.
Thanks for all these details, that's very helpful. One last question: Are DSMs really limited to just those few buttons? Based on your description above it seems they work on just about any non multimacro buuton, even if the remote won't let you create them manually.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

If DSMs are really limited to just a few buttons we'll need a way to identify those in the RDF.
binky123
Expert
Posts: 1292
Joined: Sat Feb 14, 2004 3:35 am

Post by binky123 »

The DSM command(Magic-978) only allows you to set it on a few buttons but based on the macro search algorithm, it can work on any button. wnewell can probably try a few things out to confirm it.
wnewell
Posts: 158
Joined: Tue Jan 13, 2009 2:42 pm
Location: DFW, Texas

Post by wnewell »

What is it you want me to try? Here's what I've found using rmir 1.98b4 with a modified rdf that I've added this to;

Code: Select all

[MultiMacros]
Macro1=$01E
OnDemand=$01F
Macro2=$020 
and nothing else.

Power: Works as a standard macro only in cable mode. Works as a normal power button in other modes.

Macro1:, Macro2: Works as a multimacro in all modes.

OnDemand: Works as a multimacro, but only when in cable mode. Programmed as a macro also disabled it's function in DVR mode which I had programmed with a keymove function as part of an upgrade. Not a problem for me since I won't be using it as a macro.

For me, rmir 1.98b4 with the modified RDF does everything I need. I'm not sure what this is

Code: Select all

[SpecialProtocols]
DSM=Internal:0 
and don't have it in my rdf.
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

wnewell wrote: For me, rmir 1.98b4 with the modified RDF does everything I need. I'm not sure what this is

Code: Select all

[SpecialProtocols]
DSM=Internal:0 
and don't have it in my rdf.
Adding the DSM=Internal:0 line to the existing [SpecialProtocols] section in the RDF will enable the code in IR8.00+ allowing you to create/edit DSMs (Device Specific Macros) on the Special Protocols tab, as well as recognize DSMs entered manually using Magic-978.

RMIR does not yet support that.
wnewell
Posts: 158
Joined: Tue Jan 13, 2009 2:42 pm
Location: DFW, Texas

Post by wnewell »

gfb107 wrote:Adding the DSM=Internal:0 line to the existing [SpecialProtocols] section in the RDF will enable the code in IR8.00+ allowing you to create/edit DSMs (Device Specific Macros) on the Special Protocols tab, as well as recognize DSMs entered manually using Magic-978.

RMIR does not yet support that.
I guess I don't follow you. Rmir 1.98b4 lets me create macros on the power button and multimacros on the ondemand button. Both of these are device specific. What am I missing?
gfb107
Expert
Posts: 3411
Joined: Sun Aug 03, 2003 7:18 pm
Location: Cary, NC
Contact:

Post by gfb107 »

If the remote treats the macros created in RMIR 1.98beta4 as device specific that is a peculiarity of the remote. RMIR is treating them as global macros.

Actually, now that I think about it a little more, RMIR will preserve the device index of a device-specific macro created manually on the remote, but it doesn't allow
  • Reassigning the device index
  • Creating a new macro as device specific
  • Converting a device-specific macro to a global macro (or vice versa)
binky123
Expert
Posts: 1292
Joined: Sat Feb 14, 2004 3:35 am

Post by binky123 »

I tried out the DSM=Internal:0 entry in the RDF with one of wsnewell's .IR files. IR8 certainly allows you to create a DSM but going back and editing it seems to truncate it by 2. I first created a DSM macro with 1;2;3;OK and the bytes in the Raw Tab looked correct. I then tried to Edit it and it says the macro was 1;2. Clicked OK and Edited it again and now the macro was gone.

Also, putting the DSM macro on Macro1 seems to have caused the saved counter byte at offset $1E to change to $30. I think it should be $11 for the initial device specific multimacro saved counter.
wnewell
Posts: 158
Joined: Tue Jan 13, 2009 2:42 pm
Location: DFW, Texas

Post by wnewell »

gfb107 wrote:Actually, now that I think about it a little more, RMIR will preserve the device index of a device-specific macro created manually on the remote, but it doesn't allow
  • Reassigning the device index
  • Creating a new macro as device specific
  • Converting a device-specific macro to a global macro (or vice versa)
I see, you want to creste these extra features that manual programming doesn't allow. Yes, it would be nice if the power and on demand buttons macro could be used in all modes, but not a deal breaker for me. Thanks again.
Post Reply