JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Experts please help: multimacros, device-mode macros
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Software
View previous topic :: View next topic  
Author Message
mr_d_p_gumby
Expert


Joined: 03 Aug 2003
Posts: 1370
Location: Newbury Park, CA

                    
PostPosted: Wed Sep 30, 2009 3:02 pm    Post subject: Reply with quote

mdavej wrote:
The "fav/scan" in the Button section maps it to a fav type key in RM. Otherwise, as "HD" it wouldn't map to anything when converting upgrades from other remote models. So I chose the lesser of two evils.
In RDFs I've created for remotes with MultiMacro buttons, I've assigned the "macro1" thru "macro4" standard names for these buttons. You can still call the button any name you want, but ultimately you have to make sure a user can correspond it with the way it is physically labelled on the remote.

WagonMaster wrote:
Maybe 'IR.exe' and RMIR could somehow (i.e. based on the "[MultiMacros]" section in the RDF) highlight a key as being "multi-macro" whenever the key name is displayed? I'm not really pushing for such a change now, but it bears entertaining, I think.
I like that idea.

WagonMaster wrote:
By the way, IIRC, the RS 15-135 RDF isn't in the big file of distributed RDFs. How do they get aggregated? Could it be added to the "master" RDF file?
Usually, Nils_Ekberg handles the collection & distribution of the RDF files, but I have not heard anything from him about releasing a new set of RDF files since April.
_________________
Mike England
Back to top
View user's profile Send private message
mr_d_p_gumby
Expert


Joined: 03 Aug 2003
Posts: 1370
Location: Newbury Park, CA

                    
PostPosted: Wed Sep 30, 2009 3:33 pm    Post subject: Reply with quote

WagonMaster wrote:
mr_d_p_gumby wrote:
The Fav key support was in IR from the start, since the RS 15-1994 had such a Fav key, and was the remote that started JP1. It differs from MultiMacros in that it has it's own storage area, and it fires repeatedly at predefined time intervals until any other key is pressed.
(Empasis mine.) Actually, I don't believe that the emboldened part is true, at least not on my URC-8820/10820. Maybe the old JP1 (EEPROM) remotes handled it differently, though. In my case, the Fav/Scan key definition is in the same "Advanced Code" area as any other macro or keymove def. It's just marked as "Fav/Scan" (BTW, I'm assuming 'Type 1' macros here) with a special bit in the 2nd byte of a macro sequence.
Some remotes had a special storage area for the fav/scan macros, while others stored them in with other macros.
WagonMaster wrote:
Actually, as far as 'IR.exe' is concerned, I don't even know why "Scan/Fav" (as it's called on the 'IR.exe' tab) needs to have its own tab/page.
Remember that the initial design of IR was heavily influenced by the known characteristics of the remotes available at that time, predominantly by the 15-1994. I suspect Mark created a separate tab to simplify handling the case where storage was separate.
gfb107 wrote:
Your RDF 4 spec covers this by
  1. Enhancing the [SpecialProtocol] section to support specialProtocolName=deviceName/setupCode:PID
  2. Addition of the [SetupCodes] section allowing addition of an entry for TV/1103
Graham & I hashed this out rather intensively when I was writing the RDF 4 spec document, and I did want to make sure that at least the 6131/Atlas extender case was finally handled.
_________________
Mike England
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Wed Sep 30, 2009 4:41 pm    Post subject: Reply with quote

gfb107 wrote:
mathdon wrote:
Special Protocols is the only IR.exe tab into which UEI's native DSMs fit.
I disagree. For remotes that support native DSMs, I would add a column to the macro tab for the device mode (which would allow a value of All in addition to the device mode/button names). For those remotes, I would also add a combo box to the macro dialog to select the device mode/button (also allowing a value of All).

I think that means you agree, not disagree, with me. I was using the present tense. Special Protocols is the only IR.exe tab into which UEI's native DSMs fit. I haven't juggled the tab to make that fit, it already does so. You are saying that if the Macros tab is changed to handle DSMs then it will handle DSMs. Obviously! But why do so, when an existing tab can handle it already.

gfb107 wrote:
There was already an example of an "internal/native" special protocol before the URC-7780/81 extender: The 6131/Atlas PVR extender, which implements "internal/native" DSM as a keymove without the need to install a device or protocol. It uses a hard-coded setup code (TV/1103).
Unfortunately we never enhanced the RDF syntax to indicate built in setup codes, so unless dummy device and protocol upgrades were installed neither IR nor RMIR would recognize that DSM keymoves were supported, but they aren't required for operation in the remote.

Your RDF 4 spec covers this by
  1. Enhancing the [SpecialProtocol] section to support specialProtocolName=deviceName/setupCode:PID
  2. Addition of the [SetupCodes] section allowing addition of an entry for TV/1103
in combination with the existing [Protocols] section.

If I had understood this was not truly native to the 7780/7781, I would have pushed hard for you to follow the existing DSM special protocols model (with the changes allowing their use without having to install dummy upgrades to enable IR/RMIR support for them) as keymoves instead of reinventing the wheel.

This model still requires a device code and protocol to be assigned, possibly conflicting with a real one (UEI's latest PIDs have already started overlapping with Special Protocol PIDs) even if they are hard-coded. And I haven't re-invented the wheel, though it seems that I have re-invented something that UEI had already done for DSMs. Your proposal would have saved little if any re-working of the code, as it would have been required to meet UEI's DSMs and in addition you need changes to the GUI that I did not.

Can we agree to disagree, please?
_______________
Graham
Back to top
View user's profile Send private message
Mark Pierson
Expert


Joined: 03 Aug 2003
Posts: 3017
Location: Connecticut, USA

                    
PostPosted: Wed Sep 30, 2009 6:03 pm    Post subject: Reply with quote

mathdon wrote:
But why do so, when an existing tab can handle it already.
Because DSM's are Macros, not Special Protocols. I think it would confuse newbies.
_________________
Mark
Back to top
View user's profile Send private message Send e-mail Visit poster's website
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Wed Sep 30, 2009 7:42 pm    Post subject: Reply with quote

Graham,

I completely disagree with putting true/stock device specific Macros on the Special Functions tab. If the remote manual calls them Macros, they should be on the Macros tab. Otherwise it'll be confusing to typical users. There's nothing "special" about DSMs when they are a standard feature of a remote. They are a powerful and welcome feature, but not "special".

Additionally, the user should be able to change a true-DSM to a normal Macro (and vice versa) easily. And the macro shouldn't move from tab to tab in the process (or after upload/download). The way I see it, that means adjusting the Macro tab (and Macro dialog) dynamically to include the selected device button when the remote supports true/stock DSM, and hiding the selected device button when the

Special Functions (DSM or other), on the other hand, are an advanced concept by their very nature. It is clear that they provide function that is not a standard feature of the remote. This is further driven home to the user because they require installation of either an extender or a Special Protocol.

Don't worry, I'm not going to ask that the RDF 4 changes to support Internal Special Protocols be removed. It's too late for that, but I don't think it was the right way to go.

It is true that the approach used by the 6131 extender to use a hard-coded setup code and PID for DSM could create a conflict with a built-in setup code and/or PID. However, the choice of setup code and PID can be tailored to a specific remote (and even extender version), to ensure there is no conflict. Only the RDF and extender itself would have these values coded in them.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Thu Oct 01, 2009 5:22 am    Post subject: Reply with quote

It seems we can't agree to disagree, so I'll just make a few more points and then shut up on this issue.

1) Your approach would put the same functionality on two different tabs, depending on whether it is native or added (in the traditional way with a device and PID) via an extender. IMHO that is a confusion for anyone, not just a newbie.

2) At present, a Keymove can clash (ie same device and button) with an entry on the Special Protocols tab but at least the user doesn't have to check the Macros tab for a possible conflict. A Keymove can clash with a DSM, though, so you would add another tab that needs to be checked.

3) The name Special Protocols is unfortunate. It conveys absolutely nothing about their purpose, only about their implementation. Something like "Other Functions" would be better, IMHO, but "Special Protocols" is ingrained the JP1 psyche and clearly impossible to change.

4) Re Mark's point, Timed Macros are Macros too, but they have their own tab as they, like DSMs, need a different user interface.
_________________
Graham
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Thu Oct 01, 2009 5:37 am    Post subject: Reply with quote

WagonMaster wrote:
Maybe 'IR.exe' and RMIR could somehow (i.e. based on the "[MultiMacros]" section in the RDF) highlight a key as being "multi-macro" whenever the key name is displayed? I'm not really pushing for such a change now, but it bears entertaining, I think.

I think this is an item for the wish-list for IR 8.02. It's not a trivial change and I don't want to risk adding new bugs into IR 8.01 at this stage. (I know WagonMaster isn't suggesting it for 8.01, but I'm saying this just for clarity). For the same reason I propose doing nothing in IR 8.01 towards handling device-specific multimacros but will consider it for IR 8.02 if they are found to exist.

BTW I am surprised, to say the least, to learn now of a feature (native DSMs) of UEI remotes that has never been mentioned before in the wish-lists for IR 8.00 and 8.01. Are there any other known features missing from IR.exe, apart from delayed macros (which I know about, but not enough to implement). I look forward Twisted Evil to the debate about their place in the IR tabs in due course!
_____________
Graham
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Thu Oct 01, 2009 7:46 am    Post subject: Reply with quote

This will also be my last post on the matter.

In your approach, any remote that supports native/internal macros must put ALL macros on the Special Protocols (Special Functions in RMIR) tab, because the only difference between a global macro and a native DSM is the device index: $f=global, anything else is DSM. The UI must provide a way to easily switch a macro to a DSM and vice versa. So for these remotes the Macro tab will always be empty, and shouldn't be shown at all.

In my approach, DSMs will be moved to the Macro tab, mixed in with the global macros. A column is added to show the associated device button (or All for global macros). Also the Macro create/edit dialog gets a drop-down box allowing the user to set the associated device button (or All for global macros).

Obviously the UI elements pertinent to DSM won't be shown for remotes that don't support DSM.

This would hide the difference between internal/native (macro encoded) DSM and Special Function (key move encoded) DSM. The only difference to the user would be the need to install an extender or device and protocol upgrade to enable DSM for remotes that don't natively support them. For remotes that use key move DSM, the tools should automatically encode as a macro when it's global, or as a key move when it's device specific. For remotes that use macro DSM, the tools should encode as a macro whether it's global or device specific.

We'll just add this to the list of significant philosophical differences between IR and RMIR.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Thu Oct 01, 2009 9:49 pm    Post subject: Reply with quote

v1.98beta4 has preliminary support for multi macros. The sequence number is determined by the order of macros assigned to a multi macro button. The device index is set to $F. The next index is set to 1. For your sample file, this is different than what was dowloaded from the remote. There is no checking to limit the number of macros assigned to any button.

It is also different than what IR does, which surprised me given the discussion we had about how IR handles multi macros.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
wnewell



Joined: 13 Jan 2009
Posts: 158
Location: DFW, Texas

                    
PostPosted: Fri Oct 02, 2009 12:44 am    Post subject: Reply with quote

Are you saying 1.98b4 should work with the macros of the RCRP05B RCA remote? If so, I'll give it a test.
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Fri Oct 02, 2009 5:20 am    Post subject: Reply with quote

Yes, but you must add the [MultiMacros] section to the RDF as described by binky earlier. Make sure you add it after the [Buttons] section
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
wnewell



Joined: 13 Jan 2009
Posts: 158
Location: DFW, Texas

                    
PostPosted: Fri Oct 02, 2009 11:58 am    Post subject: Reply with quote

I added the multimacros lines to the rdf. Then using 1.98b3 did a download and upload to the remote and the macros still worked. I then reset the remote with 980 so the macros were gone and then did another upload. The macros were not there. So, it appears with the modified RDF 1.98b3 doesn't overwrite any existing macros,but also won't upload them.
I then upgraded to rm 1.98b4. It was totally wacked. Device types, setup codes, and other setting on general tab changed when changing tabs. No matter what I tried, I couldn't get that to work. However, it did appear that macro 1 did work, and macro2 worked, but only in cable mode. That was probably because in the DVR mode in the main settings were screwed up. So basically I had to go back to 1.98b3 to get my remote working right again.
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Fri Oct 02, 2009 1:13 pm    Post subject: Reply with quote

I see the problem.

There must be a mistake in the [MultiMacros] section Binky suggested:
Code:

[MultiMacros]
Macro1=$018
OnDemand=$019
Macro2=$01A


This conflicts with the DeviceButtons section
Code:
[DeviceButtons]
CBL  = $00A $00B
TV   = $00C $00D
DVD  = $00E $00F
AUD  = $010 $011
dev4 = $012 $013
dev5 = $014 $015
dev6 = $016 $017
DVR  = $018 $019


Notice how the DVR button has the same addresses as defined for Macro1 and OnDemand in the new [MultiMacros] section. This would definitely cause the symptoms you reported. I'll see if I can figure out what the addresses should be from your earlier posts.

BTW, the reason beta3 works with this bad data in the RDF is that it doesn't use it.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
mdavej
Expert


Joined: 08 Oct 2003
Posts: 4501

                    
PostPosted: Fri Oct 02, 2009 2:25 pm    Post subject: Reply with quote

wnewell,

If binky doesn't already know, you can find the right values to put in the RDF. Manually program a macro on Macro1 and see what changes in the raw data. The first byte that's different (besides the check sum bytes at $608 and $609) is the one we're looking for. Repeat for the other multimacro buttons. I'm guessing they're somewhere in the neighborhood of where they are in the 15-135, which is $623. That ends up being $23 in the RDF when you subtract the BaseAddress offset of $600.
Back to top
View user's profile Send private message
gfb107
Expert


Joined: 03 Aug 2003
Posts: 3411
Location: Cary, NC

                    
PostPosted: Fri Oct 02, 2009 2:56 pm    Post subject: Reply with quote

I've not been able to figure it out, but I suspect that with a little bit of manual work on the remote you can help me get the information I need.

Here's what I'd like you to do:

  1. Remove the newly added MultiMacros section from the RDF, so that IR/RMIR won't try to interpret/update the bytes we're trying to find.
  2. Reset the remote, download and save to a file.
  3. Manually create multiple macros on each of the suspected multi-macro keys (Macro1, OnDemand, Macro2). Create a different number of macros on each, as we know the count gets stored in the multimacro bytes and that'll help us figure out which bytes go with each multimacro.
  4. Download and save to a different file.
  5. Upload those files to the diagnosis area and provide links

The only changes between the two downloads should be the created multimacros, so we'll be able to see exactly which bytes have changed.
_________________
-- Greg
Original RemoteMaster developer
JP1 How-To's and Software Tools
The #1 Code Search FAQ and it's answer (PLEASE READ FIRST)
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Software All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 4 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control