Open tom4242 opened 9 years ago
Can you please upload the raw example and press the same button several times? Press and release fast and also post some button holding output. I need to see what protocol the remote sends and how it behaves in general. It would be nice if you can describe the behavior.
For example NEC remotes sends a signal once and then sends a fixed "holding" signal. Other remotes repeat the code several times over and over.
Please post your code via pastebin.com or via a gist. I will try to implement it as soon as possible. Also try different buttons, but please mark that, so i can analyze it better. And make sure you point directly at the receiver to get the best signals.
Edit: Also try the normal interrupt sketch and check if this is working better for you. (the raw example relys on the normal interrupt anyways, so you have to change the pins for this debugging anyways).
Dear Nico,
the MCE keyboard is using to RC6 protocol. I found the documentation here: http://www.pcbheaven.com/userpages/The_Philips_RC6_Protocol/ http://www.sbprojects.com/knowledge/ir/rc6.php
I'm still trying to get into your sourcecode. But i is a little hard because if have not done decoding IR's before.
Here are some original codes:
static struct rc_map_table rc6_mce[] = { 19 20 { 0x800f0400, KEY_NUMERIC_0 }, 21 { 0x800f0401, KEY_NUMERIC_1 }, 22 { 0x800f0402, KEY_NUMERIC_2 }, 23 { 0x800f0403, KEY_NUMERIC_3 }, 24 { 0x800f0404, KEY_NUMERIC_4 }, 25 { 0x800f0405, KEY_NUMERIC_5 }, 26 { 0x800f0406, KEY_NUMERIC_6 }, 27 { 0x800f0407, KEY_NUMERIC_7 }, 28 { 0x800f0408, KEY_NUMERIC_8 }, 29 { 0x800f0409, KEY_NUMERIC_9 }, 30 31 { 0x800f040a, KEY_DELETE }, 32 { 0x800f040b, KEY_ENTER }, 33 { 0x800f040c, KEYSLEEP }, /* Formerly PC Power / 34 { 0x800f040d, KEYMEDIA }, / Windows MCE button _/ 35 { 0x800f040e, KEY_MUTE }, 36 { 0x800f040f, KEY_INFO }, 37 38 { 0x800f0410, KEY_VOLUMEUP }, 39 { 0x800f0411, KEY_VOLUMEDOWN }, 40 { 0x800f0412, KEY_CHANNELUP }, 41 { 0x800f0413, KEY_CHANNELDOWN }, 42 43 { 0x800f0414, KEY_FASTFORWARD }, 44 { 0x800f0415, KEY_REWIND }, 45 { 0x800f0416, KEY_PLAY }, 46 { 0x800f0417, KEY_RECORD }, 47 { 0x800f0418, KEY_PAUSE }, 48 { 0x800f0419, KEY_STOP }, 49 { 0x800f041a, KEY_NEXT }, 50 { 0x800f041b, KEY_PREVIOUS }, 51 { 0x800f041c, KEY_NUMERIC_POUND }, 52 { 0x800f041d, KEY_NUMERIC_STAR }, 53 54 { 0x800f041e, KEY_UP }, 55 { 0x800f041f, KEY_DOWN }, 56 { 0x800f0420, KEY_LEFT }, 57 { 0x800f0421, KEY_RIGHT }, 58 59 { 0x800f0422, KEY_OK }, 60 { 0x800f0423, KEY_EXIT }, 61 { 0x800f0424, KEY_DVD }, 62 { 0x800f0425, KEYTUNER }, / LiveTV _/ 63 { 0x800f0426, KEYEPG }, / Guide _/ 64 { 0x800f0427, KEYZOOM }, / Aspect _/ 65 66 { 0x800f0432, KEYMODE }, / Visualization _/ 67 { 0x800f0433, KEYPRESENTATION }, / Slide Show _/ 68 { 0x800f0434, KEY_EJECTCD }, 69 { 0x800f043a, KEY_BRIGHTNESSUP }, 70 71 { 0x800f0446, KEY_TV }, 72 { 0x800f0447, KEYAUDIO }, / My Music _/ 73 { 0x800f0448, KEYPVR }, / RecordedTV _/ 74 { 0x800f0449, KEY_CAMERA }, 75 { 0x800f044a, KEY_VIDEO }, 76 { 0x800f044c, KEY_LANGUAGE }, 77 { 0x800f044d, KEY_TITLE }, 78 { 0x800f044e, KEYPRINT }, / Print - HP OEM version of remote _/ 79 80 { 0x800f0450, KEY_RADIO }, 81 82 { 0x800f045a, KEYSUBTITLE }, / Caption/Teletext _/ 83 { 0x800f045b, KEY_RED }, 84 { 0x800f045c, KEY_GREEN }, 85 { 0x800f045d, KEY_YELLOW }, 86 { 0x800f045e, KEY_BLUE }, 87 88 { 0x800f0465, KEYPOWER2 }, / TV Power _/ 89 { 0x800f046e, KEY_PLAYPAUSE }, 90 { 0x800f046f, KEYPLAYER }, / Start media application (NEW) */ 91 92 { 0x800f0480, KEY_BRIGHTNESSDOWN }, 93 { 0x800f0481, KEY_PLAYPAUSE }, 94 };
I will send you some logged entries from Arduino (Ken Shirriff library) from my remote if you need this.
Key "1": Unknown encoding: E861F6E9 (32 bits) Raw (70): -15826 2850 -250 350 -250 650 -550 350 -250 350 -250 350 -250 350 -300 350 -250 350 -250 350 -250 650 -550 350 -300 350 -250 350 -250 350 -250 350 -250 350 -300 300 -300 350 -250 350 -250 350 -250 350 -250 600 -300 400 -250 350 -250 350 -500 400 -250 350 -250 350 -250 350 -250 400 -250 350 -250 350 -250 350 -250 350 19250059 Key "2": Unknown encoding: 19250059 (32 bits) Raw (70): -26236 2850 -250 300 -250 700 -500 400 -250 350 -250 350 -250 350 -250 350 -250 700 -250 350 -250 350 -250 350 -500 400 -250 350 -250 350 -250 400 -250 350 -250 350 -250 350 -250 350 -250 350 -250 350 -250 650 -300 350 -250 350 -250 350 -250 350 -550 350 -300 350 -250 350 -250 350 -250 350 -250 350 -300 350 -250 350 7D32E723 Key "3": Unknown encoding: 7D32E723 (32 bits) Raw (68): 28590 2850 -250 300 -250 650 -550 400 -250 350 -250 350 -250 350 -250 650 -550 400 -250 650 -250 350 -500 400 -250 400 -250 350 -250 350 -250 350 -250 350 -250 350 -250 350 -250 350 -250 650 -550 400 -250 350 -250 350 -250 350 -250 350 -250 350 -300 300 -300 350 -250 350 -250 350 -250 350 -250 350 -300 300
These are the values it get from Shirriff. Even his library could not decode this completely. The above values are only hash values. I unfortunately do not have the possibilety to send you the real raw values :-(
But "Channel UP" is working; maybe a Logitech Problem, maybe because of the responces time (2700<->2850). But i still need the rc6 implementation ;-)
Decoded RC6: 800F0412 (36 bits) Raw (66): 28094 2700 -850 500 -350 500 -400 500 -800 500 -800 1400 -800 500 -350 550 -350 500 -400 500 -350 500 -350 550 -400 500 -350 500 -350 550 -350 550 -350 950 -350 500 -350 500 -400 500 -800 550 -350 550 -350 500 -350 500 -350 950 -850 500 -350 550 -350 550 -350 500 -350 950 -850 500 -350 950 -800 550
definition for IRLremote.h should look like this: //RC6 //IRP notation: {36k,444,msb}<-1,1|1,-1>(6,-2,1:1,0:3,<-2,2|2,-2>(T:1),D:8,F:8,^107m)+
So this is a working solution or from what you guessed? Thx for that much information, i will look through it soon.
You might try the hash "protocol" in the dev2 branch now. I have no remote to test RC6 yet.
Hi, i want to use your very nice hoodloader on UNO to act as a remote control for XMBC. I set up my Harmony to act as a MCE keyboard and used the PCINT sketch. But i do not receive good values. All i get - does not matter which key i pressed on the remote - is:
Protocol:6 Address:0 Command:0
Is this because the protocol is not supported by IRLRemote right now?