Unfortunately I don’t own a PICkit2, I’ve tried tracing the signal with my analog oscilloscope, but I was not able to detect variations between some of the keys being pressed. I did hear that the XMP protocol does not use a header region so the carrier frequency may be more important, although I cannot confirm this yet. I’ll keep looking into it and maybe later I’ll try and record a few of the signals with my scope. Should at least get me started.
Well this is the initial results I came up with. I used a reversed biased diode as a receiver and filmed the patterns on my scope.
0
Device Code: 62.16 Function: 0
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 006A 0008 001D 0008 001D 0008 001D 0008 001D 0008 001D 0008 001D 0008 0BF2
1
Device Code: 62.16 Function: 1
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0065 0008 001D 0008 001D 0008 001D 0008 0022 0008 001D 0008 001D 0008 0BF2
2
Device Code: 62.16 Function: 2
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0060 0008 001D 0008 001D 0008 001D 0008 0027 0008 001D 0008 001D 0008 0BF2
3
Device Code: 62.16 Function: 3
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 005B 0008 001D 0008 001D 0008 001D 0008 002C 0008 001D 0008 001D 0008 0BF2
4
Device Code: 62.16 Function: 4
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0056 0008 001D 0008 001D 0008 001D 0008 0032 0008 001D 0008 001D 0008 0BF2
5
Device Code: 62.16 Function: 5
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0051 0008 001D 0008 001D 0008 001D 0008 0037 0008 001D 0008 001D 0008 0BF2
6
Device Code: 62.16 Function: 6
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 004B 0008 001D 0008 001D 0008 001D 0008 003C 0008 001D 0008 001D 0008 0BF2
7
Device Code: 62.16 Function: 7
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0046 0008 001D 0008 001D 0008 001D 0008 0041 0008 001D 0008 001D 0008 0BF2
8
Device Code: 62.16 Function: 8
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 0041 0008 001D 0008 001D 0008 001D 0008 0046 0008 001D 0008 001D 0008 0BF2
9
Device Code: 62.16 Function: 9
0000 006D 0000 0012 0008 0022 0008 0041 0008 001D 0008 006A 0008 0032 0008 0032 0008 002C 0008 0065 0008 020D 0008 0022 0008 003C 0008 001D 0008 001D 0008 001D 0008 004B 0008 001D 0008 001D 0008 0BF2
I've done what you are describing with an older remote control for my tv and it worked fine. With the previous remote, the timing for a low or a high were the same, it was just a matter of reading the sequence. With this protocol, it looks like minute changes in the timing between the pulses may be resulting in a different signal being sent. So a 1 or a mark isn't necessarily 60ms and a 0 or a gap isn't necessarily 120ms indicating consistent times for each state. from the picture, several of the signals look the same, but on the scope i can see small differences in the gaps between the pulses.
I've done what you are describing with an older remote control for my tv and it worked fine. With the previous remote, the timing for a low or a high were the same, it was just a matter of reading the sequence. With this protocol, it looks like minute changes in the timing between the pulses may be resulting in a different signal being sent. So a 1 or a mark isn't necessarily 60ms and a 0 or a gap isn't necessarily 120ms indicating consistent times for each state. from the picture, several of the signals look the same, but on the scope i can see small differences in the gaps between the pulses.
The variation i'm talking about was observed between the last nine pulses, the gap in between the first nine and the last nine is most likely caused by my pasting of images together. I know its probably not overly useful, but i'll try to get a picture of the last nine pulses using a faster sampling rate to see if there is a consistent change in the width. I was using a reversed biased infrared diode to detect the pulses, not the best solution, but its all I had available at the time. We just moved so i haven't found all of my supplies yet.Yes i see what you mean now. There is a small change in the initial width of whatever that longer 'pulse' is before the second half of the pattern though, so that may have something to do with it, but i dont see why that initial width is lower amplitude. What are you using to detect these pulses?
Hello again,
Nigel, i've never seen a pattern i couldnt detect with the scope. Could this be something special?
From what i can see in his pic's, it looks like those 'pulses' are actually bursts right? That's what i saw with my remotes (see pic attached previously)
I just thought of another possible answer for the codes that look the same...
They may send out a different code temporarily for each key, like (simple examples here) 0000 for the zero key, but then follow it with the 'repeat' data which may be different for several keys but not all.
For simple example key codes for key 0 and key 1:
0000 1010 1010 1010 1010 1010 1010 1010 1010 (note 0000 only once followed by the repeat code for 0000)
0001 1010 1010 1010 1010 1010 1010 1010 1010 (note 0001 only once followed by the same repeat code which is shared between 0000 and 0001).
and for keys 2 and 3:
0010 1011 1011 1011 1011 1011 1011 1011 1011 (note 0010 only once)
0011 1011 1011 1011 1011 1011 1011 1011 1011 (note 0011 only once)
Note the actual key code is sent out only once, followed by a 'repeat' code that is shared between some keys. That would make a scope sweep seem to show only the second part (the repeat code) and it would look like two keys have the same code when really it is just a slightly more complex way of sending the data. The device wants to be able to distinguish between single key presses and repeat presses of the same key.
To catch this on the scope you'd have to watch carefully for the first set of pulses, and it may be difficult to catch but with the intensity up it may work. Of course i cant guarantee this is the way they really do it, but it's a possibility.
If not, you'll have to build something as Nigel suggested.
Using an IR detector module might help too as Nigel said. I didnt have any problem detecting bursts though with my remotes though.
Of course there is still the possibility that they use a phase locked loop method, which can detect small changes. I dont see why they would want to get too accurate though, as modern detector modules probably already do that.
Well so far, everything i've read about this protocol implies its pretty picky, most learning remotes have a very hard time with it. It is possible that they use repeats in the sequence, although I've heard that the codes i posted previously are the non-repeat version and it still works. Someone was talking about TOADS which i guess are like toggle bits, but again, based on the sequences i posted this may not be the case, unless one of those hex characters is interpreted as a toggle bit by the remotes software. I was hoping to avoid building any new hardware for this but i suppose thats my next step. I may set up a sound card o-scope and hook an ir-receiver module to it and see what i can pull out. I did take one more picture, this one uses a slightly higher sampling rate and compares the last 9 pulses of buttons three and four. I don't know if this slight shift is significant, but it seems to be consistent.
**broken link removed**
might get lucky if the carrier frequencies match.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?