Trying to program URC 7800 to control HP MD5880n

This forum is a repository for code search requests that have been resolved.

Moderator: Moderators

bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

John,
Thanks for the decodes. When I chedked the new DLL on the link you provided, it seems to be the same as 2.29 (dates/size, etc) and when used with the IR tool, the IR tool tab still did not decode the protocol and give the OBCetc.

Robman,
Thanks for the link on IR protocols.

B
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

bnam wrote:When I chedked the new DLL on the link you provided, it seems to be the same as 2.29 (dates/size, etc) \
I'm now on a different computer than where I uploaded that from.

I just now downloaded it and the file dates inside the .zip are today.

If you're seeing older file dates in the .zip, I think your browser used a .zip file from its cache rather than redownloading (since the URL hasn't changed).

How to make your browser really download a .zip rather than using cache can be tricky. It isn't as simple as an HTML page where the refresh button does it. When I get really stuck on such things I've gone into the option that lets you clear the entire cache (but I have fast enough internet that dropping the whole cache isn't serious).
whompus
Posts: 540
Joined: Wed Apr 27, 2005 1:43 am

Post by whompus »

If that is the problem you should be able to right click on the link. Then select save link as or save target as depending on your browser used.

The 2.31 file is larger as well as newer date.

BTW.. John..Thanks for all your work on keeping on top of the dll.
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

John,
THANKS for the AWESOME help.

The .rdmu for the HP md5880 and md6580 is now in the file section.

http://www.hifi-remote.com/forums/dload ... le_id=3040

Regards,
bnam
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

In RM, you can click on the "OBC" at the top of that column and it will sort the lines by OBC number (later click on the # and it will restore the original sequence).

In this case sorting by OBC number makes obvious some bad news that isn't obvious from the original list.

Notice you have two each of OBC 0, 1, 10, 16 and 17. So those five untested discrete codes are almost certainly wrong. Given the source of the discretes, I would conclude they are all wrong (all apply to a different model of HP TV, not your model).
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

John,
Yes, those were from a CCF that I found at remote central and decoded. It indicated that the device/sub device for those codes were 2/17 vs. the 18/17 for the remaining. So, I'll probably need to create a separate device upgrade for those, but am waiting till I do the firmware upgrade on my TV which activates discrete codes.

I should have just deleted from this file.

B
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

bnam wrote:Yes, those were from a CCF that I found at remote central and decoded. It indicated that the device/sub device for those codes were 2/17 vs. the 18/17 for the remaining.
Are you assuming 2.17 vs. 18.17 is a difference between ordinary codes and discrete codes within the same model TV? Or a difference across all the codes for after/before the firmware upgrade?

Either of those theories is possible, but I think quite unlikely. More likely, 2.17 vs. 18.17 is a difference between models of TV.
bnam wrote:am waiting till I do the firmware upgrade on my TV which activates discrete codes.
Does the source from which you plan to get the firmware upgrade provide any data on what the discrete codes will be?

It seems unlikely that the firmware upgrade would change the ordinary codes for digits and vol, etc. So if it adds discrete codes, it must do so using different OBC numbers than the ones in that CCF file. Do you need to do a blind search of possible OBC values or do you expect them to tell you the OBC values?
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

Good questions...

It was posted as a discrete codes .ccf for the same model. I'll post that file later today.

HP's latest firmware upgrade D36 apparently turns on discrete as many have reported. However, they've taken D36 off their site and are expecting to repost this week. And unfortunately, mine came with a dead USB port which is to be replaced shortly and until that happens I can't upgrade and confirm.

bnam
The Robman
Site Owner
Posts: 21886
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

With or without the firmware upgrade, you could always create a dummy upgrade that contains all the "gap" OBCs which you could load into your remote to test, then if you find that any of these gap OBCs actually do anything, you can add those functions to your master list.

However, a word of caution is needed about trying undocumented codes with TVs. Some TVs support functions that can be hard to recover from. There are TVs that support functions such as "erase the EEPROM" where if you use the function the only way to recover from it is to have a factory service tech come around to restore the EEPROM. Other TVs have functions that will reset all the picture settings, which means you'd have to manually try to get the TV back to how it was. Almmost all TVs have a service menu which can be accessed either using special codes or special combinations of button presses, and getting into the service menu gives you the ability to mess up the settings if you don't know what you're doing.

So, if you're willing to accept the risk, you could test the undocumented OBCs to see what they do (if anything).
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

http://www.hifi-remote.com/forums/dload ... le_id=3050

This is the discrete ccf file that I found. I've upgraded firmware for my TV, so will check out if the discretes work.

B
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

John, Rob,
Here's a note that a user at AVSForum got from Harmony (who got it in turn from HP). I don't quite follow it all, but I'm sure it makes more sense to you.

Someone at Harmony Remotes sent this info to me, they got it from HP....remote code info on the HP sets. In case this helps at all....

Remote Control Codes - RPTV 2005-Nov-09

·*RC-6 Timing format is used.
·*IR carrier frequency is 36 KHz.
·*RC-6 Leader bit is used preceding all codes.

HP Header Field D20-D0 Always “1 1100 1000 0000 0001 0001” (binary).
Information Field Toggle Bit D15 Changes state when the same key is pressed twice to indicate rapid key entry.
Address D14-D12 Addresses are listed in table below.
Fixed D11-D8 Always “0010” (binary).
Command D7-D0 Commands are listed in table below.


Function Address Command TV Remote

Power 1 12 0x0C X X
Power On 0 0 0x00 X *
Power Off 0 1 0x01 X *

Menu 1 84 0x54 X X
Menu Action (OK) 1 92 0x5C X X
Menu Up 1 88 0x58 X X
Menu Down 1 89 0x59 X X
Menu Left 1 90 0x5A X X
Menu Right 1 91 0x5B X X
Menu Back 1 85 0x55 X X

Source (List) 1 139 0x8B X X
Cable 0 10 0x0A X *
Antenna 0 11 0x0B X *
HDMI 1 0 21 0x15 X *
HDMI 2 0 22 0x16 X *
Component 1 0 19 0x13 X *
Component 2 0 20 0x14 X *
Video 1 0 13 0x0D (0x10) X *
Video 2 0 14 0x0E (0x11) X *
Video 3 0 15 0x0F (0x12) X *
VGA 0 23 0x17 X *
Source (Pictures) 1 232 0xE8

Mute 1 13 0x0D X X
Mute On 0 25 0x19
Mute Off 0 26 0x1A
Volume Up 1 16 0x10 X X
Volume Down 1 17 0x11 X X

Channel Up 1 30 0x1E X X
Channel Down 1 31 0x1F X X
Last Channel 1 10 0x0A X X
0 1 0 0x00 X X
1 1 1 0x01 X X
2 1 2 0x02 X X
3 1 3 0x03 X X
4 1 4 0x04 X X
5 1 5 0x05 X X
6 1 6 0x06 X X
7 1 7 0x07 X X
8 1 8 0x08 X X
9 1 9 0x09 X X
Channel Separator 1 172 0xAC X X
Channel Enter 1 225 0xE1 X X

Guide 1 204 0xCC X X
Favorites 1 171 0xAB X X
Aspect 1 169 0xA9 X X
Aspect 1 0 35 0x23
Aspect 2 0 36 0x24
Aspect 3 0 37 0x25
Aspect 4 0 38 0x26
Aspect 5 0 39 0x27
Picture Mode 1 226 0xE2 X X
Picture mode 1 0 27 0x1B
Picture mode 2 0 28 0x1C
Picture mode 3 0 29 0x1D
Picture mode 4 0 30 0x1E
Sound Mode 1 227 0xE3 X X
Info 1 129 0x81 X X

Sleep 1 168 0xA8 X
PIP/POP 1 93 0x5D X
PIP/POP Swap 1 99 0x63
PIP/POP Source 1 94 0x5E
SAP 1 167 0xA7 X
CC 1 166 0xA6 X

Options 1 233 0xE9 X X
Red 1 228 0xE4 X X
Green 1 229 0xE5 X X
Yellow 1 230 0xE6 X X
Blue 1 231 0xE7 X X

* supported in Maintenance code release
Thanks,
B
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

bnam wrote:but I'm sure it makes more sense to you.
Took some effort, but yes I figured it out.

Earlier, I thought I looked at a CCF with BOTH ordinary and discrete codes and they were all device 2. Maybe I was confused about that.

This document indicates the ordinary commands are device 18 and the discretes are device 2.

To do that in JP1, it is easiest to create a second upgrade, specifying device 2.17 and a different setup code. Then define all the discrete codes as external functions in RM using that second setup code. RM translates any use of external functions into KeyMoves that it tells IR.EXE to install. For those to work, the device upgrade for the second setup code must be installed, but it doesn't need to be assigned to a device key.


HP Header Field D20-D0 Always “1 1100 1000 0000 0001 0001”
I've never been quite sure how the first few bits (1 1100) in any MCE documentation relate to anything in the actual signal. But I don't need to. I know very well what the beginning of an RC6 signal looks like.

The next eight bits (1000 0000) are the same for all MCE signals, so I already knew those as well.

The next eight bits (0001 0001) are the code for HP, so I knew those.
Information Field Toggle Bit D15 Changes state when the same key is pressed twice to indicate rapid key entry.
Then the next bit is the one that I knew is the toggle, so that further confirms that this is the right track.
Address D14-D12 Addresses are listed in table below.
We treat those as the top three bits of a seven bit device number. Those are the bits I've been unsure of so far in this thread. If the device is 2, those bits are 000. If the device is 18, those bits are 001.
Fixed D11-D8 Always “0010” (binary).
That is the bottom four bits of the device number, which are 0010 for both device 2 and device 18.
Command D7-D0 Commands are listed in table below.
and we already knew which eight bits are the commands and what those values are.
Power 1 12 0x0C X X
The 1 tells us the device is 18. The 12 is the OBC number. The 0x0C is the OBC number in hex. I don't know nor need to know what the "X X" means.
Power On 0 0 0x00 X *
The first 0 tells us the device is 2. The next 0 is the OBC, that's really all we need to know about each command.

That first number is 1 for ordinary commands, device 18, or 0 for discrete commands, device 2.
Aspect 2 0 36 0x24
That one confused me for a moment. Then I realized the 2 is part of the function name. The quoting of this (maybe before you got it) lost enough formatting that you need to look carefully to see where the function name ends and the number start.
bnam
Posts: 43
Joined: Thu Dec 23, 2004 11:47 pm

Post by bnam »

It worked. Though I am not sure that my approach was the most efficient.

Part A:
Created discrete using MCE 2.17 and entered the discrete codes into external function area. NOte I did not enter all discrete codes into external function -- only those that I intended to use, the rest I left in functions. I did not map any buttons. The device output was pasted into IR

http://www.hifi-remote.com/forums/dload ... le_id=3050

Part B:
Adding this new device did not require me to assign a device key.

But later I assigned device key VCR to the discrete TV (setupcode 1001) -- not sure if this step was needed.

Then, I added keymoves to map to Phantom and shift Phantom keys of Original TV device to some of the discrete functions entered as EFCs.

http://www.hifi-remote.com/forums/dload ... le_id=3020

So what can I do differently (or better)?

Thanks,
bnam
The Robman
Site Owner
Posts: 21886
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Here is a tidied up list...

Code: Select all

Power On            0  000  0x00 X * 
Power Off           0  001  0x01 X * 
Cable               0  010  0x0A X * 
Antenna             0  011  0x0B X * 
Video 1             0  013  0x0D X * (0x10)
Video 2             0  014  0x0E X * (0x11)
Video 3             0  015  0x0F X * (0x12)
Component 1         0  019  0x13 X * 
Component 2         0  020  0x14 X * 
HDMI 1              0  021  0x15 X * 
HDMI 2              0  022  0x16 X * 
VGA                 0  023  0x17 X * 
Mute On             0  025  0x19   
Mute Off            0  026  0x1A   
Picture mode 1      0  027  0x1B   
Picture mode 2      0  028  0x1C   
Picture mode 3      0  029  0x1D   
Picture mode 4      0  030  0x1E   
Aspect 1            0  035  0x23   
Aspect 2            0  036  0x24   
Aspect 3            0  037  0x25   
Aspect 4            0  038  0x26   
Aspect 5            0  039  0x27   
0                   1  000  0x00 X X 
1                   1  001  0x01 X X 
2                   1  002  0x02 X X 
3                   1  003  0x03 X X 
4                   1  004  0x04 X X 
5                   1  005  0x05 X X 
6                   1  006  0x06 X X 
7                   1  007  0x07 X X 
8                   1  008  0x08 X X 
9                   1  009  0x09 X X 
Last Channel        1  010  0x0A X X 
Power               1  012  0x0C X X 
Mute                1  013  0x0D X X 
Volume Up           1  016  0x10 X X 
Volume Down         1  017  0x11 X X 
Channel Up          1  030  0x1E X X 
Channel Down        1  031  0x1F X X 
Menu                1  084  0x54 X X 
Menu Back           1  085  0x55 X X 
Menu Up             1  088  0x58 X X 
Menu Down           1  089  0x59 X X 
Menu Left           1  090  0x5A X X 
Menu Right          1  091  0x5B X X 
Menu Action (OK)    1  092  0x5C X X 
PIP/POP             1  093  0x5D X  
PIP/POP Source      1  094  0x5E   
PIP/POP Swap        1  099  0x63   
Info                1  129  0x81 X X 
Source (List)       1  139  0x8B X X 
CC                  1  166  0xA6 X  
SAP                 1  167  0xA7 X  
Sleep               1  168  0xA8 X  
Aspect              1  169  0xA9 X X 
Favorites           1  171  0xAB X X 
Channel Separator   1  172  0xAC X X 
Guide               1  204  0xCC X X 
Channel Enter       1  225  0xE1 X X 
Picture Mode        1  226  0xE2 X X 
Sound Mode          1  227  0xE3 X X 
Red                 1  228  0xE4 X X 
Green               1  229  0xE5 X X 
Yellow              1  230  0xE6 X X 
Blue                1  231  0xE7 X X 
Source (Pictures)   1  232  0xE8   
Options             1  233  0xE9 X X 
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

bnam wrote:Created discrete using MCE 2.17 and entered the discrete codes into external function area.
I guess I was unclear about that.

There are two upgrades (I assume you defined them both in RM).

1) The main upgrade MCE:18:17 setup code 1001

2) The discrete upgrade MCE:2:17 setup code 1000

The way External functions is used is inside the main upgrade you use the external functions tab to define the commands that use the discrete upgrade, specifying the setup code (1001) with which the discrete upgrade is defined.

In the discrete upgrade, you don't want any buttons defined (and you correctly didn't have any). But you also don't have any need for functions or external functions. All it needs is on the setup sheet.
But later I assigned device key VCR to the discrete TV (setupcode 1001) -- not sure if this step was needed.
Not needed.
Then, I added keymoves to map to Phantom and shift Phantom keys of Original TV device to some of the discrete functions entered as EFCs.
The point of using the external functions sheet in the main upgrade is so that you can assign those external functions to buttons in that upgrade and have RM tell IR.EXE to create those KeyMoves.

Creating the KeyMoves yourself in IR.EXE can produce the identical eeprom image to load into the remote. But that way may be harder to understand/modify later if you decide to rearrange buttons, and is less useful as an upload for other people to use.

The general rule for defining KeyMoves should be: KeyMoves which are an integral aspect of the device itself (such as these) should be defined as external functions in RM or KM. But KeyMoves that relate to the way multiple devices are combined in your setup (such as KeyMoving X's input select command for Y into mode Y) should be done in IR.EXE.

That way when you share your upgrades with someone who has a different mix of devices, or use them yourself to rebuild your config after replacing a device, the upgrade has all and only commands for that device.
So what can I do differently (or better)?
You can open two copies of RM at once and select/copy/paste the whole grid of external functions contents from the discrete upgrade to the main upgrade.

I just tried it and copying with ^C did strange and wrong things, but copying with the Copy button at the bottom of the sheet worked fine.
Post Reply