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

Need a way to repeat a macro
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - General Forum
View previous topic :: View next topic  
Author Message
johnsfine
Site Admin


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

PostPosted: Wed Mar 14, 2007 2:01 pm    Post subject: Reply with quote

ElizabethD wrote:
Not sure if I can drop the position check (3 bytes) against start


I didn't research ScanKeypad to make sure it behaves in an extender the way I think I remember it behaves.

But IIRC, it will only work (in an extender) if the macro buffer is empty (the last keycode is now being executed). So you couldn't possibly overflow the buffer; you wouldn't even put a second code in the buffer. So the check to prevent buffer overflow is not needed.

More detail: To enable fast macros, the extender changes the identity of the originating key, so it will appear that the keyboard state has changed even when it hasn't. Then on launching the last keycode, the extender restores the original keycode so it can once again be meaningfully compared against the physical keyboard state.

ElizabethD wrote:
One thing I don't like about it - need for several triggering keymoves for different macros.


You could avoid that as well and not use the keymove data byte at all.

In the simple way you're using this looping command, you are looping with the orginating physical key. The firmware keeps a copy of that keycode. Your SP could push the orginating physical key instead of pushing a value from its own data.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7055
Location: Florida

PostPosted: Wed Mar 14, 2007 6:05 pm    Post subject: Reply with quote

Yes there is a way to make the macro repeat and its very clean and simple. You just have to have LKP available.

Simple example;

VCR button C_VCR; M_VCR; Phantom4

Phantom4 LKP Short 1; Long 5;Phantom4

As long as I hold my VCR button down it keeps repeating 5, when I let up I get a 1.

This would be a great way to handle those stated menus, with no ToadTog. Press and hold the The VCR button, and have a the

VCR button C_VCR; M_VCR; X_TV;TV/VCR; Phantom4

Phantom4 LKP Short (ENTER;X_CANCEL) Long ( DOWNARROW;Phantom4)

I'd call this recursion. Just make sure you put the call to itself on the LONG side. If you do it on the SHORT side you get an infinite loop.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2310

PostPosted: Thu Mar 15, 2007 8:09 pm    Post subject: Reply with quote

johnsfine wrote:
Your SP could push the orginating physical key instead of pushing a value from its own data.
Done. John, R_Dkey aka R_Key1 is it for pushing into the buffer up front. Thanks. One keymove with zero for hex value does the job for global macros so long as I don't screw up the key sets.

The approach Nils took is cool because it requires nothing extra other than LKP tied to a device. I think Vicky is doing the same thing, but without seeing the macros on 5 or the downarrow, I'm not sure. I think I know what downarrow is about. I suspect the macro with a pause inserted could work well.

It's kinda funny that while some of the forum time is devoted to 'power calls power calls power calls power' forever loop, we're designing precisely this in here. Oh! the joys of jp1 Smile
_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2310

PostPosted: Fri Mar 16, 2007 3:10 pm    Post subject: Reply with quote

Nils_Ekberg wrote:
Code:

Regular Macro that starts it all:

CBL   X_CBL;DiscreteOn

LKP executed by macro:

1 CBL DiscreteOn   LKP(1)   

[Short]:XSHIFT-DiscreteOn   

[Long]:SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn;
       SHIFT-DiscreteOn

DSM it executes:

2   CBL   SHIFT-DiscreteOn   DSM   X_TV;SHIFT-2;SHIFT-2;SHIFT-Pause;SHIFT-3;X_Cancel   :Switch TV input

Nils, what repeats when you hold? I understand your 10 calls on the long side. But when you hold, does it blink AND three signals come out?
_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
Nils_Ekberg
Expert


Joined: 02 Aug 2003
Posts: 1689
Location: Near Albany, NY

PostPosted: Fri Mar 16, 2007 3:25 pm    Post subject: Reply with quote

If I tap CBL button then the macro (DSM for Shift-DiscreteOn) would execute one time and exit.

If I press and hold it then it runs that same macro the amount of time it is entered in the long press. By the way, that is just an example but I did try it and it works.

The DSM is a real macro and what it does it switch my TV to AV then to Component. It actually works kind of like a discrete by forcing it to AV no matter what the state the TV is in then switches it back to the first Component.
_________________
Nils
Files Section
Diagnosis File Section
Back to top
View user's profile Send private message Send e-mail
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2310

PostPosted: Mon Mar 19, 2007 8:55 pm    Post subject: Reply with quote

Since this thread got pretty long, and it can be done, I thought I'll summarize the three approaches.

Let's say we want this test macro to repeat:
CH+;CH+;Vol+;Vol+;1;SHIFT-Angle{Sleep}
This is an unrealistic example but I need to be sure ch and 1 go to the calling device, and vol always to the tuner becase of volume punch through, so that's my test macro. SHIFT-Angle{Sleep} is pause.

Using the LKP ideas (simple, why didn't I think of it?):
Note that unless the short side of the LKPs is blank, on release of the button the short side is executed, which you may or may not want. In case of tuning I don't want it. Timing is about 1/sec.

(1) LKP method 1
Macro on XSHIFT-4: CH+;CH+;Vol+;Vol+;1;SHIFT-Angle{Sleep};4
TV/4: LKP(1) [Short]:< Blank > [Long]:XSHIFT-4
DVD/4: LKP(1) [Short]:< Blank > [Long]:XSHIFT-4
Press and hold 4 to repeat
You can also code this without ;4 at the end of the macro. It'll repeat by Long side, so long as pause is NOT the last entry in the macro. For my two-command tuning job, I just reverse the commands.

(2) LKP method 2
Macro on XSHIFT-5: CH+;CH+;Vol+;Vol+;1;SHIFT-Angle{Sleep}
TV/5: LKP(1) [Short]:XSHIFT-5 [Long]:XSHIFT-5;5
DVD/5: LKP(1) [Short]:XSHIFT-5 [Long]:XSHIFT-5;5
Press 5 once to send one iteration, hold 5 to repeat

(3) Special Protocol method
Timing is about 2/sec.
Macro on Thumbs_Up: CH+;CH+;Vol+;Vol+;1;SHIFT-Angle{Sleep};XSHIFT-Phantom2
TV/XSHIFT-Phantom2: <N/A> TV 1111 $00
DVD/XSHIFT-Phantom2: <N/A> TV 1111 $00

Press ThumbsUp once to send one iteration, hold it to repeat
I tried reusing just one of those repeaters with X_TV...X_Cancel for DVD and other gear. No go. Need separate keymoves/device.

Not bored yet? Here is a more realistic example for variable advance/replay on DISH. I used Special Protocol MacroReps.
> DISH has an ADVANCE button which advances 30 seconds.
> DISH accepts commands slowly. It needs a break of about a second between commands.
> Different DISH boxes require different pause between commands.
> Some programs or stations have different amount of commercials time to be skipped.
> Consequently, fixed skip time is not a good solution.
So, in 6131, with pause coded on Shift-Phantom1, I put
Global macro on Next_Track: Advance;SHIFT-Phantom1;Phantom4
Repeater keymove on CBL/SAT/Phantom4 <N/A> TV 1111 $00


Another use is for slowing down the receiver tuning to 2/sec from the native repeat of 10/sec. Using the two LKP methods above, it runs at about 1/sec with the shortest of pauses. I think LKP latency slows things down.

Special Protocol code for device and protocol upgrades:

1) Paste device upgrade in IR. In 8910 it will be seen as VCR/1111 so the repeater keymove should use VCR not TV/1111
Code:
Upgrade Code 0 = 1C 57 (TV/1111) MacroRepeater (KM v9.06)
 F1 00 01
End
2) Paste protocol into IR
Tested:
6131ext1
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 13 EE FB 03 82 7F 64 AF
End
7800ext5
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 13 06 FB 03 82 95 75 AF
End
8910ext1
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 3E AD FB 03 82 95 80 AF
End

Untested, but might work:
1994ext5
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 0F A6 FB 03 82 95 77 AF
End
2116ext
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 3B 67 FB 03 82 8E 79 AF
End
6012+8811ext3
Code:
Upgrade protocol 0 = 01 F1 (S3C8+) MacroReps(PB) (PB v4.00)
 00 00 01 F6 0D E7 FB 03 82 7F 6A AF
End

_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
Tommy Tyler
Expert


Joined: 21 Sep 2003
Posts: 410
Location: Denver mountains

PostPosted: Tue Mar 20, 2007 3:23 pm    Post subject: Reply with quote

Liz,

Great work on the repeating macro. I've already put the Dish example to work, using your special protocol, and it works beautifully for skipping commercials of varying lengths.

Tommy
Back to top
View user's profile Send private message
Capn Trips
Expert


Joined: 03 Oct 2003
Posts: 3959

PostPosted: Tue Mar 20, 2007 3:54 pm    Post subject: Reply with quote

I'm following most of this, and in a few months, when I move back to the US and likely become a DISH customer again, I will have to revisit this to give it a try. One question about the operational use for the 30-sec skip * X iterations.

I understand how the construction of the protocol and LKP gets you to where the nacro repeats as long as you are holding the button and stops when you release it, but how do you calibrate your "long" presses for either a 1, 3, or 5-minute (or whatever you're trying to achieve) skip? It seems to me that you really have no idea how many times the macro has fired WHILE you're holding the button down. You just have to calibrate your finger, I suppose.
_________________
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
Tommy Tyler
Expert


Joined: 21 Sep 2003
Posts: 410
Location: Denver mountains

PostPosted: Tue Mar 20, 2007 4:11 pm    Post subject: Reply with quote

I've tried it both ways. There are so many 3-minute commercial breaks that I used a fixed six-step macro on the NEXT_TRACK button for a while, with pretty good success. But a lot of the time I had to suppliment that for longer breaks with individual pushes of the ADVANCE button.

Now, with my Dish receivers using Liz' repeating macro, you see the little clockwise arrow symbol at the upper right corner of the screen each time it transmits an ADVANCE command. So I've learned to just count six (or however many I want) of those and release the button. Not as hard as it sounds.

Tommy
Back to top
View user's profile Send private message
Tommy Tyler
Expert


Joined: 21 Sep 2003
Posts: 410
Location: Denver mountains

PostPosted: Wed Mar 21, 2007 9:03 am    Post subject: Reply with quote

It's probably even easier to just count flashes of the red LED.
Back to top
View user's profile Send private message
ElizabethD
Advanced Member


Joined: 09 Feb 2004
Posts: 2310

PostPosted: Wed Mar 21, 2007 9:40 am    Post subject: Reply with quote

Tommy, actually red LED on the 6131 counts everything the remote does including every call to pause, so it overshoots the count though at a different rate. The only true count is when you watch it in IRSA where the while LED blinks because that is the proof of signal going out.

CapnTrips, on the 8910 LCD you can actually watch when IR goes out rather than the commands to the remote, but then you can't watch TV, so it's not that convenient.
_________________
Liz
Tweeking 8910, HTPro/9811, C7-7800, 6131o, 6131n, AtlasOCAP-1056B01, RCA-RCRP05B and enjoying the ride Smile
Back to top
View user's profile Send private message
Tommy Tyler
Expert


Joined: 21 Sep 2003
Posts: 410
Location: Denver mountains

PostPosted: Wed Mar 21, 2007 12:25 pm    Post subject: Reply with quote

Liz wrote:
actually red LED on the 6131 counts everything the remote does including every call to pause

You're right. The reason for my error is that I was actually counting a blinking LED indicator on the wall (part of my range extender) that, of course, only blinked on the ADVANCE commands and not on the pauses, as the remote does. I shouldn't have just assumed the remote LED was blinking the same. Also, I'm going to retract my comment about counting the little clockwise arrow symbol on the screen. The break between displaying one arrow and the next is barely perceptable.

So now that I look at it a little closer, and practice a bit, here is my final suggestion. When I press the NEXT_TRACK button I count the first remote LED blink as "1", then skip the next blink and count the third blink as "2", then skip the next blink, and so on. As soon as I see the sixth blink (for a 3-minute skip), I release the button. This description probably sounds a little screwball, but it's actually very easy. You had to be there. (And no, I don't really count out loud.)

Does the world need a "no LED blink" pause protocol for this situation?

Tommy
Back to top
View user's profile Send private message
Capn Trips
Expert


Joined: 03 Oct 2003
Posts: 3959

PostPosted: Wed Mar 21, 2007 12:39 pm    Post subject: Reply with quote

No but perhaps we need a tactile feedback capability (I'm sure one of the experts can throw together a special protocol to do this Rolling Eyes ) that will transmit some sort of "pulse" through a held key every time the IR LED transmits, and then you don't have to look at the LED, you just feel in your finger that is holding down the button how many times it has fired. Wink
_________________
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
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7055
Location: Florida

PostPosted: Wed Mar 21, 2007 12:47 pm    Post subject: Reply with quote

Ohh I hadn't thought about using this for the commerial skp, but this would really help me because my commercial skip goes in 15 second increments, but then isn't in the "ready" state to take the next one, so evein though I push it 20times I might not get 4 minutes, maybe only 2, but if I put this on the LKP and adjusted the interval, I could actually just count the number of times the time display changed. Or I could lengthen the time on the LKP and actually get the sceen to advance. Great idea, I had't thought of using this here, but manuallying fast forwarding to the end of the commercials is a very frustrating task for me, and I hadn't thought to attack it with a looping LKP. Great idea!
Back to top
View user's profile Send private message Visit poster's website
Tommy Tyler
Expert


Joined: 21 Sep 2003
Posts: 410
Location: Denver mountains

PostPosted: Wed Mar 21, 2007 2:35 pm    Post subject: Reply with quote

Liz, your next assignment (should you choose to accept it) is to invent a direct entry variable length repeating macro for the Capn that might work something like this:

Pressing a setup button (in my case, I would use the SLEEP button) followed no more than 2 seconds later by a numeric button, would automatically repeat the macro two times the value of the numeric button, without having to hold anything down. For example, to get my 3-minute skip I would press SLEEP,3. It seems like years ago there was a feature something like that on TIVO, or somewhere.

For her 15-second skips, Vicky would need a version that repeated four times the value of the numeric button. If I were her, and I launched a 20-step macro with that thing, I would want a bail-out button, in case it's one of those short commercials, and it fooled you into starting a long skip.

Tommy
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 - General Forum All times are GMT - 5 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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