Page 1 of 1

Poll: Delay between keys in extender macros

Posted: Thu May 26, 2011 12:05 pm
by unclemiltie
I introduced a feature in the latest RCA and Insignia JP1.3 extenders that allowed for a delay between keys. however, the "longest" delay that you can apply using the method that I used is somewhere on the order of 130ms. Small values produce pretty much no delay at all. I did this to save space in the extender by using a built in function call (DelayWW0) which is in every remote that we've ever looked at and is a "standard" entry point into the remote.

However, I was thinking the other day that this may be too short and that it really provides no value to the people who use the extender. There is another solution that would provide for much longer delays between keys.

In the Pause protocol, I coded up a routine that provides a 100ms delay by calling the DelayWWO function a fixed number of times. The Pause protocol specifies the number of 100ms delays that you would like and can make ridiculously long delays of somewhere near 25 seconds. I could code up this delay to use the pause protocol delay which would allow for longer delays, but the very short (<100ms) delays would not be available.

The changes to do this are trivial, and in reality the use of the Pause delay would be slightly smaller in code size (5 bytes vs 7 bytes). Smaller is not necessarily a big deal for me right now since the extender "fits" with a few bytes to spare, but this change would not push me over the top.


So, opinions? Is anyone using this feature? If so, how would you like to see it? (also, would you like to see it on the other JP1.3 remotes? I've not back ported to the Atlas, RS 15-13x, 15-100 or Comcast JP1.3 but that's not a huge deal either)

Posted: Thu May 26, 2011 7:06 pm
by unclemiltie
what, 42 reads and no opinions? Come on!

Posted: Thu May 26, 2011 7:29 pm
by pH7_jp1
I think it sounds like a very good idea. I didn't respond because I haven't used the existing feature (not using either of those remotes). I can think of an occasion in the past where this would have solved a "challenge" in programming an extended 15-2116.

Posted: Fri May 27, 2011 11:25 am
by Thomas
Now 96 reads and counting.....

I do use the pause function in the RS15-100 extender. However, when I programmed the RCA RCRP05B for a friend, there was a need to not make it too complex.

Seems that there was plenty of room in the RCA to add an 'enhanced pause' function - go for it! If I have the opportunity, I will borrow it back and try it out.
Tom

[edit: voting in favor of the mod]

Posted: Fri May 27, 2011 12:00 pm
by Jobius
I haven't used your extender yet, but I can't imagine being inconvenienced by the lack of sub-100 ms pause. On the other hand, 25 seconds seems like a really long time... How many WW0 calls does it take to get the current maximum 130 ms?

Posted: Fri May 27, 2011 12:14 pm
by unclemiltie
255 - the value is one byte, a limitation in how IR can change the value in the code.

Posted: Fri May 27, 2011 12:52 pm
by Jobius
So each WW0 call is about 0.5 ms (500 microseconds), and your change would be to do pauses in chunks of about 200 WW0 calls for 100 ms granularity? Seems fine, but 50 ms might be even better, unless that complicates things. Anyway, I'd say go for it.

Posted: Fri May 27, 2011 2:20 pm
by unclemiltie
Actually that 255 is loaded into the high-byte of the 16-bit delay value, so each DelayWWO call is a lot shorter than that.

let me think about what it would take to turn the granularity down to 50ms (a shift-right of the 100ms value would do it and the Pause protocol lives elsewhere so that is a "zero cost" option. hmmm... good idea!)

Posted: Fri May 27, 2011 7:50 pm
by jgfarrell
50ms - 12.5sec definitely seems like it would be the most useful range... if anyone "really" needs 25sec they can simply call up a 2nd pause.