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

Unable to lean remote codes
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Beginners
View previous topic :: View next topic  
Author Message
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Sat Feb 13, 2016 2:00 pm    Post subject: Unable to lean remote codes Reply with quote

Hi,

I'm having trouble learning codes from a remote, and came to this forum through the IRScrutinizer documentation.

I must confess that I don't know yet what is a JP1 remote, but I'm hoping to get some help from the very knowledgeable members of this forum.

I have been using an old Goldmund SR8 audio processor, and using with an Universal Remote MX-850 that has no trouble learning the codes form its remote.

I have been testing their new 16.5 processor. It seems at first glance that both processors uses the same RC5 codes, but that's not exactly true.

The SR8 remote works with the SR8, but not with the 16.5. The 16.5 remote works with both.

When I learn the 16.5 codes with the MX-850, the MX-850 behaves like the SR8 remote: it only works with the SR8.

Goldmund has provided the RC5 codes for the 16.5.

For example, the "switch to input 1" NUM1 code (that Goldmund say is 0x0601) is:

Code:
5000 0000 0000 0001 0018 0001


IRScrutinizer has translated that into:

Code:
0000 0073 0000 000C 0020 0020 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0CA8


If I use the MX-850 hex editor to program the remote, I get the same result as when I learn it for the 16.5 remote directly: it works only with the SR8.

I made some tests with an Arduino microcontoler, using a Vishay TSOP31138 IR receiver module and the IRLib Arduino IR library.

For the SR8, the DumpResults() method gives:

Code:
Decoded RC5(3): Value:1601 (13 bits)
Raw samples(24): Gap:16146
Head: m750  s950
0:m1550 s1750    1:m750 s900         2:m1600 s900    3:m750 s950
4:m750 s900    5:m750 s900         6:m750 s900    7:m750 s950
8:m750 s900    9:m750 s1750         10:m750
 
 
Extent=22400
Mark  min:750     max:1600
Space min:900     max:1750


the 1601 value is in sync with the Goldmund 0x601 provided code.

For the 16.5, the DumpResults() method gives:

Code:
Decoded RC5(3): Value:1601 (13 bits)
Raw samples(24): Gap:3732
Head: m800  s950
0:m1700 s1850    1:m800 s950         2:m1700 s950    3:m800 s950
4:m800 s1000    5:m800 s950         6:m800 s950    7:m800 s1000
8:m750 s1000    9:m800 s1850         10:m800
Extent=23750
Mark  min:750     max:1700
Space min:950     max:1850


which looks pretty close, with the same code.

If I use an IR emitter LED with the Arduino with something like:

Code:
for(int i = 0; i<1; i++)
  Sender.send(RC5, 0x1601, 13);


that works with the SR8, but not with the 16.5.

I also scoped the output of the Vishay receiver module, and got for the SR8:





and for the 16.5:


[


It's hard to say, but it seems that the difference is just one more bit duration in the low level pulse #5.

So, does anybody know how from all this what could be the difference between the SR8 and 16.5 codes? Is there a simple rule allowing to go from one to another that would allow to build a valid string with IRScrutinizer?

Or is there a device that I could buy, or better build (it's fun!) to read the correct 16.5 codes?
_________________
Robert
Back to top
View user's profile Send private message
3FG
Expert


Joined: 19 May 2009
Posts: 3365

                    
PostPosted: Sat Feb 13, 2016 4:22 pm    Post subject: Reply with quote

Well, the Arduino measurements and the scope traces suggest that the 16.5 has a longer total duration. I'd try changing the the second group in the Pronto Hex from 0073 to a large number, perhaps even up to 007A. That will change modulation frequency to somewhat less than 36KHz, and lengthen the durations.
Back to top
View user's profile Send private message
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Sat Feb 13, 2016 5:10 pm    Post subject: Reply with quote

Thanks, that's the kind of info I'm looking for, but it did not work.

I went step by step, 73, 74, etc..

As soon as I hit 78, it stops working for the SR8, and never worked before for the 16.5
_________________
Robert
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sat Feb 13, 2016 5:59 pm    Post subject: Reply with quote

RC5 has a toggle bit, which sometimes renders learned signals useless. The fact that the original remote works on both devices and the universal remote only works on one, suggests that one device requires the toggle bit to be set correctly and the other doesn't.

Does the universal remote sometimes work and sometimes not, depending on the button pressed?
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Sat Feb 13, 2016 6:19 pm    Post subject: Reply with quote

The Robman wrote:
RC5 has a toggle bit, which sometimes renders learned signals useless. The fact that the original remote works on both devices and the universal remote only works on one, suggests that one device requires the toggle bit to be set correctly and the other doesn't.

Does the universal remote sometimes work and sometimes not, depending on the button pressed?


No, it just never works.

However, you're onto something. The 16.5 remote indeed toggles bit 0x800 at each key press.

I tested with the Arduino sending:

Code:

Sender.send(RC5, 0x1601, 13);
Sender.send(RC5, 0x1601, 13);
Sender.send(RC5, 0x1601, 13);


that gives nothing.

Using:

Code:
Sender.send(RC5, 0x800 | 0x1601, 13);
Sender.send(RC5, 0x800 | 0x1601, 13);
Sender.send(RC5, 0x800 | 0x1601, 13);


does not work either.

But using both at the same time:

Code:

Sender.send(RC5, 0x1601, 13);
Sender.send(RC5, 0x1601, 13);
Sender.send(RC5, 0x1601, 13);
Sender.send(RC5, 0x800 | 0x1601, 13);
Sender.send(RC5, 0x800 | 0x1601, 13);
Sender.send(RC5, 0x800 | 0x1601, 13);


makes the 16.5 react. But it's erratic: using commands such as "Balance Right one step" can make 0 to 2 steps, and not always to the right.

That should not happen, and the Arduino shows that when the 16.5 remote sends only one of these 2 commands, the 16.5 reacts one step at the time.

Also, if I hit 3 times the button on the 16.5 remote, masking its output the second time, it make the 16.5 get twice the same untoggled code, and it still works nicely.
_________________
Robert
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sat Feb 13, 2016 8:51 pm    Post subject: Reply with quote

The idea behind the toggle bit is that each time you press a button on the remote, the toggle bit has a different value. So if you were to hold a button down and capture it, all repetitions would have the toggle bit set one way, then if you were to repeat the process, the second learns would show the toggle set the other way. If you were to change the toggle mid-send, the device would assume that you have pressed the button for a 2nd time.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sun Feb 14, 2016 4:13 am    Post subject: Reply with quote

Hmm, this is strange. The signals really looks *almost* identical, still the new device are rejecting the "old" signals.

I would suggest analyzing the signals with slighty higher precision that the MX-850. That includes repeat patterns and toggle bit. What happens when you press a button very shortly, vs. what happens when you hold it down? Does it really toggle? ("Real" RC5 does.)

Quote:
Or is there a device that I could buy, or better build (it's fun!) to read the correct 16.5 codes?

For this, I would recommend my little project, and using it with IrScrutinizer. (In particular since you are using both Arduino and IrScrutinizer aready.) Be sure to get both the non-demodulating sensor and sending IR diode(s).
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Sun Feb 14, 2016 4:47 am    Post subject: Reply with quote

Barf wrote:
Hmm, this is strange. The signals really looks *almost* identical, still the new device are rejecting the "old" signals.

I would suggest analyzing the signals with slighty higher precision that the MX-850. That includes repeat patterns and toggle bit. What happens when you press a button very shortly, vs. what happens when you hold it down? Does it really toggle? ("Real" RC5 does.)


Yes, it toggles when repeating, and does not toggle when holding down.

Quote:

For this, I would recommend my little project, and using it with IrScrutinizer. (In particular since you are using both Arduino and IrScrutinizer aready.) Be sure to get both the non-demodulating sensor and sending IR diode(s).


I have been doing some research since posting here, and ordered an USB Infrared Toy V2 to use with IrScrutinizer.

But your project is indeed very nice, I'll try it if the Toy does not work. Or maybe just for fun!

Thanks.
_________________
Robert
Back to top
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sun Feb 14, 2016 2:06 pm    Post subject: Reply with quote

Bob8K wrote:
and ordered an USB Infrared Toy V2 to use with IrScrutinizer.

Good luck. You need to update the firmware to 2.2 (but not 2.3, it is broken) for sending, for receiving an older version will do (IIRC).

Bengt
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Sun Feb 14, 2016 4:10 pm    Post subject: Reply with quote

Thanks for tip.

I'll report back my findings.
_________________
Robert
Back to top
View user's profile Send private message
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Tue Feb 16, 2016 11:54 am    Post subject: Reply with quote

Bengt,

I got my USB Toy, and I'm making progress, but getting weird results.

Goldmund gives for example the 5000 0000 0000 0001 0018 0001 short code for Entry 1 (E1).

If use IRscrutinizer to convert to the full code, and enters it into the MX-850 remote, it works only with the old device.

If I blast it using IRscrutinizer+ USB Toy, it works with both.

If I capture E1 using the new device remote and the USB Toy, I get a different string every time. However, it always translate to 5000 0073 0000 0001 0018 0001, so it makes some senses.

If I convert 5000 0073 0000 0001 0018 0001 to the full code, same as above: old device with the MX-850, both with USB Toy.

If I try to upload to the MX-850 the captured raw data, most of the time only the old device work. However, after making maybe 20 tries, I finally got a string that works with the MX-850 and both devices. It stills translates to 5000 0073 0000 0001 0018 0001.

It's a tedious process, and after finding codes for 3 keys that way, I'm stuck with one key that still does not work after making at least 40 captures.

Any idea what's happening here and how I could avoid having to do so many captures for each key?

Also, I got the Volume UP for example, but the MX-850 does not repeat it when keeping the volume up key down. I realize that this is the wrong forum, and will probably will have to find the correct one, but maybe one of the experts here knows how to toggle the repeat bit (if there is one) when using the MX-850 hex editor?

Edit: I just realized that you already helped me once in the remotecentral forum, informing me about IRscrutinizer when I knew just nothing about IR protocols...
_________________
Robert
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Tue Feb 16, 2016 1:49 pm    Post subject: Reply with quote

Bob8K wrote:
For example, the "switch to input 1" NUM1 code (that Goldmund say is 0x0601) is:

Code:
5000 0000 0000 0001 0018 0001


IRScrutinizer has translated that into:

Code:
0000 0073 0000 000C 0020 0020 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0CA8

Does the MX-850 only accept the long form Pronto hex? The short form is the only properly way to load an RC-5 code into a Pronto, as that's the only way to get the toggle bit to work. When you convert it to the long form, you hard code the toggle into one position.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Bob8K



Joined: 13 Feb 2016
Posts: 28

                    
PostPosted: Tue Feb 16, 2016 1:59 pm    Post subject: Reply with quote

The Robman wrote:
Does the MX-850 only accept the long form Pronto hex? The short form is the only properly way to load an RC-5 code into a Pronto, as that's the only way to get the toggle bit to work. When you convert it to the long form, you hard code the toggle into one position.


As far as I know, yes. The MX-850 hex editor does not work with the short form.

But it's not the toggle bit (to show that the user pressed twice the same key) that is the problem so far, it's the repeat feature when you keep a key pressed.

With these codes, the MX-850 sends one signal, and then stops.
_________________
Robert
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Tue Feb 16, 2016 2:05 pm    Post subject: Reply with quote

Do the codes that you are using have 0000 in the 3rd word and 000C (or some other non-zero value) in the 4th? Like this...
Quote:
0000 0073 0000 000C 0020 0020 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0CA8


The 3rd word controls what gets sent once and the 4th controls the repeating portion (ie, what gets sent while the button is held).
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Tue Feb 16, 2016 2:23 pm    Post subject: Reply with quote

Bob8K wrote:

If I blast it using IRscrutinizer+ USB Toy, it works with both.

That is great news! I would suggest the following experiment to finally settle the toggle question: Got to the "Generate" pane, select protocol RC5, D=24, F=1 (this is exactly the same as 5000...). Then select T=0, and send the signal several times (waiting a second or so between), using the Toy, Select T=1 and repeat the experiment.

Quote:

If I capture E1 using the new device remote and the USB Toy, I get a different string every time.

Is this possibly the toggle, i.e.
0000 0073 0000 000C 0020 0020 0040 0040 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0CA8 every second time and
0000 0073 0000 000D 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0040 0020 0CA8
the other times?

Asking about the MX-850 here is like asking a Windows question in a Linux forum. Wink Remotecentral knows better. But one thing that you may try is to capture the MX-850 should-be RC5/24/1 signal as raw, and compare with the one generated by IrScrutinizer. Use output format raw, not pronto hex, for this. Post it here if you need help.
Back to top
View user's profile Send private message Send e-mail 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, 3, 4  Next
Page 1 of 4

 
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
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control