Page 1 of 2
How to convert Pronto Hex to something JP1 tools can use?
Posted: Thu Oct 01, 2009 9:08 am
by timg11
I have captured the codes from my Denon AVR-3200 remote using the USB-UIRT's LRNhelper.exe program. When it learns a code, it provides it in Pronto Hex format, which (in my case) is a series of 68 32-bit Hex numbers:
Code: Select all
0000 0070 0000 0020 000A 001E 000A 0045 000A 001E 000A 001E 000A 001E 000A 0045 000A 001E 000A 001E 000A 001E 000A 001E 000A 001E 000A 0045 000A 0045 000A 001E 000A 001E 000A 06E7 000A 001E 000A 0045 000A 001E 000A 001E 000A 001E 000A 001E 000A 0045 000A 0045 000A 0045 000A 0045 000A 0045 000A 001E 000A 001E 000A 0045 000A 0045 000A 0637
This format is described here:
http://www.remotecentral.com/features/irdisp1.htm
I would like to create a new device that could be used by RemoteMaster. I think this would involve decoding the burst pairs in the Pronto Hex data, and extracting the protocol code and the function codes. These could then be edited into an RMDU file.
The algorithm for converting to device codes and function codes is rather complex; tedious to do manually as described, but not too hard for a program. I was wondering - has anyone already written a program to perform the conversion? I don't want to re-invent the wheel.
Posted: Thu Oct 01, 2009 9:38 am
by mathdon
That Pronto code is Denon/Sharp protocol, Device 2, Command 193. To find this, all you have to do is paste your Pronto hex into IRTool, which you can find in the File Section under Tools/Programs. You need to put DecodeIR.dll into the same folder as IRTool to get the decode.
______________
Graham
Posted: Thu Oct 01, 2009 10:04 am
by mdavej
If this is the Power command, then
THIS upgrade is a pretty close match. Don't forget to paste the protocol into IR because this doesn't use the denon protocol already built into the atlas.
Posted: Thu Oct 01, 2009 10:32 am
by timg11
Thanks for the tips. I'll check out IRtool, and see how my captured commands match up to those in the AVR-2807 file.
Posted: Thu Oct 01, 2009 11:13 am
by timg11
OK, I've got IRtool running, and I am comparing to the Functions tab of the AVR-2807 RMDU file in RM.
When I paste in the power button hex code (yes you guessed my example code correctly) and click Decode Hex, I get a pop-up that says "Protocol: Denon, Device: 2, OBC: 193, EFC: 22".
When I click OK, the IRtool shows different information. The device is identified as "Denon/Sharp". There is a field called "0" which contains "000a 001e". Below that is a field "1", which contains "000a 0045". I'm assuming those are the burst pair values corresponding to binary 0 and 1, and are for information only.
Below that in the repeat section, I see the Device 2 and command 193. the EFC value is not shown.
When I look in the Functions grid in RM, I can find the Power Toggle command. Its OBC is 193. However its EFC is 177 which does not match what the IRtool popup said. Does this matter? Also the numbers in the Device column are 0, not 2 as displayed in IRTool.
In RM, there are columns for EFC, EFC5, Device, Protocol, OBC, and Hex.
From the RM help, I learned that the Hex value is generated. I tried changing the EFC to 22 to match what the IRtool popup said, but when I did, the OBC changed. So they appear to be derived from each other as well.
Which of the other values are necessary to be entered by me, and which are derived? I think I only need to enter the OBCs and change the Device code to 2.
Also, in IRtool, how do I verify that the protocol ID is a match (numerically)? In RM, the Setup tab gives both the name and the Hex value. There are four possibilities - Denon (00 1C), Denon Combo (00 47), Denon Combo Official (00 9C), and Denon-K (00 CD).
IRtool only says "Denon / Sharp", and the popup says the protocol is "Denon" (There are no hex values displayed) I'm unclear on which of the four Denon protocols that corresponds to in RM.
Thanks!
Posted: Thu Oct 01, 2009 11:32 am
by vickyg2003
timg11 wrote:
When I click OK, the IRtool shows different information. The device is identified as "Denon/Sharp". There is a field called "0" which contains "000a 001e". Below that is a field "1", which contains "000a 0045". I'm assuming those are the burst pair values corresponding to binary 0 and 1, and are for information only.
In this case that information is totally informational. If you needed to create a custom protocol, that information is very useful.
When I look in the Functions grid in RM, I can find the Power Toggle command. Its OBC is 193. However its EFC is 177 which does not match what the IRtool popup said. Does this matter? Also the numbers in the Device column are 0, not 2 as displayed in IRTool.
In RM, there are columns for EFC, EFC5, Device, Protocol, OBC, and Hex.
From the RM help, I learned that the Hex value is generated. I tried changing the EFC to 22 to match what the IRtool popup said, but when I did, the OBC changed. So they appear to be derived from each other as well.
The OBC's are the important numbers. Our tools convert the OBC into some HEX code to feed the protocol executor. If a different protocol executor is used, the HEX may be different. EFC's are computed to the HEX. So as long as the OBC is correct your okay
Which of the other values are necessary to be entered by me, and which are derived? I think I only need to enter the OBCs and change the Device code to 2.
You enter the devices and obcs and let the tools do the rest.
Also, in IRtool, how do I verify that the protocol ID is a match (numerically)? In RM, the Setup tab gives both the name and the Hex value. There are four possibilities - Denon (00 1C), Denon Combo (00 47), Denon Combo Official (00 9C), and Denon-K (00 CD).
IRtool only says "Denon / Sharp", and the popup says the protocol is "Denon" (There are no hex values displayed) I'm unclear on which of the four Denon protocols that corresponds to in RM.
You don't need to match the protocol ID, but when the protocol ID's don't match the EFC'S MAY be different. Looking at one decode, the simple Dennon/Sharp is going to display. However when you look at several code, you'll often see that you'll need a Combo to get full functionality in a single upgrade.
Posted: Thu Oct 01, 2009 9:51 pm
by mdavej
I took another look and I actually don't see any difference in your hex codes, the 3300 upgrade or the 2807 upgrade. I really am puzzled why the first file you tried won't do anything. At the very least Power should turn the denon on and Setup-Power should turn it off. This one really has me stumped

Posted: Fri Oct 02, 2009 6:42 am
by johnsfine
timg11 wrote:When I click OK, the IRtool shows different information.
IRtool has a built-in obsolete decoder. That one is always used. If DecodeIR is present and recognizes the signal you get a decode from DecodeIr.dll and it waits for OK, before it shows you what IRtool's built-in decoder thinks.
In this protocol the two decoders agree. More often, the built-in decoder is wrong.
the EFC value is not shown.
IRtool wasn't written by the JP1 group. It was written by someone working with Pronto's. EFC values are specific to UEI remotes and useless for Pronto's. The connection to DecodeIr was added by someone other than the original author of IRtool. I wrote DecodeIR to support both Pronto's and UEI remotes so I included EFC numbers.
Its OBC is 193. However its EFC is 177 which does not match what the IRtool popup said. Does this matter? Also the numbers in the Device column are 0, not 2 as displayed in IRTool.
Unless I'm missing something, the difference in device number is significant. An upgrade with the wrong Device number would not work.
The EFC is a complicated encoding of other information and the encoding method depends on which executor the upgrade uses. DecodeIR can't know which executor you will be using so it computes an EFC based on the common executor. RM can compute the correct EFC based on the other information. There are other situations in which you might want to use the EFC from the decode. But in this situation you should use the device and OBC from the decode and let RM compute the right EFC.
I think I only need to enter the OBCs and change the Device code to 2.
Correct.
There are four possibilities - Denon (00 1C), Denon Combo (00 47), Denon Combo Official (00 9C), and Denon-K (00 CD).
The first three are three different executors for the same protocol. All of those match the decode. Each of those would produce a different upgrade, but if you use them correctly all those upgrades would produce the same signals.
Denon-K is a different protocol (different signals that don't match the decode you described).
Posted: Fri Oct 02, 2009 10:25 am
by timg11
Thanks for all the help. I'm glad the site is back online today, although it still seems to be having problems (long delays, and needing to hit reload repeatedly to get past blank pages)
I think I have a working RMDU file for the AVR-3200. Interestingly, it uses both Device codes 2 and 12 in the same device. This is using setup code 1161. I will upload my RMDU file to the files area in case anybody else still has an AVR-3200.
My next questions is how to add support for an AV switch to the AVR-3200.
I now know how to make new devices in RM, and I created a new RMDU for the Atlona 4x1 component switcher (I only use it for a the digital audio function since the AVR3200 has only one digital audio input, and I have 3 sources). I want to assign it to four buttons under the AUD function of my Atlas remote. Since the five "categories" (CBL, TV, DVD, AUD, and VCR) are now filled on my remote, how can I add these 4 buttons? They use the NEC1 protocol. I assume I can somehow add the NEC1 protocol as a "Special Protocol" in IR, and then add the new buttons as Key Moves.
I tried to add a Special Protocol. Under Bound Key I set Device to AUD, and Key to PIP On/Off, since I want one of the switcher input settings to map to that key. After that, all the remaining options (Parameters and Macro Definition) are grayed out.
What is the correct procedure to add a new protocol to a specific button?
Posted: Fri Oct 02, 2009 11:12 am
by johnsfine
timg11 wrote:They use the NEC1 protocol.
What device number? Does it have a subdevice number (if so, what is that number)?
To create keymoves for those signals, you need a setup code number and you need EFC numbers. The setup code number must correspond to NEC1 protocol with the correct device and subdevice. The setup code does not need to provide the specific functions you want, just the protocol, device and subdevice.
The remote has many built-in setup code numbers for NEC1 with various Device/Subdevice numbers. So you may be able to identify and use the correct built-in setup code.
Otherwise, you need to create a device upgrade in RM with the correct protocol, device and subdevice and select any setup code number that you are not using for any of your other devices. Install that device upgrade from RM into IR, then use its setup code number for your keymoves.
Posted: Fri Oct 02, 2009 12:00 pm
by mdavej
To clarify a little what John is saying. You won't use the Special protocols tab at all. Provide the device, subdevice and efc's, and he can likely tell you a built-in setup code to use in regular key moves. Worst case, load your upgrade like you did for the denon, and reference that in regular key moves. You won't assign it to a device button at all.
Do post your 3200 file, I'd be interested to see how it differs from the 3300.
Posted: Fri Oct 02, 2009 12:41 pm
by timg11
The AVR-3200 file is here:
https://www.hifi-remote.com/forums/dload ... le_id=7323
John, the DecodeIR DLL results from the Atlona switch box are:
Button 1 -- "Protocol: NEC1, Device: 0, OBC: 13, EFC: 56"
Button 2 -- "Protocol: NEC1, Device: 0, OBC: 14, EFC: 54"
Button 3 -- "Protocol: NEC1, Device: 0, OBC: 9, EFC: 57"
Button 4 -- "Protocol: NEC1, Device: 0, OBC: 10, EFC: 55"
If I follow what you're saying, I need to find a ROM-based setup code that uses NEC1 protocol, and has Device 0, and these codes already present in the Atlas OCAP remote, so I can use key moves. I clicked on the "Add" button of the Key Moves tab, and discovered that there is a 6th function available there. So perhaps that is how I can add a new setup code for the switch box. But how do I discover an appropriate ROM code?
Posted: Fri Oct 02, 2009 12:54 pm
by mdavej
According to
THIS list, built-in audio code 1257 should work fine. You don't even need to use the 6th device you see in the list. Just type in 1257.
For example, to put button 1 on audio pip on/off, pick AUD device, PIP On/Off key, CD/Audio Device Type, 1257 Setup Code and EFC 56. When you're done the source device will show N/A, which is fine.
Posted: Fri Oct 02, 2009 1:36 pm
by johnsfine
timg11 wrote: I need to find a ROM-based setup code that uses NEC1 protocol, and has Device 0, and these codes
You just need a ROM-based setup code that uses NEC1 protocol, device 0. You do
NOT need it to include those four EFC numbers. The keymoves will provide the EFC numbers.
There are a lot of ROM based setup codes that are NEC1 device 0.
I clicked on the "Add" button of the Key Moves tab, and discovered that there is a 6th function available there.
I have no clue what you mean by 6th function.
Posted: Sat Oct 03, 2009 7:28 am
by timg11
Thanks again for the help. I now have the key moves working controlling the switcher from within the AUD functions.
John, the 6th function is actually more than 6 now. At the time I posted, there were 6 rows in the device function table in the Add Key Move dialog. As I have added new device codes in IR.exe, they appear as new rows. The first 5 are mapped to the 5 function buttons. The ones added after that just have <N/A> as the Device Button. That is what I meant by 6th function.