The JP1 FAQ

Definitions         List of Categories        

  1. Advanced Code
  2. Command Code
  3. Device
  4. Device Code
  5. Device Index
  6. Device Mode
  7. Device Number
  8. Device Type
  9. Device Upgrade
  10. Discrete Code
  11. DSM (Device Specific Macro)
  12. EFC (Extended Function Code)
  13. Extender
  14. Fixed Data
  15. Hex Command
  16. Interface
  17. IR (IR.exe)
  18. JP1
  19. JP1 Remote
  20. Key Move
  21. KM (keymap-master.xls)
  22. Learned Signal
  23. LSB
  24. MSB
  25. OBC (Original Button Code)
  26. OEM Remote
  27. Phantom Key
  28. Protocol
  29. Protocol ID
  30. RDF
  31. RemoteMaster
  32. Setup Code
  33. Setup Key
  34. Shifted Key
  35. Signature
  36. TOAD
  37. Two-Byte Hex Command
  38. Variable Data
  39. VPT (Volume Punch Through)



  1. Advanced Code

    Meaning 1: A command which (without JP1 can only be sent by an EFC. A command which is not assigned to any key by the Setup Key.

    Meaning 2: Synonym for EFC (Extended Function Code) Advanced Code

    Top


  2. Command Code

    The portion of an IR signal that is different for each function. In JP1 software this may be represented by an OBC, EFC, Hex Command or Variable Data.

    Top


  3. Device

    A consumer product operated by a remote control, such as a TV, VCR, or DVD.

    Top


  4. Device Code

    Synonym for Device Number

    Top


  5. Device Index

    A Device Index is essentially the same thing as a Device Mode. Calling it a Device Index is meant to emphasize the fact that it is a numbered object within the eeprom, and the fact that its normal association with a device key may be changed by an extender or a special protocol.
    IR must be told the names and positions of the Device Indexes via the [DeviceButtons] section of the RDF.

    Top


  6. Device Mode

    A Device Mode is everything that gets selected by pressing a device key. That includes a setup code and a set of key moves and a set of learned signals.

    Top


  7. Device Number

    The Device Number is encoded inside the IR Signal transmitted by the remote. It is a portion of that signal which is the same for many different functions for the same device, but usually different for another device using the same IR Protocol.

    You should avoid confusing the Device Number with the setup code. The Device Number is actually transmitted as part of the IR signal, while the setup code is a name invented by UEI or the JP1 group to represent a set of data including the Device Number.

    A single device may use a single Device Number or may use a few different Device Numbers. When a device uses several Device Numbers, there may be a setup code for that device which combines all those Device Numbers, or you may need key moves from other setup codes to cover any Device Numbers not included in the main setup code.

    Top


  8. Device Type

    A Device Type is a name, such as TV, VCR, or RCVR that identifies a set of devices. It is used primary as the first part of the name of a setup code.

    Device Types use mostly the same names as Device Mode which can be a source of confusion. In an RDF, Device Types are identified by the [DeviceTypes] section, while the Device Mode are identified by the [DeviceButtons] section.

    Top


  9. Device Upgrade

    A collection of data stored in EEPROM to define a setup code.

    A Device Upgrade may create a new setup code or may override a built in setup code.

    Top


  10. Discrete Code

    A Command Code that directly selects some device state, which is normally selected by a toggle or round robin function.

    Top


  11. DSM (Device Specific Macro)

    A DSM is actually a Key Move. Its purpose is to behave like a macro, but (like a Key Move) only be defined for one Device Mode.

    Top


  12. EFC (Extended Function Code)

    A 3 digit code used to represent a command within the current setup code.

    An EFC can be transmitted by pressing the Setup Key followed by the three digit code. Usually this is done only for testing. If you want to use an EFC regularly you can define a Key Move for it.

    An EFC can only represent a command for a protocol using single-byte hex commands. Longer hex commands can only be represented in other formats and can't be tested by the above method.

    Top


  13. Extender

    A program stored in a JP1 remote's EEPROM which takes over control of processing keys. It changes some of the basic behaviors of the remote to more like the way the remote would have behaved if we had designed it.

    Top


  14. Fixed Data

    Meaning1: A set of data inside a Device Upgrade that is shared by all keys defined by or based on that Device Upgrade.

    Typically the Fixed Data represents the Device Number and the Variable Data represents the Command Code. Meaning 2: Fixed Data in an RDF represents positions in the EEPROM which must have the specified values in order to distinguish between RDF that have the same Signature and/or to make a remote with that configuration behave correctly.

    Top


  15. Hex Command

    The Variable Data represented as one or more bytes in hex.

    Top


  16. Interface

    A device that links the JP1 connector of a remote to the parallel port of a PC.

    Top


  17. IR (IR.exe)

    The Windows program used to read and write the EEPROM and to modify the image of the EEPROM on the PC.

    Top


  18. JP1

    Meaning 1: The 6-pin connector inside the remote, which allows a PC and interface to read and write the remote's EEPROM. JP is the standard naming convention for board jumpers.

    Meaning 2: The whole collection of programs, documentation, data, web pages and forums used to customize these remotes by reading and rewriting their eeproms.

    Top


  19. JP1 Remote

    A remote control, such as the Radio Shack 15-2116 or the One-For-All URC-8811, which is compatible with the JP1 hardware and software. When asking questions about a remote, it is important to be clear about whether you are refering to a JP1 Remote, or to an OEM Remote, or to some other type of universal remote.

    Top


  20. Key Move

    A piece of data in the EEPROM which attaches a Setup Code and a Hex Command to a specific key within a specific Device Mode.

    A common misconception is that the 994 command, which defines a key move, associates one key with another and/or copies arbitrary information from one key to another. It does not. It only copies the setup code and the hex command which is defined for the source key by the href="#10123823">setup code It does not copy any key move, learned signal or macro that was attached to the source key.

    Top


  21. KM (keymap-master.xls)

    The Excel spreadsheet used to create device upgrades.

    Top


  22. Learned Signal

    A recording of an IR signal that is attached to a specific key in a specific Device Mode.

    The learning remote detects the recurring bursts used in the signal and detects the overall repeat pattern of the signal, both of which allow it to reduce the total space needed to store the signal. But, it does not try to decode the signal, so the learned signal still requires much more eeprom space than a Key Move or a signal that is part of a Setup Code.

    Top


  23. LSB

    Least Significant Bit first: This is the sequence for sending binary data that is used by the majority of IR Protocols.

    Example, to send the decimal value 30 (hex value 0x1E) in LSB sequence, it is converted to binary (00011110) then transmitted as a 0 followed by four 1's followed by three 0's.

    Many people find this sequence counterintuitive, because (In English) we read text left first and we write numbers with the most significant digit on the left. Those two conventions combine to make MSB transmission seem more natural. The mechanism for formatting an IR signal within a JP1 Remote also is based on the MSB sequence, so the bits of the Fixed Data and the Hex Command are always formatted into the IR signal in MSB sequence. To get the Device Number and OBC to end up in LSB sequence within the IR signal, JP1 software (typically KM) must put the bits of the Device Number backwards in the Fixed Data and put the bits of the OBC backwards in the Hex Command.

    Top


  24. MSB

    Most Significant Bit first: This is a sequence for sending binary data that is used by some IR Protocols.

    Example, to send the decimal value 30 (hex value 0x1E) in LSB sequence, it is converted to binary (00011110) then transmitted as three 0's followed by four 1's followed by one 0. See Also: LSB

    Top


  25. OBC (Original Button Code)

    A way of representing a Command Code or part of a Command Code as a single decimal number.

    Top


  26. OEM Remote

    Original Equipment Manufacturer's remote, the one supplied with a device such as a TV, VCR, Cable Tuner, etc. An OEM remote can also be a JP1 Remote, as in the ReplayTV 3000 and 5000 series OEM remotes.

    Top


  27. Phantom Key

    A key code which does not correspond to a physical button but which can be used within a macro.

    The remote itself can use as a phantom key almost any key code from $01 through $FF that doesn't happen to be a physical key's code. IR) can only use phantom keys that are defined in the RDF.

    The typical way to use a phantom key is to define a Key Move that gives the phantom key a meaning within a specific Device Mode and define a macro that includes the phantom key in its definition. If the function of the Key Move were something that you sometimes wanted to use outside a macro, you would assign it to an ordinary key or a Shifted Key and not need a phantom key at all. But, if it is a function used only in macros you may prefer to assign it to a phantom key in order to preserve your ordinary keys and Shifted Key for functions that do need to be used outside of macros.

    In a DSM you normally use a phantom key in the opposite of the way described above. You put a macro on a phantom key that is invoked by a Key Move on a non phantom key (rather than a Key Move on a phantom key invoked by a macro on a non phantom key).

    Top


  28. Protocol

    A segment of code that tells a JP1 Remote how to format an IR signal. The Protocol tells how to translate the Fixed Data and Variable Data into the final signal. The Protocol itself contains data, such as carrier frequency that are the same for all Setup Code using that Protocol.

    Top


  29. Protocol ID

    A hex number in the range 0000 through 01FF used to identify a Protocol.

    Top


  30. RDF

    A file that provides IR with all the information it needs about a particular model JP1 Remote such as what keys it has, how they are coded, etc.

    The first eight characters of the RDF filename must be the ascii form of the Signature. The extention on the RDF filename must be ".rdf". If either of those is not correct, or if the RDF file is not in the current directory (where IR is started) then IR won't find the RDF file.

    Top


  31. RemoteMaster

    A Java application used to create device upgrades.

    Top


  32. Setup Code

    Combination of a Device Type (such as TV or VCR) and a 4 digit number.

    A Setup Code is the name of a collection of data (including Protocol ID, Fixed Data, and Hex Command for individual keys) that represent the way the remote is programmed for a specific Device.

    A setup code may be built in to the remote or may be a Device Upgrade stored in EEPROM.

    Top


  33. Setup Key

    The key used to configure the remote.
    On most Radio Shack models it is the "P" key.

    On many One-For-All models it is the "Magic" key.

    On other One-For-All models it is the "Set" key.

    If it isn't any of the above, check the documentation for your model. One or more of the documented operations require a long press of a specific key. That is the Setup key.

    Top


  34. Shifted Key

    Pressing the Setup Key before another key "shifts" that key.

    This is just a short press of the Setup Key, not the long press used to configure the remote. To shift a digit key you must press the Setup Key twice before the digit.

    Key Moves, Learned Signals, and Macros can be assigned to Shifted Keys, giving you access to more functions than your remote has keys.

    When you want to use a Shifted Key in a macro, it can be stored in the macro definition as a single Key Code, representing both the key and the fact that it is shifted (Using the "Add Shift" or "Ins Shift" buttons in IR (IR.exe). This saves space and has other advantages vs. using the Setup Key followed by another key within the macro definition.

    Top


  35. Signature

    The bytes in positions 002 through 009 of the EEPROM identify the model of remote.

    IR uses the signature as the major input to the decision of which RDF file should be used for information about the remote.

    The first eight characters of the RDF filename must be the ascii form of the signature.

    Top


  36. TOAD

    Toggle Only Actuated Device.

    This is a Device that has commands (such as a power toggle) to toggle between two states, and/or commands to sequence among a few states (such as a few possible input sources), and lacks commands to directly select specific states.

    Top


  37. Two-Byte Hex Command

    Each IR signal defined by a Setup Code or a Key Move depends on a Hex Command. Most protocols use hex commands that are one byte long. Most of the remaining protocols use hex commands that are two bytes long. (Hex commands longer than 2 bytes are quite unusual).

    Hex commands are often entered as EFC's. This is only possible for hex commands that are one byte long.

    Without JP1, two-byte (or longer) hex commands cannot be entered at all. UEI provides lists of Advanced Code only as EFC's. Many newer UEI remotes have some common Setup Code built with Protocol that need two-byte hex commands. Advanced Codes cannot be used in those Setup Codes on those remotes without JP1. With JP1, IR (IR.exe) can be used to define Key Move for longer hex commands as long as you select "Hex Cmd" rather than "EFC" and you type the hex command as the correct number of 2 digit hex values. KM (keymap-master.xls) can be used to define two-byte hex commands either within a Setup Code or as Key Move With KM (keymap-master.xls), the user does not need to worry about the length of the hex commands, or whether they can be represented as EFC's. All of that is automatic.

    Top


  38. Variable Data

    The data stored once for each key in a Device Upgrade, or a Key Move.

    Typically, the Fixed Data represents the Device Number and the variable data represents the Command Code.

    JP1 software may represent variable data (one or more bytes) as a Hex Command, or may represent one byte of variable data as an EFC, or may represent some part (or all) of the variable data data as an OBC.

    Top


  39. VPT (Volume Punch Through)

    An option in a JP1 Remote allowing the Vol+, Vol-, and Mute keys from one Device Mode to be used in another Device Mode.

    Top


Was this page helpful?