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

Confused about DEV & SET with 15-2116 EXT-3

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Extenders
View previous topic :: View next topic  
Author Message
dmhines



Joined: 29 Dec 2004
Posts: 26

                    
PostPosted: Mon Oct 03, 2005 10:29 pm    Post subject: Confused about DEV & SET with 15-2116 EXT-3 Reply with quote

I've finally made the decision to plunge deeper into the JP1 thing and give extenders a try. So far, I'm liking it! At this point I’m close to having my remote (15-2116) doing everything I want but because I want to understand the “how comes” and “why fors”, I thought I would stop now and ask a few questions.

I’m most confused about the DEV_XXX & SET_XXX_KEYS commands. After reading through the documentation, I understood the instructions to say that the DEV command sets the ‘active device’ and the SET command associates key groups with that device. So, I created some macros like this one:

dev_aud
set_other_keys
power
dev_tv
set_other_keys
power
dev_sat
set_other_keys
power

This works just fine, but during the process of creating the macros I made a “mistake” in one of them and entered it like this:

dev_aud
power
dev_tv
power
dev_vcr
power

Well, this also works just fine. Now I’m asking myself – Why does this work without first having set the key group that includes the Power function? So, I turn to the ReadMe.txt for help and I find this statement:

“While a DEV_ command is active, it applies to all keys. Any assignments made by the SET_xxx_KEYS commands are ignored.”

If DEV applies to all keys I guess that explains why my macros work w/o using the SET command, but if the SET command is going be ignored, then why should the SET command ever be used? What good is a command that's just going be ignored? I must be missing something here.

Also, if the SET commands are ignored, then why does my My_System button work as a HT/punch thru device using this macro?:

dev_aud
set_vol_keys
dev_tv
set_pip_keys
dev_dvd
set_trans_keys
dev_sat
set_chan_keys
set_menu_keys
set_other_keys
dev_db08(my_sys)
set_lcd

Since this is working it doesn’t appear to me that the SET commands are being ignored.

As I stated before, I do have my remote working. However, I really want to understand the logic behind all of this. Any help from you extender experts would be greatly appreciated.

Thanks!
Back to top
View user's profile Send private message Send e-mail
Capn Trips
Expert


Joined: 03 Oct 2003
Posts: 3990

                    
PostPosted: Tue Oct 04, 2005 12:55 am    Post subject: Re: Confused about DEV & SET with 15-2116 EXT-3 Reply with quote

You found the answer yourself:
dmhines wrote:


“While a DEV_ command is active, it applies to all keys. Any assignments made by the SET_xxx_KEYS commands are ignored.”

The SET_XXX keys assign keysets to devices ON THE REMOTE, i.e. when you are pushing a button to execute a function. The DEV_commmands only operate WITHIN THE MACRO. Once the macro is over, there is no "active" DEV_command, only the SET_xxx command governs which buttons are assigned to where.
Quote:
If DEV applies to all keys I guess that explains why my macros work w/o using the SET command, but if the SET command is going be ignored, then why should the SET command ever be used? What good is a command that's just going be ignored?I must be missing something here.
The SET_XXX commands are ignored WITHIN THE CONTEXT OF THE MACRO. Once the macro has run its course, the last set of SET_XXX commands for each keyset governs subsequent behaviour
_________________
Beginners - Read this thread first
READ BEFORE POSTING or your post will be DELETED!


Remotes: OFA XSight Touch, AR XSight Touch
TVs: LG 65" Smart LED TV; Samsung QN850BF Series - 8K UHD Neo QLED LCD TV
RCVR: Onkyo TX-SR875; Integra DTR 40.3
DVD/VCR: Pioneer DV-400VK (multi-region DVD), Sony BDP-S350 (Blu-ray), Toshiba HD-A3 (HD-DVD), Panasonic AG-W1 (Multi-system VCR);
Laserdisc: Pioneer CLD-D704.
Amazon Firestick
tape deck: Pioneer CT 1380WR (double cassette deck)
(But I still have to get up for my beer)
Back to top
View user's profile Send private message
johnsfine
Site Admin


Joined: 10 Aug 2003
Posts: 4766
Location: Bedford, MA

                    
PostPosted: Tue Oct 04, 2005 8:37 am    Post subject: Reply with quote

You can also cancel the DEV_ commands explicitly within a macro to restore control to the SET_ commands, but it is rarely done.

The extender cancels the DEV_ commands when it returns control from macro processing to keyboard processing.

While a DEV_ command is in effect the SET_ commands merely store the current value but don't take effect. Once the DEV_ is canceled, all the SET_ commands come into effect.

While a DEV_ command is in effect all keys are processed according to that device. When the SET_ commands are in effect, each key set might be associated with a different device.

Capn Trips wrote:
The SET_XXX commands are ignored WITHIN THE CONTEXT OF THE MACRO.


That may be too simplified a view. The SET_ commands are always in effect when you are outside a macro. But inside a macro either SET_ commands or a DEV_ command might be in effect, depending on exactly what you have done. At the start of a macro the SET_ commands are still in effect. From a DEV_ command until either it is cancelled or the end of the macro, the last DEV_ command is in effect.

A new SET_ command is only meaningful when a DEV_ command is in effect, so a SET_ command never takes effect immediately.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dmhines



Joined: 29 Dec 2004
Posts: 26

                    
PostPosted: Tue Oct 04, 2005 9:55 am    Post subject: Reply with quote

Thanks guys! I think I'm beginning to get it now.

Besides the explanation of the “mistake” in my original post, there was one other hint that made me aware that I must be doing something wrong (or at least unnecessary). In macro after macro I kept running into the 15 command limit which forced me nest them. The reason was that I was doing something like this in every macro:

dev_aud
set_chan_keys
set_other_keys
power
1 (sets video input on receiver)
7 (sets DSP mode on receiver)
dev_tv
set_chan_keys
set_other_keys
power
tv/audio (sets tv input to video-1)
dev_sat
set_other_keys
etc.
etc.

Once I discovered that I didn’t have to issue all those SET commands, my macros became much simpler and easier to follow.

I have gone back through my entire program and removed all that unnecessary stuff and everything is working beautifully.

Thanks again.
Back to top
View user's profile Send private message Send e-mail
greenough1



Joined: 30 Jan 2005
Posts: 659

                    
PostPosted: Tue Oct 04, 2005 3:12 pm    Post subject: Reply with quote

I've not looked at the extender for your remote (so ignore me if my comments are not germaine), but in the 61xx extender, you can use a DSM (device specific macro) to do some of what you're repeating. For example, whenever you set a device and you need to associate a set of keys for it (e.g. DVD and then assign the transport keys to be active), you can do that with a DSM. I setup the remote button selection (transport, menu, channel, etc.) for a device on a "phantom" key, that's associated with that device (DVD in this e.g.). So when that device is activated, i.e. hitting the DVD button, you set the transport, menu, channel keys by executing a macro called phantom 1 (specific to the DVD device) that sets up how the remote buttons will behave when the macro exits.

This isn't so much nesting macros, but rather grouping functions together. In my setup, I use phantom 1 (for each device) to execute the instructions that setup of the remote buttons for that device. Using DVD as an example again, I set transport and other (channel, menu, etc.) to DVD and volume to RCVR.

Best,
jeff
Back to top
View user's profile Send private message
sfhub



Joined: 12 Oct 2003
Posts: 287

                    
PostPosted: Fri Oct 28, 2005 8:39 pm    Post subject: Reply with quote

johnsfine wrote:
You can also cancel the DEV_ commands explicitly within a macro to restore control to the SET_ commands, but it is rarely done.

The extender cancels the DEV_ commands when it returns control from macro processing to keyboard processing.

While a DEV_ command is in effect the SET_ commands merely store the current value but don't take effect. Once the DEV_ is canceled, all the SET_ commands come into effect.

While a DEV_ command is in effect all keys are processed according to that device. When the SET_ commands are in effect, each key set might be associated with a different device.

I don't know if it is because I have complicated nested macros or because a bug in extender processing, but I find I need to DEV_cancel my DEV_xxx or my LKP/TOADTOGs (maybe keymoves also, I didn't check) reflect the most recently used DEV_xxx rather then what they were SET_xxx as.
Back to top
View user's profile Send private message
Capn Trips
Expert


Joined: 03 Oct 2003
Posts: 3990

                    
PostPosted: Sat Oct 29, 2005 3:19 am    Post subject: Reply with quote

I'm not sure precisely what you are saying, here. Are you saying that an LKP that has NO DEV_xxx command in it (i.e. SHOULD be relying on the "active" SET_xxx button assignment) is INSTEAD acting as if the DEV_xxx command from a PREVIOUS button press was still active?

If so, that is quite unusual. I doubt I could troubleshoot that, but hopefully the extender writer, or another extender expert could see what's going on if you post the IR file in question (and link to it).

If, on the other hand, my description of your symptom is incorrect, please clarify (and post your misbehaving IR file anyway).
_________________
Beginners - Read this thread first
READ BEFORE POSTING or your post will be DELETED!


Remotes: OFA XSight Touch, AR XSight Touch
TVs: LG 65" Smart LED TV; Samsung QN850BF Series - 8K UHD Neo QLED LCD TV
RCVR: Onkyo TX-SR875; Integra DTR 40.3
DVD/VCR: Pioneer DV-400VK (multi-region DVD), Sony BDP-S350 (Blu-ray), Toshiba HD-A3 (HD-DVD), Panasonic AG-W1 (Multi-system VCR);
Laserdisc: Pioneer CLD-D704.
Amazon Firestick
tape deck: Pioneer CT 1380WR (double cassette deck)
(But I still have to get up for my beer)
Back to top
View user's profile Send private message
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2348

                    
PostPosted: Sat Oct 29, 2005 1:23 pm    Post subject: Reply with quote

sfhub wrote:
I find I need to DEV_cancel my DEV_xxx or my LKP/TOADTOGs (maybe keymoves also, I didn't check) reflect the most recently used DEV_xxx rather then what they were SET_xxx as.

Capn Trips wrote:
I'm not sure precisely what you are saying, here. Are you saying that an LKP that has NO DEV_xxx command in it (i.e. SHOULD be relying on the "active" SET_xxx button assignment) is INSTEAD acting as if the DEV_xxx command from a PREVIOUS button press was still active?

Capn, it could be.
I think I see what sfshub is saying but this is still fuzzy to me. So let me add to the confusion Twisted Evil for the experts to use simpler words Very Happy

I may have ran into this before (though not on toadTogs), and I thought I understood, but dont, what Hal said here
8910ext,IR6.15 when to Set transport keys-is there a trick?

Regarding Dev_Cancel, Hal once gave a solution to some global macros, example being short/single toggles Power, long/double Power shuts everything off (I have 2 groups of everything but that's besides the point)
So what I had to do was add Dev_Cancel on both sides of the DKP/LKP, this version uses LKP.

    -- Power = DEV_AUD;Phantom3
    where
    -- RCVR/AMP/Phantom3 = LKP(3) [Short]:Dev_Cancel;SHIFT-Power [Long]:Dev_Cancel;M2
    and
    M2 is a global macro for couple devices
    -- M2 = DEV_VCR;SHIFT-0;DEV_DVD;SHIFT-0;DEV_TV;1;2;XSHIFT-M1;SHIFT-0;DEV_AUD;SHIFT-0;TV
    or uses 2 DSMs on M2 for CD and AUX
    -- AUX/M2 = DSM 5;SHIFT-0;DEV_CD;SHIFT-0
    and all Shift-0 are either discrete or toadTog power off jobs.
This is empirical. Works great, but I could likely improve and understand better what I did Smile
I do understand the words of wisdom from John and Hal, don't understand the total meaning, it keeps escaping me. Can't tie it to what works.

Edited 10/30: I had a note that in M2 I had questionable Dev_Cancel at the beginning. I removed it. Not needed for standalone nor when M2 is called from the L/DKP. I also confirmed Dev-Cancel needed in L/DKP, matching, I think, sfhub observations and conclusions below.


Last edited by ElizabethD on Sun Oct 30, 2005 11:29 am; edited 3 times in total
Back to top
View user's profile Send private message
sfhub



Joined: 12 Oct 2003
Posts: 287

                    
PostPosted: Sat Oct 29, 2005 6:27 pm    Post subject: Reply with quote

Yes, I was in a rush and didn't word things that clearly (actually it is somewhat complicated to explain)

--

Basically I have a global macro that sets up the device:
TV = DEV_TV; phantom1
phantom1 = SET_TRANS_KEYS; SET_CHAN_KEYS; SET_MENU_KEYS; SET_PIP_KEYS; SET_OTHER_KEYS; SET_LCD; DEV_TV; XSHIFT-VOL+; Dev_Cancel

--

XSHIFT-VOL+ is a keymove/ToadTog whose job is to set the volume keys depending on whether the current active audio device is my TV or my Home Theater Receiver.

TV/XSHIFT-VOL+ - ToadTog(4,TestOnly) = [On] DEV_AUD; 3; SET_VOL_KEYS; Dev_Cancel [Off] DEV_TV; SET_VOL_KEYS

--

While I'm watching TV and listening to audio through the TV speakers (most of the time) if a HDTV show comes on with DD5.1 sound and I want to switch to my receiver, I press and hold the "Last" button on my remote, which is an LKP which executes "Previous Channel" function on short press, and 'toggle' "Turn on Receiver, Switch Receiver Input to optical for TV, Set current audio device to Receiver, Set Vol Keys to Receiver" / "Turn off Receiver, Set current audio device to TV, Set Vol Keys to TV"

TV/Last - LKP(3) = [Short] Shift-Last [Long] XSHIFT-Last
TV/XSHIFT-Last - ToadTog(4,Toggle) = [On/Off] DEV_AUD; DiscreteOFF; DEV_TV; SET_VOL_KEYS [Off/On] DEV_AUD; 3; SET_VOL_KEYS; Dev_Cancel

--

Basically when I turn on the TV, there is a DEV_TV followed by all the SET_XXX functions. "Last" is bound to TV/"Last"/LKP

While I'm watching TV, if I press and hold "Last", the the [Long] LKP for "Last" executes. Essentially this does DEV_AUD; 3; SET_VOL_KEYS

Initially this is all I had it doing, but I found the behavior was very strange, as the "Last" button would work the first time I held it, but the second time I held it (to toggle from receiver back to TV) I found it didn't work. Now I fully expected it to work, because all that was executed the first time was DEV_AUD; 3; SET_VOL_KEYS so "Last" should still be bound to the LKP (keymove) for the DEV_TV.

I found it wasn't the case and "Last" was now bound to something else. I surmised that the "embedded" DEV_AUD I used in my "Last" LKP macro was affecting what "Last" was bound to. I thought it shouldn't because it should have been automatically "Dev_Cancel"d when the macro was done, but now I think that only applies to "real" macros calling embedded "real" macros. I think the "macros" inside of ToadTogs, DSMs, and LKPs do not automatically "cancel" DEV_XXX commands.

Anyway, I needed to insert Dev_Cancel to get my functionality working. The Dev_Cancel was needed to cancel out the DEV_AUD and prevent "Last" from being bound to something other than TV/"Last"/LKP

The reason I made it so complicated with the ToadTogs is because I wanted the remote to set the volume keys properly if I watched TV, toggled to use Receiver, switch to a different device (DVD) and switched back to TV. w/o using the ToadTog, when I toggled to use Receiver, everything would work fine, but if I switched to DVD and switched back to TV, then it would think I was using TV as the audio device and the volume keys would be set incorrectly.

Hope that is clearer, but maybe it is not, because I'm embedding lots of stuff and writing complex macros/LKPs/ToadTogs.

So bottom line, I think DEV_XXX is only auto-cancelled if executed from a real macro, not the "macro" simulations within LKP, DSM, and ToadTog, so I needed to explicitly cancel them. It's possible I still have some redundant or extraneous Dev_Cancel's in my macros, but it is all working the way I want I didn't feel like messing with it too much.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Extenders All times are GMT - 5 Hours
Page 1 of 1

 
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