Extended RCA RCRP05B LKP timing issues

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

Moderator: Moderators

jeajea
Posts: 288
Joined: Wed Feb 24, 2010 5:16 pm
Location: USA

Extended RCA RCRP05B LKP timing issues

Post by jeajea »

I am using the latest version of RMIR and version 1.05 of the extender,

My TV requires a delay of approximately 9.5 seconds after it is turned on before you can select an input. I use toadtog 2 to remember if the TV is on or off to determine if the delay is required.

TV phantom 4 toadtog test calls TV discrete on followed by a 9.5 second pause (TV phantom 1) if the TV is currently off.

For each device I am currently using I have setup a LKP(2) on “key” phantom3. A short key press does nothing. A long key press turns on any required devices and sets the inputs on the TV, AVR and my HDMI switch. Global macro phantom6 is used to turn on the TV if required. Global phantom6 calls TV phantom4 toadtog test which provides the delay if the TV is currently off. The inputs are set after the call to Phantom 6.

If I hold down the device key too long when the TV is off it appears the LKP is killed and the inputs are not set. If I don’t hold down the device key long enough the short press does nothing (as expected).

Is there something I can change to make the device keys less time sensitive? Having to either always turn on the TV first or hit the device button a second time is not very user friendly.

My rmir file is here.

https://www.hifi-remote.com/forums/dload ... e_id=11650

It is easy to tell if the LKP is working because the TV led stays on for over nine seconds.

Extended RCA RCRP05B LKP timing issues
Jim Anderson
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

The latest extender ( I think it was 1.05) has an interruptible pause. If you press a key during the pause, the pause stops. This is done with a simple scan of the keypad, so you are likely holding the key to the point where it fires the LKP and then beyond to the point where it gets to the pause.

I don't remember if I enabled a way to disable the interruptible pause. Most people wanted it to be able to disable long pauses should something wrong happen. To see if this is the issue, change the definitions to two separate keys on the LKP and see if you still have the issue. If not, my bet is that this is what is causing it.
this JP1 stuff is a sickness!
jeajea
Posts: 288
Joined: Wed Feb 24, 2010 5:16 pm
Location: USA

LKP interupt workaround

Post by jeajea »

I am not sure what you mean “change the definitions to two separate keys…".

What I did was create a 0.1 second pause for dev_CBL and dev_DVD. I put these between the TV discrete on and the 9.5 second pause. As soon as the CBL or DVD LED comes on it is safe to release the device key. This makes the LKP much more reliable so it appears that I was holding down the device key long enough to interrupt the pause.

Is there a cleaner way to fix this? The pause is always required if the TV was off so there is never a need to interrupt it. All the other pauses I use are 1 second or less so I never need to interrupt a paus.
Jim Anderson
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

If you want to disable the interruptable pause in this extender, here's how to do it (this is for V1.05, the pause protocol may have moved around a bit in other versions. To find the start point for the Pause protocol look at protocol 1FB in RMIR and see where the JP instruction goes)

The interruptible pause was introduced in V1.01 of the extender.

First, how the pause works:

Code: Select all

0948:        LD        RC2,R03            28 03             ;get number of delays
094A:        LDW       RC0,100ms          C6 C0 3B 0E       ;100ms delay value
094E:        CALL      ScanDelay          F6 41 72          ;delay, scan keypad
0951:        JRNC      $0955              FB 02             ;key pressed, exit
0953:        DJNZ      RC2, $094A         2A F5             ;delay again unless finished
0955:        RET                          AF                ;exit

To fix this we will remove the call to delay and then scan the keypad and replace it with just a call to the delay routine. We'll also NOP out the check for a key press so that we don't get odd results

Code: Select all

094E:        CALL     Delay               F6 01 0D         ;delay
0951:        NOP                          FF
0952:        NOP                          FF

The delay value for 100ms may be off by a couple of clicks since the DelayScan routine is a bit longer than just the pure delay routine, but I wouldn't worry about it.

So to do this, go into the RAW tab in IR/RMIR and change the values at $94E through $952 as above, save and re-upload to your remote. Voila, no more interruptible pause.


Ps. I have not tested this but it is relatively straightforward and should work.
this JP1 stuff is a sickness!
jeajea
Posts: 288
Joined: Wed Feb 24, 2010 5:16 pm
Location: USA

Post by jeajea »

The change works. If you ever update the extender it would be nice if it
were an option in RMIR general other settings.
Jim Anderson
tranx
Posts: 682
Joined: Sun May 13, 2012 4:53 am
Location: Hants, UK

Post by tranx »

Hi jeajea

I have looked at the RMIR image with your post to try to understand toadtogs using the examples they offer.

I have read some references to toadtogs in the manuals for extenders but have been confused about the terminology:

'test only' on Phantom4 seems conditionally to result in a branch to Phantom1, which executes a 9.5secs pause. Therefore it would seem to be 'test only' with regard to setting toadtog2 'on' or 'off', while it can cause the pause to occur if toadtog2 is 'off'. Ok so far?

Are toadtogs variables, and are they set to 'off' until 'forced on', please?

Regards
Chris
jeajea
Posts: 288
Joined: Wed Feb 24, 2010 5:16 pm
Location: USA

Post by jeajea »

Yes toad tog 2 is used to track the on / off state of the TV. If the TV state
is off discrete toad tog discrete on force on toad tog is called to turn on the TV followed by the pause.
If the TV state is on discrete on is called in case the TV isn’t actually on but the long pause is not called.
Discrete on always sends DAY+ to the TV.
DAY+ is the key assigned the TVs discrete ON value.

The initial value of all 8 toad togs should be off but to be sure I run my
master power off (phantom7) with my hand covering the front of the remote after uploading to the remote.

My current working rmir file is here

https://www.hifi-remote.com/forums/dload ... e_id=11657
Jim Anderson
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

The initial value of the ToadTog should be off... all registers are cleared when the remote is powered up.

I had toyed with the idea of being able to set a "startup value" for the ToadTog register in IR/RMIR but never could figure out why anyone would want to do something other than zero so never implemented it. Wouldn't be hard though.
this JP1 stuff is a sickness!
tranx
Posts: 682
Joined: Sun May 13, 2012 4:53 am
Location: Hants, UK

Post by tranx »

Thanks Jim and unclemiltie for your comments, I downloaded the current image and think i will now be able to understand things better
Chris
bobbyt8888
Posts: 26
Joined: Fri Feb 06, 2004 2:14 pm

Post by bobbyt8888 »

jeajea wrote:The change works. If you ever update the extender it would be nice if it
were an option in RMIR general other settings.
Just getting back after many years. I'd like to make this mod too. In the past, I was able to modify the 8811w extender and rebuild it using the assemble in the file section.

Can someone point me to the assembler for the S3F8 processor and the source code for the RCRP05B?

Thanks.

EDIT: I just entered the op codes using the "raw data" tab but the delay doesn't seem to work. Any suggestions?
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

the source code for the JP1.3 extenders is not available

Each build of the extender moves things around a little bit, but you can easily find the address in the upgrade table

if you look in the upgrade section and find the pause protocol you will see the table entry with only a single instruction. This JP (Jump) goes to the "real" code that does the pause. It looks essentially like what is above, although the addresses may change.

$010D is the location of the delay routine in ALL of the Samsung remotes so you can do the patch by taking out the call to the delay/scan keypad routine and zapping the extra bytes with NOPs as indicated.
this JP1 stuff is a sickness!
bobbyt8888
Posts: 26
Joined: Fri Feb 06, 2004 2:14 pm

Post by bobbyt8888 »

Yes, If found the JP instruction and applied the patch as you describe but the delay is not happening.

I've read that the $01FB protocol has an inherent conflict with the base remote and that the PID must be changed to $01F0. Is this correct? If so, how do I change it?
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Bobby you asked me directly for help.

Getting the protocol into

Are you using IR or RMIR?

If you are trying to use RMIR I'd suggest you start by tweaking the RDF.
Find the 01FB protocol in the RDF and change it to 01FB:UEI.

If you are using an extender, you shouldn't need to add the protocol, but you might need to tweak the RDF to work with RMIR.
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.
bobbyt8888
Posts: 26
Joined: Fri Feb 06, 2004 2:14 pm

Post by bobbyt8888 »

Thanks for answering, Vicky. I pinged you directly since you posted the directions for changing the Pause protocol for the RCA RCRP05B.

I'm using RMIR.
I'm using the Common extender v3.02

I started by changing the RDF in two places:
1.) changed the 01FB in the special protocols section to 01FB:UEI
2.) changed the 01FB at the end of the protocol list to 01FB:UEI

Created a macro to use the delay.
Restarted RMIR and loaded the remote.
No delay.
bobbyt8888
Posts: 26
Joined: Fri Feb 06, 2004 2:14 pm

Post by bobbyt8888 »

Bill,

I've been working on 2 problems at once:
-- Getting the Pause spec. protocol to work on the RCRP05B
-- Making Pause not interruptable.

In solving the first by cutting and pasting the code supplied by R2-M0
https://www.hifi-remote.com/forums/viewt ... 1579#p81579
it appears that the 2nd is also solved, the Pause is now not interruptable.

I don't understand all of what happened, which is a little disconcerting.
More detail re problems I had with RMIR to do this in thread:
https://www.hifi-remote.com/forums/viewt ... &&start=15

(Sorry, I don't know how to embed thread URL links.)

Thanks,
Bob
Post Reply