Your Universal Remote Control Center
RemoteCentral.com
Harmony Remote Controls Forum - View Post
Previous section Next section Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Topic:
[solved]How to convert Hardkernel Odroid Codes into HEX (Pronto) or Harmony?
This thread has 10 replies. Displaying all posts.
Post 1 made on Thursday August 11, 2016 at 12:29
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
Hi there,

I know how to learn the Harmony the HEX codes of Pronto via LearnIr.EZTut method.

And I do have some kind of NEC? Codes for the remote I'd like to simulate with my Harmony.

The commands are as follows:

​But I absolutely do not have any clue how to convert those codes into Pronto HEX codes. I know how to do this with RC5 and RC6 codes, but those codes provided in the picture above do not have the typical NEC format either.

So is there somebody who could help me to convert those codes or to show me another way to do so?

I own a Harmony 900 Remote.

Thank you very much in advance

Last edited by infinity85 on August 15, 2016 05:19.
Post 2 made on Friday August 12, 2016 at 02:07
Barf
Long Time Member
Joined:
Posts:
August 2013
365
We know of the NEC1 protocol, taking the three 8-bit parameters device, subdevice, and function, interpreted in least significant bit first bit-order. Likely (guessing), the author uses the most significant bit first bit order. Assuming that, e.g. the power signal is device=178, function = 59. Subdevice is default 255-device, thus can be left out. IrScutinizer can be used to compute the Pronto hex, leading up to the signals:

Power
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 05F7 015B 0057 0016 0E6C

Mute
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 05F7 015B 0057 0016 0E6C

Home
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 05F7 015B 0057 0016 0E6C

OK
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 05F7 015B 0057 0016 0E6C

Up
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 05F7 015B 0057 0016 0E6C

Left
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

Right
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

Down
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 05F7 015B 0057 0016 0E6C

Menu
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

Back
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 05F7 015B 0057 0016 0E6C

Volume Down
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 05F7 015B 0057 0016 0E6C

Volume Up
0000 006C 0022 0002 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 05F7 015B 0057 0016 0E6C


If that does not work, you may try with not reversing the bits, i.e. Power is device 0x4d=77 and function 0xdc = 220:

0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 05F7 015B 0057 0016 0E6C

Let me know if you need more details.

Last edited by Barf on August 12, 2016 02:19.
OP | Post 3 made on Friday August 12, 2016 at 07:21
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
Thank you very much Barf! I will have to try those codes as soon as I have the c2 working again :)

I really appreciate that you tried to explain me how to generate the pronto code!

For dummies: I don't really understand how you came to the conclusions: device=178, function = 59. Subdevice is default 255-device

Where did you get the 178, the 59 and the 255 (okay, this is an assummtion I guess) from?

According to your other post where it gets a bit more specific:
[Link: remotecentral.com]
  • As I wrote in the other thread, this is likely NEC1 with the parameters reversed, i.e., D = 0x4D reversed = 178, F = 0xDC reversed = 59. (Subdevice is default.) IrScrutinizer can be used to compute (e.g.) Pronto Hex.
If manufacturer Code is 0x4DB2. Why do you drop the B2 here? And what does "reversed" mean? :/
Post 4 made on Friday August 12, 2016 at 08:47
Barf
Long Time Member
Joined:
Posts:
August 2013
365
Ok. When you form am IR signal from one or may parameters, you have to decide on in what order to transform the bits of the parameter into a stream of bits. This is (normally) done in one of two ways: either least significat bit first (often erroneously called just LSB (least significat bit)), and most significant bit first. For example, the hexadecimal number 4D translates msb first into 01001101 and lsb first into 10110010. Note that this is a sequence of bits, not a binary number! There seems to be a consensus (here and on hifi-remote.com) that the NEC1 protocol really translates the parameters lsb first. Unfortunately, many Internet projects consider NEC1 with the parameters translated msb first, and just my intuition told me that your source was one such. (Again, this is a guess). To compensate for this, we replace e.g. 0x4D = 0b01001101 by 0x82 = 0b10010010 -- the ones and zeros in the 8-bit binary representation read backwards. A good interactive tool for this is contained in IrScrutinizer (Tools -> Hex calculator). This is what I refer to as "reversed".

So 0x4D reverses to 0xB2 = 178 and 0xDC reverses to 0x38 = 59. In the same way, the second byte of the "Manufacturer code" is 0xB2, reverses to 0x4D = 77, the subdevice paramer "S". So why did I "ignore" it? Because the NEC1 protocol has a default, equals to the 1-complement of the device number D, which can also be expressed as 255 - D. When using IrScrutinizer, (Generate pane), just select the nec1 protocol, fill in 178 for D, leave S blank (or enter 77), and put 59 (or whatever) as F, and press Generate.
OP | Post 5 made on Friday August 12, 2016 at 09:20
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
Thanks a lot Barf! :)

Now I have something I can build on as soon as I have my Odroid C2 running again. Hopefully your pronto codes are already the correct ones. Otherwise I will have to play around with your explanations ;).

Thanks again
Wish you a good weekend
OP | Post 6 made on Saturday August 13, 2016 at 20:51
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
Came to testing the power button (actually the only one interesting for me).

Unfortunately the first (reversed) and the last (not reversed) do not have any effect hmm...

Then I found this here. Perhaps it helps so complete missing specs?: [Link: forum.odroid.com]

strangely the user speaks about "KEY_POWER 0x3BC4", so the code is different or differently interpreted. I'm confused. These codes seem to be LIRC or so, right? Is it possible to find a connection between LIRC and Pronto?
Post 7 made on Sunday August 14, 2016 at 01:17
3FG
Select Member
Joined:
Posts:
August 2009
1,861
Well, Barf's IrScrutinizer program is very powerful, and it can import LIRC files and convert them to Pronto.  So you can copy the text of the conf file to the clipboard, grab it on the Import tab of IrScrutinizer, and get the decodes of all 12 recorded signals.  You can export the signals in Pronto format also.

It looks like Barf guessed right on the device number, but the function number as supplied by the manufacturer surprisingly doesn't need a bit reversal.

According to the conf file, the IR protocol is NEC2, device 178.

Power is function 220
0000 006C 0000 0022 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 05F7

Probably Barf will be along soon, and he knows much more about LIRC than I do.
Post 8 made on Sunday August 14, 2016 at 05:24
Barf
Long Time Member
Joined:
Posts:
August 2013
365
Assuming that the lircd.conf file is correct, 3FG has already told the full story. You can paste the lircd.conf and generate the full table with IrScrutinizer with just a few clicks.

Possibly the repeats will not work (well), but that is the 201-class ;.).

If you have any (constructive) suggestions on how to improve IrScrutinizer enabling it to transfer the signals to the Harmony, let me know.
OP | Post 9 made on Sunday August 14, 2016 at 14:55
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
On August 14, 2016 at 01:17, 3FG said...
Well, Barf's IrScrutinizer program is very powerful, and it can import LIRC files and convert them to Pronto.  So you can copy the text of the conf file to the clipboard, grab it on the Import tab of IrScrutinizer, and get the decodes of all 12 recorded signals.  You can export the signals in Pronto format also.

It looks like Barf guessed right on the device number, but the function number as supplied by the manufacturer surprisingly doesn't need a bit reversal.

According to the conf file, the IR protocol is NEC2, device 178.

Power is function 220
0000 006C 0000 0022 015B 00AD 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 05F7

Probably Barf will be along soon, and he knows much more about LIRC than I do.

Awesome!!! This code is working perfectly :) Thank you very very much 3FG :)

That is actually everything I needed haha. The other buttons are programmable in kodi via Lirc. Just the powerbutton is something hardcoded into the Odroid C2 u-boot (bootloader?).

| On 1471166699, Barf said...
| Assuming that the lircd.conf file is correct, 3FG has already told the full story. You can paste the lircd.conf and generate the full table with IrScrutinizer with just a few clicks.
|
| Possibly the repeats will not work (well), but that is the 201-class ;.).
|
| If you have any (constructive) suggestions on how to improve IrScrutinizer enabling it to transfer the signals to the Harmony, let me know.

Thanks for your help and advice :) Should've found this Lirc info before posting this thread, then I'd have already had the code with your first replay on friday ;).

Regarding the suggestions for transferring to harmony:
Well... I assume you know already the concordance project. Though, concordance (1.2) is not working on my machine after installation (cmd window starts and closes immediately). However, like I described (and uploaded the necessary ProntoHEX2Harmony.zip) in this thread one can use concordance v0.2.1 altogether with the logitech harmony webaccount to download a button-learn-file which can be opened with concordance. Concordance can then upload a pronto code (I did it with the 3FG command) to your chosen device of your own logitech harmony account. This procedure simply adds a new IR command to any by you chosen device. If you delete this device out of your harmony profile and put it back again, you will have to repeat this procedure. But this is in my case a very good way to add specific commands to devices like raspberrys or odroids (as these usually don't have harmony profiles). So I simply take any other device out of Harmony library and then setup Lirc on Kodi (LibreELEC) to make it understand those commands. Funny though, a couple of hours ago I indeed found odroid (c1, old version) in harmony library and its power command did work, so actually I bothered you with redundand stuff, sorry for that :/. But for myself it was still very useful, as I can now take this HEX code an add it to any other device that I chose. This is useful because the odroid c1 profile has only those 12 buttons. I need more (for direct audio stream change, and subtitles and subtitles sync adjustments etc). Thats why I use for my Raspberry and Odroid (harmony 900 remote) the harmony profile:
Category: PVR
brand: KLS
Model: VDR 1.6
It has a lot of buttons that I can map to functions.
 
Quick summary how to transfer pronto codes to harmony:

1. Open this link: [Link: members.harmonyremote.com]
2. Login with your logitech harmony credentials
3. choose learn IR command for your chosen device
4. type in a new command-name and press "Learn New Command"
5. put the downloaded LearnIr.EZTut file into this directory
6. run the cmd.bat
7. follow this guide: [Link: avforums.com]
    7.a) type H to input new Pronto command
    7.b) paste the long pronto hex code
    7.c) type U to upload the command
    7.d) now you can quit the cmd.bat by pressing Q
8. You should now see the new command (with chosen name) in the harmony software or on the website.
9. Update your harmony remote control

I think you know this practice already, so I'm not sure how this could be a constructive suggestions as it relies on the webinterface of logitech. Perhaps there is an easier way, but I found it some time ago and it worked, so its okay for me so far :)

I guess the developers of concordance could have constructive ideas regarding improvement of your already great IrScrutinizer, if even possible to improve such a mighty thing ;)
Post 10 made on Tuesday August 16, 2016 at 02:30
Barf
Long Time Member
Joined:
Posts:
August 2013
365
Thank you for the suggestions. I have made an issue on Github ([Link: github.com]) although I do not plan to work on it for the immediate future. mdavej, do you have any comments?

I own (but do not use) a Harmony One, but I broke the touchscreen trying to remove the infamos "swollen battery" :-(.
OP | Post 11 made on Tuesday August 16, 2016 at 07:29
infinity85
Lurking Member
Joined:
Posts:
August 2016
8
Yeah... the swollen battery... had to do they same task on my harmony 900 (almost the same as one) and was sweating while opening it. Fortunately http://www.harmonyremoterepair.com/ have good how-to's, so I didn't break anything. If you wan't to use your one again, that I'd suggest to buy another one cheaply (perhaps partly defective) at ebay kleinanzeigen (flooded with harmony ones), thus having also spare parts.

OT:
is it somehow possible to subscribe an email notification for this thread upon new replies or so? I know, that I will not often look around here, but would like not to lose track about news hm :/


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse