Extenders
|
Back to IR Help Index |
Previous Topic EFCs and OBCs |
Next Topic: Special Protocols |
An extender is a special piece of software written by a JP1 member to enhance the JP1 experience. Each extender is specifically tailored to the capabilities of the remote. This software is loaded into the E2/EEPROM area. The extender is activated by a special keymove, typically a TV/Power. Once the extender is activated it takes control of the keypad and changes the way the remote handles the E2/EEPROM area, until the extender is deactivated. Deactivation will be covered in you README file.
The list of extender features has improved and increased over the years. There may be many extenders available for your remote. As a general rule, you're usually best off choosing the most recent extender for a particular remote, as it is most likely to have previous versions' bugs fixed. However, there may be times when the mix of features you want is better in an older version. Typically the extenders with fewer features take less of the E2/EEPROM area. It is very important to read the README file, to decide which extender you want.
The basic advantages of modern extenders are:
1)Increase keymove/macro space
Most people move to extenders because they have run out of keymove/macro space. If your remote has learning memory, you can overcome this shortage by using an extender. Once you switch to an extender, the keymove and macro space will be much larger than it was. All this extra keymove/macro space came from the E2/EEPROM area where the learns are normally stored. This makes learning a little inconvenient, as you need to disable the extender, do your learns, read the decode and then make an upgrade/or keymove to handle the new function. Then reload your extender image with the new upgrades and reactiveate your extender.
2) Faster Macro execution
3) Nested Macros
With the ability to call one macro from another macro, so we create complex macros without worrying about the 15-20 key limit on an unextended remote.
4) Adds xShift capability The xShift is a great way to handle extremely complex equipment that needs more keys than are on the remote. XShift increases the number of pressable keys.
5) Temporary device selection in macros
The temporary device selection in macros solves the problem of how to have macros leave the remote in the proper state when the macro finishes.
6) HT - Home theater emlation.
HT emulation gives you greater control of punch through for volume, transport, channel and menu keys. See more below.
7) Special Protocols
Special Protocols to make it easier to customize your remote. The pause protocol is generic and can be used across a whole family of remotes. Other special protocols like the ToadTog, Double Key Press, Long Key Press, Device Specific Macros, Multiplex and others, will only work on the remote they were designed for. These Special protocols are almost always developed by the extender writer.
8) Improved FAV key handling.
The automation you can do with an extender is far superior to the kind of automation you can do with the standard remote. Figuring out how to use these features can be quite daunting.
Once you’ve found the extender you want, you’ll want to read the README file, even if you’ve installed extenders before, because every extender is different.
Getting started with an extender can vary from one extender to another. If the extender zip file includes a .HEX file, then this extender was designed to be installed via ExtInstall. Your documentation may tell you how to do this at the command prompt, but IR makes it very easy to do it from a menu option. Once you’ve downloaded Extinstall and its supporting libraries, you just need to tell IR where to find it. You open your existing .IR file and pick Extinstall off the menu and follow the prompts.
If the extender predates extinstall, or if you don’t have anything complicated to start with, you can start with the pre-built file. This may be an .IR file or if the extender predates IR 5.0, your pre-built file might be a .txt file. Just open your pre-built file and start adding your keymoves and macros.
HT – Home Theater
Many extenders offer sophisticated HT settings. In an unextended remote, when you press a device button, it sets a device index. This device index is used to locate the setup codes and keymoves. In an extender offering HT settings, the extender keeps an array of device indexes corresponding to logical groupings of the keys. The number and composition of these groups varies from remote to remote, but in general they usually have:
Volume (Vol-, Vol+, and mute);
Transport (Play, Pause, Stop, FF, Rew, Rec, maybe others);
PIP (PIP on/off, Swap, Move, others possible);
Menu (Menu, arrows, Select);
Channel (CH+, CH-, Last or Prev, Fav, the number keys); and
Other (Power, TV/Video, Light, Setup, Device keys etc.)
Any time a key is pressed, the extender checks to see which keyset the key belongs to, and then uses the appropriate device index to find setup codes and keymoves.
Most extenders use one of two basic approaches to implementing HT device selection. These methods are very different. It is helpful to know the different types so that you can understand what you are seeing if you open someone elses IR to take a look at how things are acommplished.
One thing both types of HT implementation offer is TEMPORARY device selection. Temporary device selection makes macros more powerful. Temporary device selection lasts until a macro ends or a CANCEL temporary device selection is reached or different temporary device is processed. Temporary device selection makes it easier to create macros that don't change your device mode..
When an extender offers HT, the device buttons, become ordinary buttons and new keycodes are created to perform the device index selection. Most extenders build a courtesy macro on the device keys to demonstrate how to do device selection.
a) The first method employs a key combination temporary device selection keycode and a Set_xxx_ keys keycode.
b) The second method has specific keycodes that assign device index directly to keyset as one operation.
The code scheme described in (a) is typically used in remotes that have more than 8 devices in total. On an 8 device remote this method (a) would only require 15 sequential keycodes, but for method (b) it would require 57 sequential keycodes. (8 devices*(6 divisions+1 temporary)+ 1 cancel).
For scheme A, you need at least two commands in a macro to assign a keyset to a device. For example, to set the transport keys to the VCR device, you would use the macro "DEV_VCR; SET_TRANS_KEYS". Dev_xxx are temporary device selection keycodes. Dev_xxx keycodes will override all keyset rules, until a DEV_Cancel is encountered; or a different DEV_xxx keycode is issued or until you’ve processed the last key in the macro buffer.
To assign ALL of the keys to one device you can make a simple macro:
DEV_VCR, SET_VOL_KEYS, SET_PIP_KEYS, SET_TRANS_KEYS, SET_CHAN_KEYS, SET_MENU_KEYS, SET_OTHER_KEYS
or you can mix and match to have your remote set up to control your Receiver's Volume, your TV's PIP functions, your VCR's Transport functions and your SAT Box for everything else:
DEV_RCVR, SET_VOL_KEYS, DEV_TV, SET_PIP_KEYS, DEV_VCR, SET_TRANS_KEYS, DEV_SAT, SET_OTHER_KEYS, SET_MENU_KEYS, SET_CHAN_KEYS
In scheme B, a SINGLE keycode assigns a particular set of buttons to a device. The prefix indicates the keyset. The second part of the name indicates the device index normally associated with the device button.
V_ Volume
P_ Pip
T_ Transport
M_ Menu
C_ Channel
O_ Other
For example, T_VCR assigns the transport buttons to the device index normally associated with the VCR button.
The corresponding Device Selection macros to the examples in the previous scheme would be:
Simple device selection:
V_VCR, P_VCR, T_VCR, M_VCR, O_VCR, C_VCR
and the customized macro would look like:
V_RCVR, P_TV, T_VCR, O_SAT, M_SAT, C_SAT.
This scheme has a separate method for TEMPORARY DEVICE SELECTION for you to use within macros or other sequences, and that is use of an X_device keycode and (X_TV or X_DVD) and X_Cancel. X_device will override all keyset rules, until the device until a X_Cancel is encountered; or a different X_device keycode is issued or until you’ve processed the last key in the macro buffer.
For more information, see the Extenders (an FAQ).