AKA VRC-1100. These are still commonly used to control Kodi and I'd like to support them in my IR library. Sadly there is a dearth of information on their binary-level interface. The following is what I've gleaned so far by a mixture of Googling and experiment.
Data consists of a header followed by 16 bits of Manchester encoded data. Decoding the data is easy. The fun starts trying to interpret it I don't know how the 16 bits of data are partitioned, bit polarity or bit ordering.
A flyer at partitioning suggests a 4 bit address field and 6 bits of data. A message occurs when a key is pressed, followed by repeat messages if the key is held down with a final one on key release. The three message types are distinguished by a 2-bit field with consistent behaviour. On some keys a second 4-bit field also changes. I'm stumped by the purpose of these four bits.
I'd greatly appreciate pointers to good information.
Microsoft MCE remote control: any experts around?
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Microsoft MCE remote control: any experts around?
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Microsoft MCE remote control: any experts around?
Thanks for that, Dave, I hadn't found that one.
Alas it's added to my puzzlement. The "MCE" remote he studied differs from mine. In one key feature mine conforms with the web references I located.
The encoding he describes is a variable-duration one, whereas my VRC-1100 is fixed duration with Manchester encoding. His header pulse is also different: I see 2.0/1.0ms mark space, he sees 2.7/1.35ms. He makes no mention of a feature I have both measured and seen discussed on the web: three types of message are sent by each key. One on press, multiple repeats if a key is held down, followed by a final message on release. These are distinguished at a binary level. Sending a release message seems unique to this remote and is used for PC keyboard emulation.
Alas it's added to my puzzlement. The "MCE" remote he studied differs from mine. In one key feature mine conforms with the web references I located.
The encoding he describes is a variable-duration one, whereas my VRC-1100 is fixed duration with Manchester encoding. His header pulse is also different: I see 2.0/1.0ms mark space, he sees 2.7/1.35ms. He makes no mention of a feature I have both measured and seen discussed on the web: three types of message are sent by each key. One on press, multiple repeats if a key is held down, followed by a final message on release. These are distinguished at a binary level. Sending a release message seems unique to this remote and is used for PC keyboard emulation.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Microsoft MCE remote control: any experts around?
I found some others:
http://www.hifi-remote.com/johnsfine/DecodeIR.html#MCE - quite short, but this sounds similar to the link I sent earlier.
I noticed someplace that the bit patterns might be reveresd. So if you bit-flipped your bytes, then would the high bit be changing? Apparently the high bit toggles on each unique press.'
This linux kernel seems to have drivers for the MCE protocol:
https://www.kernel.org/doc/html/latest/ ... -mcir2-kbd
and I think that WinLIRC does as well.
I also found: https://hackaday.com/2008/10/30/how-to- ... -receiver/ which mentions Manchester encoding, and I thought I also read that Hauppage was compatible with MCE.
http://www.hifi-remote.com/johnsfine/DecodeIR.html#MCE - quite short, but this sounds similar to the link I sent earlier.
I noticed someplace that the bit patterns might be reveresd. So if you bit-flipped your bytes, then would the high bit be changing? Apparently the high bit toggles on each unique press.'
This linux kernel seems to have drivers for the MCE protocol:
https://www.kernel.org/doc/html/latest/ ... -mcir2-kbd
and I think that WinLIRC does as well.
I also found: https://hackaday.com/2008/10/30/how-to- ... -receiver/ which mentions Manchester encoding, and I thought I also read that Hauppage was compatible with MCE.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Microsoft MCE remote control: any experts around?
Thanks Dave - very helpful indeed. It turns out the protocol is OrtekMCE.
I'm pretty sure I've figured out the details, even though
is Greek to me. Now to do the transmitter - but that's the easy part.
I'm pretty sure I've figured out the details, even though
Code: Select all
{38.6k,480}<1,-1|-1,1>([P=0][P=1][P=2],4,-1,D:5,P:2,F:6,C:4,-48m)+{C=3+#D+#P+#F}
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.