Repeating buttons not working

General JP1 chit-chat. Developing special protocols, decoding IR signals, etc. Also a place to discuss Tips, Tricks, and How-To's.

Moderator: Moderators

Post Reply
SilentBob
Posts: 29
Joined: Sat Feb 12, 2005 3:15 am

Repeating buttons not working

Post by SilentBob »

Here is the problem that I am having....with my remote programmed for my Comcast cable box, when I press a key it will only repeat as long as I keep the remote pointed directly at the box. Additionally, if the remote is not pointed directly at the box when I first press the button, the key press will not register until I release and press the key again.

I am using a 9910 remote, and when I hold down a button, the red light comes on and the remote is constantly transmitting the entire time the button is held down.

But for instance if I am scrolling through the DVR and I press and hold the down button, as long as I keep the remote pointed directly at the cable box, the selection bar will scroll down the screen. If I move the remote away and then point it back at the box while still holding the key it won't start moving again until I release and re-press.

Likewise, if when I first pressed the down arrow I was not aiming directly at the box, it will not register until I press it a second time.

This is an even bigger problem because when using the RF link, it is impossible to get a continuous keypress or scroll down the screen and often, the initial keypress does not register over the RF link, so I must continusously re-press the key until it registers.

Is there any solution to this problem?

Thanks.
jon_armstrong
Expert
Posts: 1238
Joined: Sun Aug 03, 2003 9:14 pm
Location: R.I.P. 3/25/2005
Contact:

Post by jon_armstrong »

Do you have the same problem with the OEM remote that came from Comcast?

What setup code for the cable box are you using on 9910?

My guess is that you are using the GI Cable IR protocol that has the data in the first frame and a repeat frame that is the same for all buttons. If the OEM remote has the same problem then either the box is defective or that's the way it works.

If the OEM remote works correctly, then my first instinct is to change batteries AND take away the RF repeater and see if that works as well as the OEM remote. If it then does, you may be having interference between the direct IR signal from the remote and the IR signal from the RF repeater.

Why don't you try those suggestions to start and report back on what you find.
-Jon
SilentBob
Posts: 29
Joined: Sat Feb 12, 2005 3:15 am

Post by SilentBob »

Thanks Jon,

I'm using setup code 1493 that I downloaded and modified from Motorola - DCT6208-URC8810.txt in the files section.

You are correct, the protocol is GI Cable. The OEM remote works (or should I say is broken) in the same way.

I was hoping that there would be a way to modify the protocol or programming in the 9910 so that it would continuously re-send the original button press while the button was held down instead of doing it the way it does now. Is that possible, even if I had to use an extender?

Thanks.
jon_armstrong
Expert
Posts: 1238
Joined: Sun Aug 03, 2003 9:14 pm
Location: R.I.P. 3/25/2005
Contact:

Post by jon_armstrong »

Here is the GI Cable protocol that repeats the data in every frame. I'm not sure that will solve your problem, but you can give it a shot. Add this protocol upgrade in IR:

Upgrade Protocol 0 = 01 C4 (S3C8+) GI Cable (KM v8.31)
43 8B 01 8B 12 CC 45 00 08 00 FA 08 B6 00 FA 04
51 C3 3C 11 94 08 B6 20 11 08 03 F6 FF 36 08 04
F0 C0 56 C0 F0 04 04 C0 60 C0 56 C0 F0 06 C0 10
F6 FF 36 8D 01 46 1C 08 C0 C0 10 04 1A FA AF
End


Change the protocol in your device upgrade to 01 C4. In IR edit the device upgrade and check the tick box for protocol > FF

Don't forget to save your configutration first before making these changes.
-Jon
SilentBob
Posts: 29
Joined: Sat Feb 12, 2005 3:15 am

Post by SilentBob »

Jon, You ROCK! That fixes the problem, there is only one small issue, but I can live with it if there is no fix....is there any way to control the repeat speed or something like that? I now have to be careful to press the button very briefly to avoid a "double-press" if there is no way to adjust that, then I will work on my remote dexterity, but if that can be tweaked as well then I would be curious to try.

Regardless, this is much better than before....previously when I was controlling the DVR from the other room I had to press a button several times to get it to register.

Thanks for all your help.
The Robman
Site Owner
Posts: 21941
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Jon, you could try increasing the lead-out time to see if that fixes Bob's issue.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
SilentBob
Posts: 29
Joined: Sat Feb 12, 2005 3:15 am

Post by SilentBob »

Robman,

From your post I assume that the custom protocols are custom written by people here on the board....where would I go to learn how to do that kind of thing myself?

Thanks.
jon_armstrong
Expert
Posts: 1238
Joined: Sun Aug 03, 2003 9:14 pm
Location: R.I.P. 3/25/2005
Contact:

Post by jon_armstrong »

Try this:

Upgrade Protocol 0 = 01 C4 (S3C8+) GI Cable (KM v8.31)
43 8B 01 8B 12 8C 45 00 08 00 FA 08 B6 00 FA 04
51 FF FF 11 94 08 B6 20 11 08 03 F6 FF 36 08 04
F0 C0 56 C0 F0 04 04 C0 60 C0 56 C0 F0 06 C0 10
F6 FF 36 8D 01 46 1C 08 C0 C0 10 04 1A FA AF
End
-Jon
jon_armstrong
Expert
Posts: 1238
Joined: Sun Aug 03, 2003 9:14 pm
Location: R.I.P. 3/25/2005
Contact:

Post by jon_armstrong »

What you can do is download protocol builder and it has a very cool feature that allows you to disassemble the protocols. In many cases it will populate the entry cells and you can change those to see what varies and modify the protocol. In this case I changed three bytes. The first was to change one of the control bits that set the gap between frames from a constant frame length and then set the gap to a maximum of FF FF that is ~131 mSec (65,535 *2). So if that's too slow, it's in multiples of 2 uSec. I highlighted the changes with bold typeface:

Upgrade Protocol 0 = 01 C4 (S3C8+) GI Cable (KM v8.31)
43 8B 01 8B 12 8C 45 00 08 00 FA 08 B6 00 FA 04
51 FF FF 11 94 08 B6 20 11 08 03 F6 FF 36 08 04
F0 C0 56 C0 F0 04 04 C0 60 C0 56 C0 F0 06 C0 10
F6 FF 36 8D 01 46 1C 08 C0 C0 10 04 1A FA AF
End
-Jon
The Robman
Site Owner
Posts: 21941
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Just FYI, here's how I suspect that most devices treat a repeating signal. They use the first repetition of the signal to tell them what to do, then they deliberately ignore the next couple of repetitions, this is to give you the chance to release the button if you only intended to send a single repetition, then if the signal is still being sent after that, the device starts repeating (ie, continues to move the cursor, or continues to lower the volume, etc).

This signal is similar to the common NEC1 signal in that it sends the data portion just once, then it sends an otherwise meaningless bit stream to indicate that the button is being held down. The device is programmed to ignore the first couple of repetitons of this bit stream (for the reasons described above) then if it continues, the device will start repeating.

What Jon did was convert your signal to be more like the NEC2 signal where the data portion gets repeated all the time. Keep in mind that your device wasn't programmed to expect the data portion to repeat, so it treats every repetition as a new press of the button, which in turn means that it won't deliberately ignore the 2nd and 3rd repetition, hence the quick repeat syndrome that you described.

My suggestion to Jon was to increase the leadout time, which wouldput a longer delay between the 1st send of the signal and the subsequent sends, but it occurs to me that this might also cause the signal to repeat alot slower than it used to, which might not be acceptable to you.

A better solution might be to program the executor to send the data stream once, then wait for a bit, then send it repeatedly.

Jon, here's how you could do what I just described.

1) First, program the signal to be non-repeating.
2) Then, use a CALL to $0146 to send the first portion.
3) Then, program a "wait" like this...

LDW RF8,#6A00
CALL $0158

Registers RF8/RF9 hold the wait time, which in the example above is $6A00, but I forget how that translates into uS. The routine at $0158 will cause the remote to wait for the amount of time specified in RF8/9.

4) Convert the signal to repeating using "OR R29,#01" (which will flip the bit that controls repeats)

5) Jump to the IR engine using "JP $0146"
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
SilentBob
Posts: 29
Joined: Sat Feb 12, 2005 3:15 am

Post by SilentBob »

Thanks guys...I haven't had a chance yet to try the modified protocol or the other suggestions...I've been working on other projects. However, I am really interested by what I am reading. When I have some more time I'm going to sit down and play with this some more.

Thanks for getting me started. I'll be sure to let you know if I have additional questions.
Post Reply