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

URC-8820 Extender LKP Question
Goto page 1, 2  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Beginners
View previous topic :: View next topic  
Author Message
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Tue Jan 25, 2011 4:06 pm    Post subject: URC-8820 Extender LKP Question Reply with quote

I am getting into the details of setting up the IR file to utilize to extender but I need an example to help kick me off.

Suppose I want to use the PVR key on the remote to
1) act as the default loaded by the extender for a SHORT key press but
2) do a sequence of actions if I use a LONG key press;
for example, turn on the PVR using the DiscreteOn feature of the ToadTog; turn on the TV using its discrete on code; pause 5 secs while the TV boots up if it is not already on but proceed right away, if it is on, to select the input for the PVR; then return control to the PVR.

From looking at the Capn Trips Beginners Extender FAQ, Vickyg's extender Readme file, and studying several IR files in the Diagnostic file section, I have a rough idea about how to build it using Keymoves, Macros, and Special Protocol Functions but am still in a fog and cannot figure out where the LKP goes.
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=9385
Richard
Back to top
View user's profile Send private message
mdavej
Expert


Joined: 08 Oct 2003
Posts: 3954

PostPosted: Tue Jan 25, 2011 5:56 pm    Post subject: Reply with quote

There are many ways to do it, but here's what I would do. Using your CBL macros as an example, first add XShift-CBL to then end of your CBL macro. Then make an XShift-CBL LKP. Leave the short side blank, and put the contents of your SHIFT-CBL macro in the long side. Then you can delete your SHIFT-CBL macro. Now a short press will run your CBL macro and a long press will run what you used to have in your SHIFT-CBL macro.

Alternately, you could put everything from your original CBL macro on the short side of your LKP. So the only thing left in your CBL macro would be the XShift-CBL.

One thing I would change is in your SHIFT-CBL macro (and others like it), use X_CBL instead of CBL. You may not realize, but you are actually running your entire CBL macro every time you use that command. To simply make CBL the active device before sending more commands, use X_CBL.
Back to top
View user's profile Send private message
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Tue Jan 25, 2011 10:24 pm    Post subject: Reply with quote

Thanks, mdavej.

I will certainly try that and do some other clean-up as well. Hopefully I can post a working version soon.
Back to top
View user's profile Send private message
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Wed Jan 26, 2011 10:09 am    Post subject: Reply with quote

It suddenly occurred to me, as I was drawing a flow diagram of what I wanted to do, that each of the macros are in essence a mini-subroutine that could call other subroutines. Understanding that should make it much easier to develop the activities and reuse some macros as needed.
Back to top
View user's profile Send private message
Capn Trips
Expert


Joined: 03 Oct 2003
Posts: 3953

PostPosted: Wed Jan 26, 2011 10:29 am    Post subject: Reply with quote

greenrl wrote:
It suddenly occurred to me, as I was drawing a flow diagram of what I wanted to do, that each of the macros are in essence a mini-subroutine that could call other subroutines. Understanding that should make it much easier to develop the activities and reuse some macros as needed.
I used a flowchart to help me set this up in the past. It's for a setup I no longer have, but the logic may be helpful to some.
_________________
Beginners - Read this thread first
READ BEFORE POSTING or your post will be DELETED!


Remotes:Atlas OCAP URC 1056, Harmony One, OFA XSight Touch, AR XSight Touch
TVs: Panasonic TH-50PE700U; LG 65" Smart LED TV; RCVR: Pioneer VSX-D2016S;Onkyo TX-SR875
DVD/VCR: LG Blu-Ray player, Pioneer DV-400VK (multi-region DVD), Sony BDP-S350 (Blu-ray), Toshiba HD-A1 (HD-DVD), Panasonic AG-W1 (Multi-system VCR);
Laserdisc/CD changer: Pioneer CLD-704.
Streaming: Intel NUC PC
(But I still have to get up for my beer)
Back to top
View user's profile Send private message Send e-mail
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Wed Jan 26, 2011 10:51 am    Post subject: Reply with quote

Very interesting chart and should be useful. Not what I remember, from many many years gone by, as a flow diagram with boxes, decisions, and other shapes but useful nevertheless.

It would take me longer than I want to devote to take a drawing application and reproduce what I scribble out by hand, but those well-versed in the art will appreciate what I mean.
Back to top
View user's profile Send private message
greenough1



Joined: 30 Jan 2005
Posts: 659

PostPosted: Wed Jan 26, 2011 2:25 pm    Post subject: Reply with quote

Hi Greenrl,
Hopefully my suggestion won't confuse you more. I use LKP in the following way for all device buttons:
* the long side press will setup the home theater for viewing on that device. The short side just selects that device so that the remote controls it.

e.g. take CBL button. The short side press, sets the remote to control watching TV through the CBL box (volume controls the receiver, channel changes CBL box channel, etc.). The long press will execute a macro that 1) sets the TV input to the CBL box, 2) sets the receiver to the CBL box input, and overall assigns the button groups according.

So in my house when someone says I want to watch a DVD, I reply: press and hold the DVD button. (press and hold is LKP). If they say I want to watch CBL, then I say: press and hold the CBL button. All of the remotes in the house work the same (for different equipment).

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



Joined: 16 Nov 2010
Posts: 40

PostPosted: Wed Jan 26, 2011 3:45 pm    Post subject: Reply with quote

Thanks Jeff. That is basically what my goal is also.

But my latest attempt to clean things up, still using CBL as an example before I move on, has failed miserably. The LKP does not do what it is supposed to and further, now the CBL, power controls the TV power instead of the CBL.

This is frustrating. Here is the latest file.

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=9388

Richard
Back to top
View user's profile Send private message
jimdunn



Joined: 29 Jun 2004
Posts: 544
Location: NSW, Australia

PostPosted: Wed Jan 26, 2011 9:10 pm    Post subject: Reply with quote

The first thing that strikes me is Shift-L1 in the long side of your LKP.

You don't have a macro defined for Shift-L1, just a ToadTog which will only work in TV mode.

If you want to call that ToadTog from your LKP, then create a macro, on, say, Phantom3 which does: X_TV, Shift-L1, X_Cancel.

Then call the macro in the long side of your LKP, like: (short) L1 ; (long) Phantom3, Shift-L2

I don't fully understand your setup, but this step seems necessary to get that command to work in the LKP.
Back to top
View user's profile Send private message Visit poster's website
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Wed Jan 26, 2011 11:51 pm    Post subject: Reply with quote

Thanks for the tip, Jim. I am still learning. In the meantime I have stepped back one iteration that did not have this arrangement that worked but is having trouble with the Pause ToadTog. Maybe that is the same issue there.

I will try what you are suggesting.

Richard
Back to top
View user's profile Send private message
jimdunn



Joined: 29 Jun 2004
Posts: 544
Location: NSW, Australia

PostPosted: Thu Jan 27, 2011 12:27 am    Post subject: Reply with quote

Actually, another way that may work, and avoids the extra Phantom3 macro is just to alter your LKP to:

(short) L1
(long) X_TV,Shift-L1,X_Cancel,Shift-L2

that's probably neater - unless the Phantom3 would be useful to "call" as a "subroutine" from other macros, in which case it makes sense to have it defined as a "standalone" macro as I did above.

I hope that made sense... Smile
Back to top
View user's profile Send private message Visit poster's website
greenrl



Joined: 16 Nov 2010
Posts: 40

PostPosted: Thu Jan 27, 2011 11:37 am    Post subject: Reply with quote

Jim, that sure helps and the LKP executes properly.

But there is one remaining issue that escapes me:
The Pause (in L2) does not seem to work; the macro zips right on by and turns on the Dish and misses setting the input to s-video (shift-L2) because the TV is not finished turning on. I don't see any 12 sec delay, which would be ample time for the TV to boot up.

BTW, Jeff, would you be willing to share your file with me as an example? Probably not the same remote but the logic would be helpful.

Richard
Back to top
View user's profile Send private message
jimdunn



Joined: 29 Jun 2004
Posts: 544
Location: NSW, Australia

PostPosted: Thu Jan 27, 2011 1:58 pm    Post subject: Reply with quote

greenrl wrote:
Jim, that sure helps and the LKP executes properly.

But there is one remaining issue that escapes me:
The Pause (in L2) does not seem to work;

Cool - glad that fixes the LKP. Smile

At first glance the pause looks like it probably should/might work - but I don't really understand what you're doing with ToadTog here Confused

I'd probably experiment with these 2 things to try to narrow it down:
[1] Try a "standalone pause" using the RM pause protocol instead of the extender one - see This thread
[2] Try using a "Force On" ToadTog instead of a "test only"
(I'm not a ToadTog expert, but it seems to me that this is a force on scenario - ie, you need to change the "state" of TV to On at the same time you send the discrete On)

Just to ramble, I have a lovely "triangular" ToadTog for my HTIB device, where I force it off when setting it to [i] FM Radio or [ii] DVD playing, then force it on when cancelling either of those modes, setting it back to "Aux" input, which is where it should "normally" be - but I am not a big ToadTog user, so by no means an expert...

You can always just set up a test pause as a macro with some innocent commands around it, like (Vol+,pause,Vol+) on a spare key to see what's going on as a troubleshooting aid...[/i]


Last edited by jimdunn on Thu Jan 27, 2011 3:27 pm; edited 3 times in total
Back to top
View user's profile Send private message Visit poster's website
mdavej
Expert


Joined: 08 Oct 2003
Posts: 3954

PostPosted: Thu Jan 27, 2011 2:13 pm    Post subject: Reply with quote

Follow Jim's advice and look at all your macros again. If you don't have an X_??? command at the beginning, the remote has no idea which device's function to call. So pause doesn't work because nothing calling it has X_TV first. You don't really need all those X_Cancel's unless you are having problems. Macros automatically X_Cancel at the end anyway.

I don't see how your toadtogs could be working either because don't have anything to ever turn them back off. Toadtog 2 never changes state. So it does nothing.

It would be best to flowchart what you want to do because your macros are very hard to follow. I would keep most of the commands inside the LKP macros themselves rather than all the jumping around you are doing. It's very hard to tell what the active device is at any moment. The long side of your LKP's doesn't map any key groups, so I'm surprised they work as well as they do. I guess it's because you don't run other macros in the mean time.

I would put all my key group button mapping in the calling macro, then call the LKP, short side blank, long side with all your commands without calling other macros if possible.
Back to top
View user's profile Send private message
jimdunn



Joined: 29 Jun 2004
Posts: 544
Location: NSW, Australia

PostPosted: Thu Jan 27, 2011 2:40 pm    Post subject: Reply with quote

Here's an 8910 extended file with copious notes that contains much of what you're trying to achieve.

It's actually due a rewrite because it has some redundant device setting keys (and redundant SET_LCD commands, which are irrelevant to you anyway) at the end of the selection macros - just like mdavej is saying you don't need to X_CANCEL all over the place because the device selections only last until the macro ends - I could save a few precious bytes by hacking those out, but, it works, so I'll fix it, later... (when I need the space back). Embarassed

The only thing you need to bear in mind is it uses DEV_xxx commands where your extender uses X_xxx, and the SET_KEYS commands are different in the 8910 extender from yours - but the general macro/toadtog scenario is the same, just the extenders use different keys for device selection between the 2 remotes:

The difference in extenders means you can't use the "general purpose" Phantom1 key I use in there to set device keys though, and you should stick to mdavej's advice about leaving that stuff in the LKP - hopefully it's still a useful example of how you can build a structure for all this, and doesn't just serve to confuse... Confused

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=8277

ps

If it helps - ToadTog is all about using a memory location in the remote to "track" the "state" of a device, by saving whether it is On/Off Red/Blue Up/Down etc, and then using that stored knowledge to decide what to do next (whether to pause, send a toggle command etc...), so as mdavej very rightly says, if you have no commands that ever change or update that internal status, you can't use ToadTog in any way that makes sense.

Maybe you don't need it at all - if you just want to send a code for discrete on, then you may not need to do so conditionally, you can just send it, secure in the knowledge it will have no effect on an already on device - but if you only want to send a "pause" when powering up from cold, for example, then that's when you can use ToadTog to "track" whether the remote "thinks" the device is hot or cold, and branch based on that stored state.

The confusion can arise because, if the device has no discrete codes available , ToadTog can be used to create a kind of discrete status/command set as an alternative. Hence people can tend to kind of mix up the concept of ToadTog with the use of discretes - the reality is that if the device has discretes available, then just using them is usually the best option, and usually doesn't require any ToadTogging...

I personally look at ToadTog as a last resort - if I really, really can't do what I need to without storing a state in a ToadTog bit, and branching conditionally based on its content, then I'll use one - but if it can be done (with discretes or in some other way) without ToadTogs then that's the way to go - far less complicated, no chance of devices getting out of synch with where ToadTog thinks they are because someone pressed a button on the device or used an OEM remote.

confused yet ? Twisted Evil
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 - Beginners All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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
Get Smart! the band's official homepage Rockabilly Central