EFCs and OBCs
Back to IR Help
An Extended Function Code (EFC), is a code that allows us to send a parameter to the protocol executor to send an IR signal for a specific function. EFCs have absolutely no meaning outside the UEI world. EFCs can be 3 digit or 5 digit, depending on the protocol executor's requirements. Remotes can send 3 or 5 digit EFCs depending on the vintage of the remote. If a remote requires 5-digit EFCs, you need to prepend 00 to a 3-digit EFCs. If the remote uses 3-Digit EFCs, you can not send 5-digit EFCs. EFCs are specific to a protocol executor. The EFC should not be confused with the OBC.
The Original Button Code (OBC) is a numeric value that corresponds to the part of the signal that changes as you press different keys. This is a number that "makes sense". If you look at RM or KM function sheets, you will see that there is usually some sort of pattern to the OBC numbers, while the EFCs are totally unordered.
For EFCs to work from the keypad, they require the current setup to hold the fixed data and PID for the correct protocol executor. An EFC-style keymove, will remember the setup code in use when the keymove was created.
When your learns were decoded, there may have been an EFC as well as the OBC listed. That EFC is only usable if you are using the basic protocol executor for creating that type of signal. If you use a different protocol executor, those EFCs may not be correct. That is why we used the OBC instead of the EFC when transferring data to an upgrade.
Since the OBC describes the output that we want, using the OBC is going to be correct regardless of what protocol executor we use to create our upgrade.