RCRP05B Extender - LKP Trouble

Support forum for extenders. If you're having trouble getting one up and running, this is the place to come.

Moderator: Moderators

dannyo
Posts: 42
Joined: Sat Dec 31, 2011 11:04 am
Location: West Coast

RCRP05B Extender - LKP Trouble

Post by dannyo »

I'm a beginner extenderite trying to use the RCRP05B Extender.
I'm trying to turn on the TV and Receiver and set them up for watching TV with a long press of the TV button.

Using RMIR, I see that the LDKP feature is in the Special Functions. I created a new Special Function:

TV TV LKP(3) [Short]:TV [Long]:TV;Phantom1;AUD;Phantom3;TV;Phantom5;Set_Chan;AUD;Phantom7;Set_Vol;TV

I'm not sure how the Special Functions work. Should the string following the [Long] to be executed as a macro when the TV button is held down and the string after the [Short] be executed as a macro on a short press?
My equipment:
Remote RCA RCRP05B with JP1 2/3 cable.
Tivo Premiere
TV Sony Sony KDS-60A3000 (over the air)
Receiver Onkyo HT-R670 (part of HT-S6200 Theater sys)
CD player Sony CDP-C325

My Software:
RemoteMaster v2.04 build 14
RDF's as of 2011-01-14
Images and Maps Version 1.32 as of 2010-12-30
mdavej
Expert
Posts: 4636
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Using TV inside the macros is causing a loop. TV is not a device selection like you think, but is running whatever macro you assigned to the TV button. You need to use Dev_TV instead. Same goes for AUD, etc. On the short side you probably want to set all key groups to TV, i.e., Dev_TV, Set_Chan, Set_Vol, etc. The long side looks ok except for needing Dev_TV instead of TV, etc. as I said before.

I usually put stuff I'd have on both sides in a macro before the LKP is called. For example, on the Macro tab, make a TV macro that has Dev_TV, Set_Chan, etc. with the last command something like Xshift-TV. Then on the Special tab, make a Xshift-TV LKP macro with the short side blank and the long side with the rest of your watch tv macro steps.
dannyo
Posts: 42
Joined: Sat Dec 31, 2011 11:04 am
Location: West Coast

Post by dannyo »

mdavej wrote:Using TV inside the macros is causing a loop. TV is not a device selection like you think, but is running whatever macro you assigned to the TV button. You need to use Dev_TV instead. Same goes for AUD, etc. On the short side you probably want to set all key groups to TV, i.e., Dev_TV, Set_Chan, Set_Vol, etc. The long side looks ok except for needing Dev_TV instead of TV, etc. as I said before.
Ah, that makes sense. I was use to using the TV to select the mode but it can't now since it's redefined by the special function. It was hanging up. Thanks.
mdavej wrote:I usually put stuff I'd have on both sides in a macro before the LKP is called. For example, on the Macro tab, make a TV macro that has Dev_TV, Set_Chan, etc. with the last command something like Xshift-TV. Then on the Special tab, make a Xshift-TV LKP macro with the short side blank and the long side with the rest of your watch tv macro steps.
So check me. Special functions can have zero, one or two macros to execute depending on the type and conditions. Is that right?

Also in your example, "TV macro" means I should assign it to the TV button and Xshift-TV is being used like a phantom key, not intended to be used?
dannyo
Posts: 42
Joined: Sat Dec 31, 2011 11:04 am
Location: West Coast

Post by dannyo »

In the Special Function tab "New" window it insists on a bound device. Does that mean the remote has to be in that device mode to execute the special function when the key is pressed?

Is there a way to always execute a special function with a key regardless of mode?
mdavej
Expert
Posts: 4636
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Correct on all counts. Use any real or phantom key you like, Xshift-TV is only an example. Remember also that macros can call other macros, or even call themselves, as you found out already. And the device buttons are just buttons and don't do device selection in the extender, the Dev_ commands do that now.

Yes, you have to have a bound device. But that's no problem because if you put the calling macro on the Macro tab, it's global (works from any device mode). So if you want Red for example to mute the TV on a long press in every mode, just make a new macro on Red with Dev_TV and phantom1. Then make an LKP for TV phantom1 that does Mute on the Long side. Hope that makes sense.

Non-global macros are called DSMs (device specific macros) and can be made on the Special tab.
dannyo
Posts: 42
Joined: Sat Dec 31, 2011 11:04 am
Location: West Coast

Post by dannyo »

Thanks mdavej. That was excellent help. I'll go ahead and repair the damage with your recommendations.

How about one more question? In the LKMS hierarchy that vickyg presents in the IR Help document it says
Learned Keys
Keymoves
Macros
take priority in that order. Where do Special Functions fit in that order if there is a conflict?
mdavej
Expert
Posts: 4636
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Good question. Vicky, Unclemiltie or other extender authors probably know for sure. But my guess is they're at or below the macro level.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

mdavej wrote:Good question. Vicky, Unclemiltie or other extender authors probably know for sure. But my guess is they're at or below the macro level.
But for any of the old JP1 extenders, or JP1.2 extenders or unextended remotes, a special protocol is a keymove. So a Pause would trump a macro in a normal remote. Unclemilte's extenders might change the order. I think unclemiltie only does one pass so its whatever comes first.
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

All special functions in the extender are key moves. However, the extender (at least the JP1.3 extenders) searches different than the unextended remote.

The extender will search the advance code area until it finds something that matches the key.

If what is found is a macro then it is loaded and control is passed back to the key processor.

If what is found is a key move, the device is checked. If that matches, the key move is executed (including specials) and control is passed back to the key processor.

If it does not match, searching continues until a new match is found or the end of the advance code list is reached.


So this all depends on how things are added by IR or RMIR. If you don't have multiple things on a single key, no issue but you could have a situation where a key move and macro are on the same key and the macro executes in all but one device if the advance codes get organized "right". But this could be confusing to say the least and any reordering of the advance codes could break something that previously worked
this JP1 stuff is a sickness!
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Unclemiltie (Bill), I thought this was how your JP1.3 extenders worked but is this how your kameleon extender worked too?
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

That would require me to really go back and dust off some cobwebs to remember how that one worked.


But I can assure you that the JP1.3 ones work that way!
this JP1 stuff is a sickness!
andyross
Posts: 272
Joined: Sun Jun 13, 2004 9:38 am
Location: Aurora, IL

Post by andyross »

For reference, I also use LKP for turning on and setting up devices (and one for Power OFF.) It looks roughly like this (CBL key example):
Dev_AUD;Set_Vol;Dev_CBL;Set_Trans;Set_Chan;Set_PIP;Set_Menu;Set_Other;Shift-CBL

Shift-CBL is an LKP(4):
[Short]:<none>
[Long]:Dev_AUD;DiscreteOn;2;Dev_TV;DiscreteOn;Phantom4;Dev_CBL
(TV Phantom4 is HDMI4 select)
dannyo
Posts: 42
Joined: Sat Dec 31, 2011 11:04 am
Location: West Coast

Post by dannyo »

Thank you andyross,
I have it working somewhat now. My Sony TV takes awhile to react to functions right after a power on so I added a pause after the discrete ons. Experimenting resulted in about 6 seconds required. It's annoying to have to point the remote that long but I don't know of a solution. I just hold it until the lights stop blinking.

[Short]:<none> [Long]:Dev_TV;DiscreteOn;Dev_AUD;Phantom3;Dev_TV;XShift-Input;Phantom5;Dev_AUD;Phantom7;Dev_TV

where Phantom5 and 7 select the TV and RCVR inputs respectively.

I recommend for anyone else using this is to put a large amount of delay (maybe 10 seconds) in the pause to make sure everything is working and then reduce the delay just enough to keep it working. Also if something fails to set, try pressing the button again. If that works then I think it may be a delay problem.
My equipment:
Remote RCA RCRP05B with JP1 2/3 cable.
Tivo Premiere
TV Sony Sony KDS-60A3000 (over the air)
Receiver Onkyo HT-R670 (part of HT-S6200 Theater sys)
CD player Sony CDP-C325

My Software:
RemoteMaster v2.04 build 14
RDF's as of 2011-01-14
Images and Maps Version 1.32 as of 2010-12-30
3FG
Expert
Posts: 3436
Joined: Mon May 18, 2009 11:48 pm

Post by 3FG »

I don't see the value of including delays, when the required delay is more than about a second. Instead, I prefer to put in no delay, and push the button twice. That way I don't have to hold the remote during the delay.

We have a Sony TV, and it is setup so that it remembers the input state it had before it was last powered off. It turns out that we nearly always want the same input the next time we watch it. So typically it isn't necessary to push the on button twice.
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

dannyo wrote:
[Short]:<none> [Long]:Dev_TV;DiscreteOn;Dev_AUD;Phantom3;Dev_TV;XShift-Input;Phantom5;Dev_AUD;Phantom7;Dev_TV

where Phantom5 and 7 select the TV and RCVR inputs respectively.
A point of clarification. The extender does an implicit Dev_Cancel at the end of every macro when it passes control back to the underlying remote so the Dev_TV on the end of your LKP is not necessary unless there is something else firing after that (i.e. another macro)

Everything in the extender is a "macro", even a single key press is pushed onto the macro buffer and then executed as if it was a one-key macro. As you push more on to the buffer, the macro gets longer but eventually when the extender winds its way down to the end the Dev_Cancel is executed and control goes back to the part of the remote that waits for you to push another key.
this JP1 stuff is a sickness!
Post Reply