Your Universal Remote Control Center
Original Equipment Remotes Forum - View Post
Up level
Up level
The following page was printed from


Original thread:
Post 28 made on Tuesday December 28, 2010 at 22:56
Select Member
August 2009
We tend to describe IR signals in terms of a device number and function number. The OBC (stands for Original Button Code) is the function number. However, these designations are somewhat arbitrary, and knowledge of the OBC doesn't actually describe exactly the function part of the IR signal. Sometimes the OBC needs to have it's binary digits reversed in order, or complemented (turn 0's into 1's, and 1's into 0's) to match the way the components work.

The remote has an executor (a subroutine) which sets up the frame of the signal (lead in and leadout pulses, get the frequency right, etc.) and then sends the individual bits of the device and OBCs. The data fed to the executor is related to the device/OBC but it may be reversed or complemented. The RCA protocol is simple, and you've been working with a simple executor, but many executors also require data (control bits) to choose among various styles of the IR signal. For ecxample, the most prevalent IR protocol is NEC, but there are actually 4 styles (NEC1, NEC2, NECx1, NECx2) and the executor can send any of these, but it has to be told which one. And, as you've already seen, combo executors can send multiple device numbers.

In RMIR, there is a column labeled Hex. and this is the actual, converted data that is fed to the executor. As it happens, for RCA, no manipulation of the OBC is necessary, and the Hex is just the hexadecimal representation of the OBC.
The EFC (finally got there!) is an encoded representation of the Hex. UEI wanted to protect their knowledge of the OBCs, so they encoded the data being sent to the executor.

And, if you're manually programming the remote, the primary use of RMIR is to carry out the encoding/decoding of EFC to Hex, and from Hex to OBC.

Are you willing to document here the results of your investigation? If you do, I'll make a RMIR upgrade file and post it at Then the next guy who wants to do this will have a pretty easy time of it. (And, it might even come in handy for you later, if you lose your notes.) To make it useful, we need to know which buttons are sending the original signals, and which ones have been assigned an EFC. Of course we also need to know that name of the function, and the EFC used or the button label, if the button is unassigned.

Hosting Services by ipHouse