One for all EXTENDER A1 FOR URC-7780, EXTENDER A1 FOR URC-7781 User manual

Extender A1 for the URC-7781 Digital 12
and URC-7780 Stealth 12
Contents
1. Basic Features......................................................................................................................2
2. Installing the extender .........................................................................................................2
2.1 Choosing an installation method ...............................................................................2
2.3 Clean installation .......................................................................................................4
2.4 “Almost Clean” installation.......................................................................................5
2.5 Upgrading an existing installation.............................................................................7
3. Default operation and button groups...................................................................................8
4. Creating key moves and macros..........................................................................................9
4.1 Key moves .................................................................................................................9
4.2 Macros .....................................................................................................................10
5. Modifying the default Home Theatre assignments............................................................10
6. Device switching ...............................................................................................................11
7. Shift, X-Shift, T-Shift, Shift Cloaking and ESC ...............................................................12
7.1 Shift and X-Shift......................................................................................................12
7.2 Timed Shift (T-Shift)...............................................................................................12
7.3 Shift Cloaking..........................................................................................................12
7.4 Escaping from a Shift ..............................................................................................13
7.5 Changing the Shift buttons and the optional nature of X-Shift ...............................13
7.6 Adding further actions to the Shift keys ..................................................................13
8. Temporary device reassignment........................................................................................14
9. The Light button................................................................................................................14
10. The Special Protocols........................................................................................................15
10.1 Device Specific Macro ............................................................................................15
10.2 Long Keypress.........................................................................................................16
10.3 Double Keypress......................................................................................................16
10.4 Device Multiplexer..................................................................................................16
10.5 Pause........................................................................................................................17
10.6 ToadTog...................................................................................................................17
10.7 The Inbuilt Device Specific Macro..........................................................................18
10.8 Global use of Special Protocols...............................................................................18
10.9 A Composite Example.............................................................................................19
11. Exiting the Extender to use Magic Setup ..........................................................................20
12. Changing the batteries.......................................................................................................21
13. A few Technical Notes......................................................................................................22
Appendix 1: Key Codes for the Extender...............................................................................23
Appendix 2: Preparing to Upgrade an Existing Installation ...................................................25
1
1. Basic Features
This extender is provided in two different versions, one for the URC-7781 and the other for the earlier model URC-7780. The features in the two versions are identical and this manual covers both versions. For each remote the extender is provided in three forms, a “.ir” file for a clean installation and two slightly different “.hex” files for two alternative methods of upgrading from an existing setup of the unextended remote.
The main features provided by the extender are:
every device becomes its own version of Home Theatre
ability to create dedicated device selection buttons, e.g. on Shift/digit keys
the Light key now works as one would expect, rather than the counter-intuitive way it does in the
unextended remote
the following Special Protocols are included
o Long/Double Keypress o ToadTog o Device Specific Macros o Device Multiplexer o Pause
ToadTog toggles can be set to time out
macro format is compatible with IR.exe (current version 7.15), which the macro format of the
unextended remote is not
macros are fast and can be nested, giving huge flexibility when used with the included Special Protocols
it has three ‘phantom’ keys and an optional second shift key
ability to return to the unextended remote for (limited) use of long Magic keypress setup facilities
These facilities are provided at the expense of
no learning capability
no specific HT (Home Theatre) device – no loss, since every device becomes a version of Home
Theatre
no upgrading via modem downloads – you must use IR.exe with Remote Master for upgrading
no timed macros
no direct entry of EFCs (which is possible, but undocumented, in the unextended remote)
Compared with the unextended remote, the Special Protocols take up some upgrade space, reducing the available space from 1022 bytes to 774 for the URC-7781 (780 for the URC-7780), but there is an increase in the space for key moves and macros, from 850 bytes to 1022 for the URC-7781 and to the substantially larger 2046 for the URC-7780.
2. Installing the extender
2.1 Choosing an installation method
Three distinct methods of installing the extender are described below. These are
Clean installation. This method completely overwrites the existing setup of your unextended remote. It enables you to plan your setup of the extender from scratch.
2
“Almost Clean” installation. This method preserves any device setup codes that you have installed through downloads of internet or phone upgrades but it overwrites all other setup information. As with a clean installation, it enables you to plan your setup of the extender from scratch.
Upgrading an existing installation. This method allows you to choose which features of your existing setup you wish to preserve in the extended remote. Not everything can be preserved, but you can choose any or all of devices, device labels, device code upgrades, key moves and the volume lock device. Indeed, the only feature available in the extender that cannot be preserved is Key Macros, for reasons explained in Appendix 2. This is certainly the most flexible installation method but it needs particular care, as it is easy to carry forward errors from the existing setup to that of the extender.
It is likely that you will want to set up your extended remote in a way that is very different from your existing setup for the unextended remote. Indeed, if this were not the case then you would probably see little point in installing the extender. In this case you should choose a clean installation if your present setup does not include any device codes from internet or phone upgrades, or an “almost clean” installation if it does include such upgrades. If, however, you have put a lot of effort into creating key moves (“Key Magic”) that you want to retain with the extender, then you may prefer to upgrade your existing installation.
If you have already installed an extender on your remote, so are making a re-installation, your choice is slightly different. If you have saved your original unextended remote setup as a .ir file, you may of course re-upload it to your remote and use any of the above methods. If you no longer have a .ir file for an unextended setup then you can always make a clean installation, exactly as if it were an unextended remote. If you can exit the extender – for this extender the exit procedure is described in section 11 – then you can also make an “almost clean” installation and preserve any internet or phone upgrades. At least, you can if your existing extender is this one, success is not guaranteed if it is a different one. What you cannot do is the third choice above, a general upgrade that preserves other setup data.
Be prepared for some unusual steps in the installation procedure. These are a result of incompatibilities between the two remotes and the current version (7.15) of IR.exe that are explained in detail in Appendix
2. If you plan a clean, or almost clean, installation then these details need not concern you as they are taken care of by the installation methods. If you plan to upgrade an existing installation then you must read Appendix 2, Preparing to Upgrade an Existing Installation, as you will need to take care of these incompatibilities yourself, before commencing the upgrade, by following the instructions given in that appendix.
2.2 Before you begin
Before you do anything else, you need to copy the two RDF files that are included in the extender package into the same folder as your other RDF files used by IR.exe. For the URC-7781 these files are
11311131 (URC-7781 Digital 12).rdf and 113A113A (URC-7781 Extender A1).rdf.
For the URC-7780 they are 10621062 (URC-7780 Stealth 12).rdf and 106A106A (URC-7780 Extender A1).rdf.
You probably already have in that folder an RDF file for your unextended remote. Please move this to another folder to preserve it and then copy both files as explained above. This is important as it ensures that the RDF files for the unextended and extended remote are mutually consistent. After you have installed the extender, you should have no further need for the RDF file for the unextended remote. You
3
may then leave this new one (recommended) or reinstate your original one as you wish, as it plays no part in the use of IR.exe to customise the extended remote to your needs.
Next, you should open IR.exe, download your existing setup to it and save it as a “.ir” file, so that you can recover a functioning setup if anything goes wrong. Remember, it is impossible to damage your remote through installing the extender. Even if the installation goes wrong, you can return to a functioning unextended setup by re-uploading this saved file with IR.exe. You can then try again.
If you plan an “almost clean” installation or to upgrade an existing installation, you need to have Extinstall installed on your computer. This is available under Tools/Programs in the File Section of the JP1 Forum. The latest version at the time of writing is
Extinstall Version 2.0 dated Sept 10, 2007. Download the .zip file and copy the file extinstall.exe from it into any desired
folder. Then open IR.exe, go to File/Set Directory and select the menu item “ExtInstall Path...”. Specify the folder into which you have copied extinstall.exe and press OK. IR.exe is now set up to install extenders as upgrades. Note that an “almost clean” installation is in fact a form of upgrade.
It is also wise to make sure you have Remote Master installed and set up with the RDF, map and image files needed for its use with your remote. Remote Master provides the only way of installing new device updates on the extended remote. Internet and phone downloads are not available with the extender, and these remotes are not supported by Keymap Master. The files needed to use Remote Master with these remotes are available under Tools/RDF Files in the File Section of the JP1 Forum. For the URC-7781 they are there as a .zip file under the entry
11311131 URC-7781 map jpg rdf with the latest version at the time of writing being submitted by me (mathdon) and dated Aug 07, 2008.
For the URC-7780 there are several entries but the best at the time of writing is the .zip file under the entry
10621062 (URC-7780 Stealth 12) - fixed submitted by kevis1982 and dated Apr 09, 2008. In both cases I recommend that you use the RDF file
included with the extender package and take only the .map and .jpg files from these zip packages. Now proceed with your choice of installation method as described below.
2.3 Clean installation
Before you start a clean installation, make sure that you have Remote Master upgrade files for any device setup codes you need that are not built into the remote. If you have device codes installed either as an internet or a phone upgrade, you need to create an equivalent Remote Master upgrade, but you may find it easier in this case to make an “almost clean” installation as described in the next section.
When you are ready to begin, start up IR.exe and load the file URC-7781 Extender A1.ir or URC-7780 Extender A1.ir. as appropriate. Upload this to your remote. You will receive a warning that the signature of the upload
differs from that of the remote, asking if you want to proceed. Say yes. The remote will then take you through its usual startup procedure, asking you to set Language, Day and
Time. Do so. You will then find that there is one installed device, TV. Next enter the long Magic keypress setup procedure on the remote and use Add Device to add the devices you want to use. If the setup code you need is a built-in one, use it. If not, just accept the default value for now.
The order in which you add devices is important. TV is Device 1 and further devices become Device 2, Device 3 etc. in the order in which they are added. The device numbers are irrelevant in the unextended remote, but they are used by IR.exe setup procedures and cannot be changed after they are added. You
4
may use Change Device Label to set your desired labels for the LCD display, and Move Device to change their order on the display, but note that this does not change the Device Numbers.
Next, scroll to the TV device and press the Record key (once – double keypress not required). The LED should flash four times. You have now entered the extender!
Now download the device setup to IR.exe and save it as a .ir file (in case of accidents!). Use IR.exe with Remote Master to install any device or protocol upgrades. If the upgrades include key moves, you will be told that no device has yet been assigned to this setup code – do you want to assign it now? Yes you do, assign it to Device n, where n is the number of the device concerned in your initial setup. You will have used the default setup code for this device type in that initial setup, this will change it to the code you are currently installing.
When you have installed all your upgrades, go to the General tab of IR.exe and check the Device Buttons table, which lists the buttons as Dev1 to Dev12, to see if they are now all assigned to the correct codes. If you installed a device code from Remote Master that did not include key moves, this will not yet have been assigned to the correct device. Also, the TV device will need to be changed to the code for your TV. Just change the code in the Device Buttons list. If you want to use Volume PunchThrough, go to the Other Settings table on the General tab, set VPT Device to the device you want Volume to use – the choice is Dev1 to Dev12, and change VPT Status from Off to On. All devices are automatically included in the volume lock. To remove a device from volume lock you need to set up a macro – more on this below.
After this, go to File/Save to update the initial .ir file you saved, or use Save As to give a different name if you want to preserve the initial one.
Upload this setup to the remote. You won’t get the warning this time about different signatures, as both the upload and the device will have the signature of the exender. Go again through setting Language, Day and Time. You will then enter normal operation with the TV device selected. Press the Record key as before. You have now completed the basic installation of the extender for your devices and should continue reading at section 3.
2.4 “Almost Clean” installation
An “almost clean” installation is a special type of upgrade installation. It enables you to carry device upgrades forward from the unextended remote to the extender. Any device upgrades can be preserved in this way, whether they were installed through an internet or a phone upgrade or with Remote Master and IR.exe. Note, however, that many device upgrades created with Remote Master (but not those installed through an internet or phone upgrade) include Key Moves (“Key Magic” entries) and Key Moves are not preserved. These upgrades need to be deleted before the upgrade step of the installation and re-installed afterwards, so make sure you still have the Remote Master upgrade files for them before you start.
The first step involves deleting all the devices that you have currently installed in your remote. If you are happy with these devices, the labels for them and the order in which these labels appear in the LCD window, make a note of these labels and their order, starting with TV. Use this when you come to reinstall the devices as part of the installation procedure, but do not omit this first step.
To perform this first step, make a long keypress of the Magic key to enter device setup. Then press Enter twice followed by LCDLeft to select Initial Setup/Device/Delete Device. Press Enter. The LCD display will change to show a device label with its device code underneath, or possibly HT (Home Theatre) which displays without a device code. If it shows HT, press LCDRight to navigate to the next device. Otherwise, just continue with the default device displayed. Press Enter again. This will delete that device and return the display to Delete Device. Repeatedly press Enter twice to delete all devices, skipping HT as above if necessary. After the final deletion the display will read Add Device, rather than Delete Device. Press Enter four times. The first press displays the list of devices that can be added, with the pointer at TV. The second selects the TV device and displays Code Setup. The third displays TV with its
5
default setup code. The fourth press completes the addition of the TV device with this default setup code. If you had Home Theatre set up, that will have been deleted automatically when the last “ordinary” device was deleted.
Let the LCD display time out (go blank) and make another long keypress of the Magic key to re-enter device setup. This time press LCDRight, Enter and LCDLeft to select the menu item Advanced Setup/Reset. With Reset displayed, press Enter once so that User Reset is displayed, and then Enter a second time to perform a User Reset. The LED should flash twice, then twice more, and the LCD display should return to Reset.
Next, start up IR.exe, connect your remote and download the setup as it currently is. You should see on the General tab that you have exactly one device set up, Dev1 with type TV. Go to the Devices tab and select, in turn, each device setup code that needs to be deleted. Note that neither of the steps you have taken so far remove or modify in any way any device setup codes you have installed as upgrades. As mentioned above, the device setup codes you need to delete are any installed from Remote Master that include Key Moves, as the Key Moves have already been deleted by the User Reset so that these codes will need to be re-installed later on. If you are making a re-installation of the extender on top of an existing extender, you also need to delete the device setup codes that correspond to the extender and its special protocols. With the present extender, and probably most others, these are:
TV/1800, VCR/1800, TV/1101, TV/1103, TV/1104 and TV/1106. For each device code that needs to be deleted, make a note of the Protocol ID shown in the Device
Information pane of the IR.exe display. Similarly select in turn each device that you do not want to delete. Look at its Protocol ID. If that ID is one that you have noted down, cross it off your note. Then go to the Protocols tab and see which of those remaining on your note are listed in the left-hand pane, in the form Protocol: $xxxx, where xxxx is the Protocol ID you have noted down, padded on the left with zeroes to give four characters. Those remaining on your note and which are listed must be deleted. This will certainly include the protocols for the devices just mentioned that correspond to any existing extender and its special protocols. To delete a protocol, simply select it in the left-hand pane of the Protocols tab and press the Delete button at the bottom of the display (not the other one marked Delete that is in the Data Addresses pane). You will be asked, for each one, “Are you sure you want to delete this upgrade protocol?” Answer Yes to each. Repeat this process on the Devices tab to delete each of the devices that need deletion. Again there is a corresponding confirmation question.
When you have deleted all the protocols and devices that need deletion, select the Advanced menu from the top line of the IR.exe display and click on Clean Upper Memory. This removes any garbage left over by the device and protocol deletion. When IR.exe “deletes” a device or protocol it actually only deletes its reference from a lookup directory, in the same way that “deleting” a file on a PC actually only deletes its directory entry, not the file data itself. The Clean Upper Memory process removes any device and protocol data that is no longer referenced by the relevant lookup directory.
If you have followed this carefully, IR.exe now contains a setup for an unextended remote (even if you are re-installing over an existing extender) that contains one device (TV), any device setup codes (with corresponding protocols if required) that you installed through internet or phone downloads and any installed from Remote Master that do not have associated Key Moves. Nothing else is present, except possibly for a little remaining garbage in the area that manages device labels. Even this garbage will be removed in the next step, which is to merge this setup with the extender. This merge process will create a “.ir” file that is your own version of the file
URC-7781 Extender A1.ir or URC-7780 Extender A1.ir supplied in the extender package, personalised by the inclusion of the device setup code upgrades that you
have retained and completely free of any garbage left over from your original setup.
6
To perform this merge, open the File menu of IR.exe and select Merge Using ExtInstall. If a prompt appears saying that the data has changed and asking if you want to save it, say yes and save this pre­merge version where you wish. A window will then open headed “Select a .HEX File”. Navigate to the folder that contains the files you extracted from the extender package, select
URC-7781 Almost Clean A1.hex or URC-7780 Almost Clean A1.hex as appropriate and then press the Open button. A new window will open, headed “Save”. Navigate to the
folder in which you want to save your personalised .ir file, and enter your choice of name in the “File Name” box. Press the Save button. The merge will take place, the merged file will be saved with the location and name that you chose and you will be left in IR.exe with this file open.
You continue by following the instructions for a “Clean installation” given in section 2.3, but using your personalised .ir file instead of the supplied one. You already have this file loaded into IR.exe, so you pick up the instructions of section 2.3 with the second sentence of its second paragraph, “Upload this to your remote.” The only difference is that when you come to add devices as described in the third paragraph, you have available your retained setup codes in addition to the built-in ones. If you have recorded the list of your original device labels and want to re-create them, this third paragraph is the point at which you do so. The TV device is already present. Add the remaining devices in the order they appear on your list, accepting for now the default labels. Then use Change Device Label to make any changes to the labels that you desire. You should not need to use Move Device, as the LCD display will show the devices in the order in which you added them. Continue to the end of the “Clean installation” instructions. You have then completed the basic installation of the extender for your devices and should continue reading at section 3.
2.5 Upgrading an existing installation
Do not be fooled by the fact that these instructions are much shorter than those for a Clean or Almost Clean installation. They are shorter because those instructions spelled out in detail the preparation required. They ensured that no garbage was left over in the EEPROM data from your original installation and they removed any data errors that may have been present as a result of incompatibilities between IR.exe (version 7.15 or earlier) and the operating system of the URC-7780 and URC-7781 remotes. When you upgrade an existing installation, it is up to you what preparation to make. Appendix 2 of these instructions provides the information you will need, but it does not and cannot tell you what to do. It all depends on what your current setup data contains, what of it you wish to retain, and what data corruption may have been caused by previous use of IR.exe due to the incompatibilities just mentioned.
So here are the instructions. First read Appendix 2 and make any preparations to your existing setup that you decide are necessary. Open IR.exe, connect your remote and download its setup to IR.exe.
The next step merges this setup with the extender data, resulting in a “.ir” file for the extended remote that includes whatever setup data you preserved during your preparation. Open the File menu of IR.exe and select Merge Using ExtInstall. A window will open headed “Select a .HEX File”. Navigate to the folder that contains the files you extracted from the extender package, select
URC-7781 Extender A1.hex or URC-7780 Extender A1.hex as appropriate and then press the Open button. A new window will open, headed “Save”. Navigate to the
folder in which you want to save the .ir file, and enter your choice of name in the “File Name” box. Press the Save button. The merge will take place, the merged file will be saved with the location and name that you chose and you will be left in IR.exe with this file open.
Upload this to your remote. You will receive a warning that the signature of the upload differs from that of the remote, asking if you want to proceed. Say yes. The remote will then take you through its usual
7
startup procedure, asking you to set Language, Day and Time. Do so. You will then enter normal operation of the remote. Select the TV device and press the Record key (once – double keypress not required). The LED should flash four times.
You have now completed the basic installation of the extender for your devices, have installed and entered it on your remote and have it saved as a .ir file. You should continue reading at section 3.
3. Default operation and button groups
No further customisation is needed for the extender to work. In contrast to most, if not all, other extenders there is a default device configuration that does not need macros. The Macros tab in IR.exe will show you that there are no macros yet installed. Devices may be selected through the LCD and its left and right scrolling buttons and the selected device will work, with a default setting for its Home Theatre action.
The physical buttons on the device are divided into six groups for device setup, each group being labelled by a single letter. These are:
C (Channel): Digits, Ch+, Ch−, -/--, AV T (Transport): Ffwd, Pause, Play, Record, Rew, Stop, Skip−, Skip+ V (Volume): Vol+, Vol−, Mute M (Menu): Menu, Up, Down, Left, Right, OK, Exit A (Aspect): 16:9, Bri+, Bri−, Col+, Col− O (Other): Power, Guide, Red, Green, Yellow, Blue, A, B, C, D, Sleep, Magic, Enter, Light
As with the unextended remote, the Record button must be pressed twice to have an effect. This property is linked to the Record function being sent for output as an IR signal, so if you include the Record key in a macro, it again must be put in twice but if you assign a macro or key move to the Record button, it only needs to be pressed once.
The buttons Brightness+/−, Colour+/− and Sleep are pseudo-physical buttons, in that these actions are produced by Magic followed by Channel+/−, Volume+/− and Power but they have special handling in both the unextended remote and the extender. First, they may be mapped to IR signals in setup codes, though for obvious reasons the Brightness and Colour buttons only apply to setup codes for TV. Secondly these are functions that one frequently wants to press several times in succession. To meet this end, the shift action of the Magic button latches on as applied to these, but no other, buttons. After one of these buttons is pressed, any further press of Channel+/−, Volume+/− or Power within about 5 seconds is treated as Brightness+/−, Colour+/− or Sleep and it also resets the timer, so any number of button presses in succession may be made from this group without pressing Magic again, provided that not more than about 5 seconds elapses between them. Other buttons will behave as unshifted after the first press. The visible sign of expiry of the time period is that it lasts until the LCD status changes – if the backlight is on, it goes off at the end of the period and if the light is off, the LCD goes blank.
The button groupings are similar to those of Home Theatre in the unextended remote, but a little less refined than those 10 groups as the Power, Guide, Fastext and ABCD groups are put together in the Other group. The Other group also includes Magic, Enter and Light, which are not available as signal buttons in the unextended remote. There, those are dedicated buttons that cannot have assigned functions. In the extender, Enter behaves as an ordinary, assignable button. The Magic and Light buttons have dedicated actions, though that for Magic is changeable as described in section 7.5, but you can assign them to a function that is performed in addition to the dedicated action. Only the LCD Left and Right scrolling buttons are outside of any group, as these retain their dedicated action of scrolling the display. Even so, these two buttons do behave as keystrokes to which functions can be assigned, but the keystroke corresponds to the device that becomes selected on the LCD display, not to which scroll button is pressed.
8
In one important respect the new groupings correct a deficiency in the construction of the unextended remote. There, the Brightness buttons are in the Channel group and the Colour buttons in the Volume group, corresponding to their unshifted assignments. Since these pseudo-physical buttons only apply to the TV device, this appears to be a simple oversight when these buttons were added to the software. In the extender they have a natural grouping in the Aspect group with the 16:9 button so that they can all be assigned to the TV device.
By default, when Device n is selected on the LCD, the buttons of the various groupings send the corresponding IR signal for the following device:
A (Aspect): Device 1 (TV) V (Volume): The VPT Device, if set and turned on, otherwise Device n All other groups: Device n.
This gives every device a default Home Theatre operation.
4. Creating key moves and macros
4.1 Key moves
Key moves enable you to change the function performed by a button, or to add a function to a button that has no function within the setup code for the device concerned. They have the same functionality in the extender as IR.exe provides for them in the unextended remote. This is somewhat more than is available through the long Magic keypress setup for Key Magic, as the assigned function can use any setup code, while Key Magic restricts you to the setup codes that have already been assigned to devices.
You create key moves through the Key Moves tab of IR.exe by pressing Add. In the Bound Key section of the form that appears, you choose the device and key to which you want to assign the new function. You specify this function through the Function to Perform section of the form. First choose the device that the new function operates. If it is a device already set up, just double click its entry in the Device list. For greater flexibility you can specify the Device Type (e.g. DVD) and Setup Code (e.g. 0788) just as if you were setting up a new device. Finally you specify the function for that device. By selecting the appropriate radio button, this can either be a key (chosen from a drop-down list, as allocated in the setup code), an EFC (the 5-digit value that you would enter as a Key Magic code in the unextended remote) or, if you know it, the Hex Command (one or two bytes, specified as hex values preceded by $, e.g. $1A $B3).
The function assigned to a key move is output directly as an IR (infra-red, not IR.exe) signal. Its processing makes direct use of the setup code specified in the key move, regardless of whether that code is or is not assigned to any device. Also, when you press a button, the processing checks whether there is a key move assigned to that button before it checks whether there is a macro assigned to it. An important consequence of these two features is that there is no nesting or recursive action in a key move. It does not matter whether a macro or another key move is assigned to the button, if any, that would perform the assigned function – that function will be performed. For example, I have what at first sight seems to be an unnecessary key move: the device/button combination ‘Device 1 power key’ is bound to the function ‘Device 1 power key’. But I also have a macro bound to the power key and I do not want it to operate with Device 1. This key move ensures that with Device 1, the power key has its normal function regardless of the presence of the macro.
I also have key moves assigned to the Enter button, separately for each device. These change the input selector of my AV receiver to that for the device concerned. This provides the Enter button with a common function across all devices.
9
4.2 Macros
Macros are central to the exploitation of the facilities of the extender. They are created through the Macros IR.exe tab by pressing Add. As with a key move, you first select the device/key combination to which you want to assign the macro. Then use the Macro Definition section of the form to create the list of keys you desire in the macro. You select a key in the Available Keys list and then press Add, Add Shift, or Add XShift to add that key in its unshifted, shifted or X-shifted version (X-shift is described in section 7 below). Use the Insert buttons rather than the Add buttons to add the key into the middle of a partly created list. When done, press OK.
Macros can be nested, to virtually any length. They are expanded dynamically, so the list of macro keys does not replace the bound key in the keystroke queue until it is its turn to be processed. Since the keystroke queue can hold up to 180 characters, you are unlikely to run out of queue space. In particular, though it is more likely to happen by accident than design, you can create an infinite loop that will run until you remove the batteries, or they go flat! It is this nesting capability of macros, combined with the Special Protocols, that give the extender its great power.
If you hold down a button that has an assigned macro, it will perform a repeat action, just like any other key. But it is not the whole macro that repeats, it is only the final keystroke in its expansion. If, for some particular macro, you want to prevent such a repeat action, put the Null key after the last ‘real’ key of the macro.
Macros are fast – much faster than in the unextended remote, though the actual maximum speed is dependent on the IR protocol in use. This is fine if you do not want to send two keystrokes to the same device in one macro, but if you do then the device may need a minimum time between them. This can be achieved in one of two ways.
The time between successive keystrokes being output can be adjusted for all macros through the entries Macro Delay Hi and Macro Delay Lo in the Other Settings section of the General tab of IR.exe. These values are the decimal forms of the high and low bytes of a two-byte value that is, roughly, a delay time in milliseconds. Note that this delay is additional to the native protocol-dependent delay inherent in sending the IR signals. Suppose you want a delay of 1 second. This is 1000 milliseconds, or in hex, $03E8 milliseconds. The conversion is easily done using the Scientific view in the Windows Calculator. To create this delay, enter $03 in Macro Delay Hi and $E8 in Macro Delay Lo. These will change to their decimal forms 3 and 232 respectively, which you could have entered directly, but the hex form avoids a second conversion. There is one strange proviso. Do not enter a Lo value of zero. It is interpreted as 256, i.e. the Hi value becomes effectively one more than the entered (and displayed) value. The default value present when you first start the extender is Hi = 0, Lo = 128, i.e. about one eighth of a second.
The other way of creating a delay is to use Pause, a Special Protocol described in section 10.5 below. This enables you to insert a pause between two macro keystrokes without affecting the overall speed set by the Hi and Lo values as above. The delay caused by a Pause is specified in just the same way as these Hi and Lo values, as two bytes in hexadecimal form giving the delay in milliseconds, with the same proviso about the use of zero as a low byte.
5. Modifying the default Home Theatre assignments
To modify the default Home Theatre assignments you create a macro with IR.exe as described in section
4.2. At the bottom of the drop-down box for Bound Key, you will see Dev1 through Dev12. When you scroll through the list of devices in the LCD of the remote using the Left and Right scroll keys, the extender first makes the default assignments described in section 3 for the device that becomes selected and then generates a keystroke Dev1 through Dev12 corresponding to this device. To modify the default assignments for Device n you create a macro with bound key Devn.
In the list of macro Available Keys, below Dev1 through Dev12 you will find 73 entries not present in the Bound Key list. The first 72 have the form Z_Devn where Z is one of the letters C, T, V, M A or X and n
10
is 1 through 12. The 73rd is X_CANCEL. Prefix letter X is explained in section 8. The other five letters select a button grouping and assign it to Device n.
As an example, suppose that we have set up four devices Device 1 = TV, Device 2 = SAT, Device 3 = RCV, Device 4 = DVD. and have set VPT On and VPT Device to Device 3. Then SAT will have the following defaults: C = Device 2, T = Device 2, V = Device 3, M = Device 2, A = Device 1, O = Device 2. We want to change the Transport buttons to DVD and take the SAT device out of volume lock. Then we
create the macro Dev2 = T_DEV4, V_DEV2. Note that we are assigning the Volume grouping to the device of the bound key. This has the effect of
removing the device from Volume Lock but equally we could have reassigned the Volume grouping to any other device, so this gives greater flexibility than merely turning Volume Lock on or off for a particular device.
It is possible to view which device is active for any button. If it is other than the device currently selected on the LCD screen, when you hold down a button then the device displayed in the centre of line 2 of the LCD screen changes to that of the active device. So in the above example, if SAT is selected on the LCD, pressing and holding the Play button will change SAT to DVD until you release the button. This works, of course, also for the default assignments, so pressing 16:9 will change SAT to TV. This feature considers the Record key, which needs to be pressed twice to have an effect, to be held throughout from its first press to its second. So the first press will change the centre device to that of the Transport grouping and it will remain changed until you press Record again, or any other key for that matter, but if it is a different key then Record will not have taken effect.
6. Device switching
The keys Dev1 through Dev12 are also available as keys that can be included in a macro. You could, for example, set up a macro
A = Dev2, M_DEV1. The effect of Devn as a key in a macro is exactly the same as if that device had been selected through
scrolling the LCD. It will, indeed, change the LCD display to show Devn as the selected device and will include any permanent reassignments of button groupings made as explained in section 4. So with the setup described in that section, pressing key A will switch the LCD display to SAT and assign the button groups as follows:
C = Device 2, T = Device 4, V = Device 2, M = Device 1, A = Device 1, O = Device 2. This is an example of a nested macro. After the default reassignment made by the Dev2 key it then runs
the Dev2 macro to make the original reassignments, followed by the further reassignment by the additional M_DEV1 key included in the key A macro.
Note that section 5 did not provide any means of changing the assignment of the Other buttons. It is not possible to do so, this group is taken as characterising the device. If you need two devices with the same assignment of the Other group, however, this device switching mechanism allows you to achieve it through a button press. With the setup just described, selecting SAT through the LCD and through pressing button A give two different Home Theatre settings with the same Other group assignment. The LCD screen shows SAT as the selected device in both cases.
I have macros set up that map Shift/n to Devn for n = 1,2,…,7. These turn the shifted digit keys 1 through 7 into device selection keys for my seven devices. There is more on shift actions in the next section.
11
7. Shift, X-Shift, T-Shift, Shift Cloaking and ESC
7.1 Shift and X-Shift
In the unextended device, pressing Magic gives a shift action except on digit keys, where it needs to be pressed twice as one press of Magic followed by five digits sends the IR signal corresponding to that 5­digit EFC (Key Magic code). The extender provides two shift keys, Shift achieved by pressing Magic once and X-Shift (eXtra Shift) achieved by pressing Magic twice, i.e. by pressing Shift/Magic. The extender does not require Magic to be pressed twice to achieve shift action on the digit keys, as the unextended facility to enter an EFC after a single press of Magic is not present in the extender. The digit keys are just like any other, a double press of Magic giving the X-Shifted digit.
When you use shifted keys in macros, do not put in Magic followed by the key concerned. There are tick boxes in the Add panel for adding Key Moves or Macros with IR.exe that select the bound key as the Shifted or X-Shifted key and alternative Add and Insert buttons to put the Shifted or X-Shifted key into a macro.
Note that Brightness+/−, Colour+/− and Sleep are available as both bound keys and macro keys, as are Channel+/−, Volume+/− and Power with Shift selected. These are synonymous – both ways are equally valid for using these keys in key moves and macros. With the exception of these five pseudo-physical buttons, Shifted and X-Shifted buttons are all in the same button groupings as their unshifted counterparts.
As in the unextended remote, a press of a Shift key ‘times out’, so that if a key to be shifted is not pressed within about 5 seconds, the shift action is cancelled. In the extender, this applies both to Shift and X­Shift.
7.2 Timed Shift (T-Shift)
The unextended device in fact contains a hidden second shift, the T-Shift (Timed Shift). When turned on, it acts as Shift on the Channel+/−, Volume+/− and Power keys but on no other keys. When you press Magic followed by any of Channel+/−, Volume+/− and Power, then it has the same effect as any other key of cancelling the Shift action of Magic, but it turns on the T-Shift. This remains on for a timed period of about 5 seconds, when it is turned off – the same point at which a Shift action would be timed out if not already acted upon. But a press within the time period of any key that recognises T-Shift restarts the timer. This is the internal mechanism that creates the special handling of Shift to provide the pseudo­physical keys Brightness+/−, Colour+/− and Sleep. In the extender, T-Shift is available as a key that can be included in a macro, though it is not available as a bound key. An example of its use is in section 8.
7.3 Shift Cloaking
If you include a Shifted or X-Shifted key in a macro and that key has not been bound to any function, it performs the action of the unshifted key. This is known as Shift Cloaking. It enables you to access the function of the unbound key when you have bound that key in a key move or macro. In particular it enables you to create a macro on a key that includes the action of the unbound key. Well, usually. There is one exception. To maintain the behaviour of Brightness+/−, Colour+/− and Sleep as pseudo-physical keys that can have functions attached to them through a device setup code, these are not cloaked. X-Shift with Channel+/−, Volume+/− and Power are cloaked so that if these are not bound then they give the actions of unshifted Channel+/−, Volume+/− and Power. If Brightness+/−, Colour+/− or Sleep are bound keys, however, then the only way to access the function of the unbound key is to create a key move to map some other key to that function. There is an example of shift cloaking in section 10.8.
12
7.4 Escaping from a Shift
Suppose you have pressed Magic but then want to cancel it, you have pressed Brightness+ and want to access Channel+/− before the T-Shift timeout, or your finger has slipped and you are not sure whether or not you have pressed Magic. In the unextended remote there is nothing you can do about this. Repeated keypresses of Magic have the same effect as a single one except for the special treatment of digit keys for EFC entry. In the extender, just press the Light/ESC key. This cancels any Shift, X-Shift or T-Shift and, if any of these were set, the LED flashes twice to indicate the cancellation and the keypress has no effect on the backlight. If there was nothing to cancel, no harm is done as it just acts as the normal Light key – but more on that below as the extender ‘corrects’ the action of the Light key.
7.5 Changing the Shift buttons and the optional nature of X-Shift
Although the button that provides the Shift action is by default Magic, and the one that provides X-Shift is Shift/Magic, these can be changed with IR.exe. In the Other Settings panel of the General tab there are entries for Shift Key (default 2) and Alt Shift Key (default 130, = $82). These can be changed to the keycodes for any other desired keys – a table of keycodes is given in the Appendix. There is also an entry for Alt Shift, which can be chosen to be either XShift or Shift. If you change Alt Shift value to Shift then the Shift and Alt Shift keys will have the same effect. If Shift Key and Alt Shift Key are left at their defaults and Alt Shift changed to Shift then repeated keypresses of Magic will have the same effect as a single keypress, as the first press makes the second press be of the Alt Shift Key, but this just has Shift action so the second, and any further, presses will again be of the Alt Shift Key and have a Shift action. If, however, you leave Shift Key and Alt Shift at their defaults and change Alt Shift Key to 2 (same as Shift Key), then repeated keypresses of Magic will toggle Shift on and off as the second press will be of Shift/Magic which no longer has an assigned action but, like any other key, its pressing cancels the Shift action. There are therefore two ways of turning off the ability to access X-Shift from physical buttons, one giving repeated keypresses of Magic always acting as Shift and the other giving repeated keypresses a toggle action.
Why should one want to turn off X-Shift access from the physical buttons? I do so to provide many more ‘phantom’ keys to which I can assign special protocol functions to use in macros. A phantom key is one to which one can bind a function but which has no direct access from the physical buttons. The extender provides three phantom keys that appear simply as Phantom1, Phantom2 and Phantom3 within IR.exe lists. With Shift and X-Shift these provide nine such keys, but I do not find that to be enough. A phantom key is effectively a name for a subroutine and its inclusion in a macro is a call to that subroutine. The combination of special protocols and phantom keys enables the construction of very powerful macros, as illustrated in section 10.9. In any case I find it annoying to have to make three keypresses to access the third function on a key. Instead, when I want three functions I use the Long Keypress special protocol. My three functions are then accessed through a short keypress, a long keypress and (singly) shifted keypress.
7.6 Adding further actions to the Shift keys
Whatever button assignments are made to provide Shift and X-Shift actions, after they have set their shift action these buttons are then passed through for normal processing so that macros can be bound to them. The shift key could, for example, be made also to set a ToadTog toggle. As will be seen in the section on the ToadTog special protocol, this can be used to emulate X-Shift on one or more particular keys when X­Shift access from the physical buttons has been turned off.
13
8. Temporary device reassignment
Section 5 showed the use of the Z_Devn keys to achieve permanent Home Theatre reassignment in a macro assigned to a physical button. It is more likely, however, that you will want only a temporary change of device. This is achieved with the X_DEVn keys that were not covered in section 4.
The key X_DEVn switches to Device n for all subsequent keys in the macro, regardless of their Home Theatre grouping, but does not change any of the permanent Home Theatre assignments of the current device. This switch of device continues until there is either another device assignment key Z_Devn, permanent or temporary, or the macro terminates, or the temporary assignment is explicitly cancelled. Cancellation is performed by the key X_CANCEL, which is the 73rd device reassignment key mentioned in section 5. Note that in a nested macro the temporary device switch continues until the entire macro ends, even if the X_DEVn key is in an inner macro.
As an example, suppose I want to put a macro on key A that turns on both the current device and Device 1, which is set as the TV. Then either of the following macros will achieve this:
A = Power, X_DEV1, Power or A = X_DEV1, Power, X_CANCEL, Power. They differ only in the order in which the devices are turned on. A second example also illustrates the use of T-Shift. The setup code for my TV assigns functions to two
of the Aspect keys. Repeated pressing of Brightness+ cycles through a number of preset picture settings. The 16:9 button opens a list of various aspect ratio settings that you need to scroll through with the TV navigation pad Up and Down buttons and then press OK on the desired one. I have therefore created key moves for Device 1 on the Colour+/− and Brightness− buttons that map to Device 1 Up, Down and OK. When any device is selected I can now press 16:9 to open the aspect ratio list on the TV, then Magic followed by Volume+/− (i.e. Colour+/− ) to scroll the list and finally Channel− (i.e. Brightness−) to select. But I do not find this natural. I want to press Magic before I press 16:9, i.e. before I start the whole aspect adjustment process. I have achieved this with the macro
Shift/16:9 = X_DEV1, 16:9, T-Shift. The first two macro keys open the aspect ratio list on the TV, but on their own they would leave
Volume+/− and Channel− performing their volume and channel actions. The T-Shift turns them into Colour+/− and Brightness−, which are in the Aspect grouping and so operate Device 1 and which in turn pick up the key moves assigned to these keys to perform the required scrolling and OK actions.
9. The Light button
To me, the behaviour of the Light button in the unextended device is the most irritating feature of the URC-7781. The backlight is on a timer. When you press any button, the backlight comes on and remains on for about 7 seconds. You want to turn it back on without performing any function. So you press the Light button – obviously! But the light doesn’t come on. Moreover, it no longer comes on when you press any other button. The only way to turn the light back on now is to press the Light button again!
What on earth is happening? Well, the backlight behaves as though there are two switches between the light and its power source. One is a timeswitch that is turned on by any button press. The other is a toggle switch that is toggled by the Light button. When the light is on, both the toggle and the timeswitch are on. When the timeswitch goes off, the light goes off. You press the Light button. Like any other button it turns the timeswitch back on but it also turns the toggle off – and groan, still no light, not until you press Light again to turn the toggle back on! The Light button performs this toggle action regardless of the reason that you are pressing it, and since it is also the Escape key in long Magic keypress setup operations this is, to say the least, irritating.
14
The Light key still has an Escape action in the extender, as described in section 7.4, but when it is pressed as an Escape key it has no effect on the backlight. Instead it gives two flashes of the LED to show that it has performed an Escape action. Also, if it is pressed when the backlight is off but the toggle is on then it does not toggle the toggle switch. Bingo, the Light button does what you expect – when the light times out and you press the Light button, the light comes on! The extender is worth installing just for this improvement!
One further feature of the Light button is that when it toggles the toggle switch, but not otherwise, the keystroke gets passed through for key processing. This key is available in IR.exe lists as LightTog. I must admit that I cannot see a use for this facility, in contrast to the similar passing of Shift keys for key processing described in section 7.6, but my design philosophy was to give maximum flexibility for customisation and this is part of that philosophy.
10. The Special Protocols
The most powerful uses of the extender come from combining the nested macro facility with the Special Protocols. Each of these protocols enables you to assign to a device/key combination a function that is not available in the unextended remote.
If you select the Special Protocols tab in IR.exe, and press Add, you get a form in which you select in the first section the device/key combination you want to bind. The next section is headed Parameters. If you drop down the Type box you get a cryptic list: DSM, LKP, DKP, Multiplex, Pause, ToadTog. These are shorthand names that in full are as follows:
DSM: Device Specific Macro
LKP: Long Keypress DKP: Double Keypress Multiplex: Device Multiplexer Pause: Pause ToadTog: ‘Toggle-Only Actuated Devices’ Toggle
Some of these names are not much more informative than their shorthand versions, but at least they are pronounceable names! When you select one, the rest of the form changes to allow entry of the additional information needed for the chosen function.
You will see that the drop-down box also lists a device and setup code in parentheses, e.g. (TV:1103) for Device Specific Macro. You can find this device under the Devices tab. If you select it, the Protocol ID displays a hexadecimal value, in this case 1FC. You can find this protocol, listed as $01FC, under the Protocols tab. It is this protocol that actually performs the special function. Do not delete either the device or the protocol. Indeed, with the exception of the protocol $01F9 that provides the Long and Double Keypress functions you will see under the Protocol Information display that the protocol data is very short, so you would recover little space in deleting it. If you were desperate for space and knew you would never want to use the Long and Double Keypress functions you could delete this protocol, but be aware that you cannot re-install it without completely re-installing the extender from scratch.
For the technically minded, the ‘real’ code for the other special protocols is elsewhere, to maximise the Move/Macro space available to users and to make greatest possible use of the EEPROM block occupied by the extender.
Each of the special functions will now be described separately.
10.1 Device Specific Macro
This one is fairly self-explanatory. An ordinary macro, available through the Macros tab of IR.exe as described in section 4.2, is device-independent in that it sends its key sequence whatever device may be currently selected. A device-specific macro is one that takes effect only when a particular device is
15
selected. You set it up in the obvious way. You choose the device and key in the Bound Key section of the form and then specify the macro keys as you do for a device-independent macro.
There is one important proviso. A device specific macro must contain at least two keys or it will not take effect, If you only want one key in your macro you must add the Null key from the list of available keys.
This is a key with no effect, and of course for obvious reasons it cannot be chosen as a bound key. The tick box labelled Hex, in the Parameters section of the form, is for advanced use. It enables those
familiar with the internal coding of the special protocols to enter that coding manually. It will not be described further here. This holds also for all other special protocols other than Pause, for which Hex is the only means of entering parameter data.
There is a second method for creating a Device Specific Macro that uses two fewer bytes. It is described in section 10.7 below.
10.2 Long Keypress
This function enables you to put two device-specific macros on one key. The first is selected by a short press of the corresponding button, the second by a longer keypress. You enter the two macros separately in the Macro Definition section, into the boxes for Short Keys and Long Keys. The only limitation is that the short press macro cannot be longer than seven keystrokes.
There is one other parameter to be entered. The Parameters section now has a box labelled Duration. You select a value 1 to 15 here that controls the time division between short and long keypresses. Roughly speaking, this value is in increments of an eighth of a second, so a value of 4 gives about half a second, which is a typical value to use.
10.3 Double Keypress
This is very similar to Long Keypress, except the distinction is between the button being pressed once or twice within the time selected by Duration. With a single keypress you will see a short delay, as the function must wait for expiry of the time before it can confirm there has only been a single keypress.
10.4 Device Multiplexer
This function enables you to create a button that changes the setup code for a particular device. It is not a toggle. If you want to be able to return to the original setup code then you need to define a second button to do that. But you can create a toggle action if you wish, by combining this function with ToadTog, explained below.
The device whose code is changed is the currently active device for the assigned button. This is dependent both on the device selected on the LCD screen and the Home Theatre settings for that device, so the safest thing is to put this function on a key in the Other button grouping. This will ensure that the change affects the currently selected device. You can also put it on a phantom key and then create a macro (global or device-specific) with an X_DEVn temporary device switch followed by the phantom key, to change the code for device n regardless of which device is currently selected,
The rest of the setup is self-explanatory. The Parameters section has a drop-down box for Device Type and Seup Code. These are exactly the same as you would enter in adding a new device, or as displayed in the Device Buttons section of the General tab. Note that there is no need for the new device to be the same type as the original – you could change the code for the SAT device into a CBL code, to switch between satellite and cable boxes under the SAT device on the LCD screen.
The change is permanent. It is remembered if you change the currently selected device and then return to it, and if you leave the remote so it enters its dormant sleep state. To restore the original value you need either to have set up a second button to change the code back again, or else to re-start the extender.
16
10.5 Pause
As described in section 4.2, the Pause function enables you to create a delay between two specific keystrokes in a macro without slowing down the processing of macros in general. You will normally bind a Pause to a phantom key, so that you can insert that key wherever you need a pause in your macros without having it taking up unnecessarily some physical button.
For this function you have to enter the required delay in the box marked Hex, as a two-byte hexadecimal value. This value has exactly the same form and meaning as was described in section 4.2 for setting a general macro delay, and with the same proviso about the meaning of zero as the low byte value. To use the example given there, a delay of 1 second is 1000 milliseconds, or in hexadecimal, $03E8 milliseconds. You enter this as the two-byte value $03 $E8. There are no other parameters.
10.6 ToadTog
TOAD stands for Toggle-Only Actuated Devices. This function takes its name from its ability to create separate On and Off buttons for a device whose native On/Off action is only through a toggle button. This comes into its own when you want to create a macro to turn on several devices at once. If any of them were already on, a straightforward macro would turn on those that were off, but would also turn off those that were on. ToadTog circumvents this by ‘remembering’ whether the devices were on or off, and only turning on those that were off. It relies, of course, on the devices concerned never being turned on or off in any other way than through this remote control, as it has no way of keeping track of any other activations.
ToadTog has eight independent toggle memories, numbered 0 to 7. You choose the toggle number to use in the box marked Toggle #. They are all initially Off, but they retain their new value even when the remote enters its dormant sleep state.
The action of the bound key can be chosen, in the Condition box, to Toggle (Off -> On, On -> Off), Test Only (Off -> Off, On -> On), Force Off (Off -> Off, On -> Off) or Force On (Off -> On, On -> On). Whichever option you choose, you can assign two macros, one for each of the two actions. The headings of the two macro definition boxes change to reflect the choice of condition. Note that you must assign one of the two macros, as if both are empty then the toggle action will not take place. If you want a key that does nothing other than one of the toggle actions, assign the Null key as one of the macros.
The simplest example is the original one, to create separate On and Off buttons from a toggle-only power switch. Assume that the device is to be off when we first start using the new buttons, and that we will use toggle 2 to remember its state. Then we set
‘On’ button: Toggle # = 2
Condition = Force On Off->On macro = Power Already On macro = <empty>
‘Off’ button: Toggle # = 2
Condition = Force Off On->Off macro = Power Already Off macro = <empty>.
A composite example that uses several different Special Protocols is given in section 10.8. You can use ToadTog to emulate an X-Shift for a particular key if you have turned off direct X-Shift
action from the keypad by changing Alt Shift from XShift to Shift, as described in section 7.5. Suppose you want to use toggle 7 for this. Bind a macro to the Magic key to force toggle 7 off, and one to Shift/Magic to force toggle 7 on. One press of Magic will then set a Shift state with toggle 7 off, the second (and subsequent) presses of the Magic button will be of the Shift/Magic key, which again sets a
17
Shift state but this time with toggle 7 on. On the key on which you wish to emulate an X-Shift, bind the shifted key to a ToadTog function that tests toggle 7 and if off, performs what you want as a Shift function and if on, performs what you want as an X-Shift function.
A ToadTog toggle can be set to ‘time out’ – to turn off after about 5 seconds. This uses the same timer as times out a Shift not acted upon, as described in section 7.1. You specify the toggles you want to time out in the Other Settings section of the General tab of IR.exe. The entry Timed TogBits is the decimal form of a binary bitmask that selects the timeout bits. Suppose you want bits 1 and 7 to time out. The binary mask is 10000010, which is $82 hexadecimal or 130 decimal. You can enter either $82 or 130 as the Timed TogBits value, but the display will show 130 in either case. A timed toggle can be turned off before expiry of the time period by pressing Light/ESC, as described for escaping from a Shift in section
7.4. The LED will flash twice and the keypress will have no effect on the backlight status. You can use a timed toggle to create an effect similar, but not identical, to that of T-Shift on a key that
does not recognise T-Shift. Suppose you set toggle 6 to time out. You have two functions, x and y say, and you want key B to perform x when unshifted but y with a timed latching shift. Set key Shift/B as a device-specific macro that performs y and then forces toggle 6 on. Pressing Magic then B will perform function y, will cancel the shift state but leave toggle 6 on. So you put a ToadTog function on unshifted B that performs x when toggle 6 is off, y when toggle 6 is on. Your second press of B after Magic will then still perform y, but this time because toggle 6 is on. Pressing any key, and B in particular, before timer expiry will reset the timer and so you can continue to press B, at intervals of not more than 5 seconds, to perform function y. When about 5 seconds has elapsed after the last keypress, the timer will turn toggle 6 off and leave B performing function x. The difference between this and the T-Shift behaviour lies only in the resetting of the timer. A T-Shift is cancelled if any key is pressed that does not recognise a T-Shift. With the timed toggle, pressing another key will extend the time without cancelling the toggle.
10.7 The Inbuilt Device Specific Macro
This is not a Special Protocol, but it serves the same purpose as the Device Specific Macro special protocol and takes two fewer bytes of the Move/Macro area. It is a method built directly into the extender. It is not directly supported by IR.exe but nevertheless can be created using it.
Before creating this macro, look at the Raw Data tab. Any changes to the data that have been made since you loaded a setup into IR.exe will be shown in bold type. If there are any such changes, either make a note, mental or otherwise, of where they are or save and reload the file, so that you start off with a ‘clean sheet’.
Then create an ordinary macro through the Macros tab, bound to the key that you want to use. Go to the Raw Data tab. You will see the raw data of the macro in bold type. The second byte should be 8F. Change this to 8n, where n is one less that the (hexadecimal) number of the device to which you want to restrict the macro. So it would be 83 if you wanted Device 4, say. Then press Apply. It is done. It will still appear as a macro under the Macros tab, but IR.exe will not know that it is now device specific. I suggest you make a note of the device restriction in the Note area of the macro definition.
There is one consequence of the inability of IR.exe to recognise this as a device specific macro. You cannot also assign a device non-specific macro to the same key. The extender checks for device specific macros of this form before it checks for device non-specific macros, so the extender would handle this correctly. It is only IR.exe that prevents you from creating such a pairing.
10.8 Global use of Special Protocols
In their raw form, all the functions provided by the Special Protocols are bound to a particular device/key combination. But just as there is a Device Specific Macro protocol to enable a macro to be restricted to a particular device, so you may want to create a device non-specific Long Key Press, for example.
18
To illustrate how you do this, suppose you want to put a global Long Key Press on button A. First create a Long Key Press on button A for any device (say device 2 for this illustration), with the desired actions. Then create a macro on key A with macro keys
X_DEV2, A. Now if you press key A with Device 2 selected, the original Long Key Press will be found first and acted
upon. If you press key A with any other device selected, the macro will be found, key A will be replaced in the keystroke queue by X_DEV2, A, the X_DEV2 will switch the active device to Device 2, the (second) key A will then be acted upon with Device 2 selected and the Long Key Press will again be found and acted upon.
Note that provided a key bound to a Long or Double Key Press is the last keystroke in a macro, the Long/Short or Double/Single selection will apply to the macro bound key, even if the Long or Double Key Press is bound to a different key. In our illustration we could have put the Long Key Press on a phantom key and put that key into the macro instead of key A. It would still be a long or short keypress of key A, the key bound to the macro, that would determine the function performed.
I have used this ability as follows. In section 8 there was an example of how key A could be set to turn on both the currently selected device and the TV. But key A is not a natural power switch. I want to use the Power button, with a short keypress to turn on the selected device and a long keypress to turn on both it and the TV. I first set an LKP for a phantom key on Device 1:
Dev1 Phantom1 = LKP, Duration 4, Short = X_CANCEL, XShift-Power, Long = X_CANCEL, XShift-Power, X_DEV1, XShift-Power
I then created a macro on the Power button: Power = X_DEV1, Phantom1. The X_CANCEL in the LKP ensures that the XShift-Power acts with the currently selected device. Since
XShift-Power is not bound, shift cloaking operates to perform the power button action without causing recursion.
As a refinement, I do not want a long keypress to act in this way when the selected device is Device 1, in case it turns the TV first on, then off. So I created the key move described in section 4.1 that maps Device 1 Power to itself. When the selected device is Device 1, this is found before the macro and so pre­empts the macro action.
Any Special Protocol can be given a global action in this way.
10.9 A Composite Example
Here is an example from my own setup that illustrates a combination of several Special Protocols. I have an Onkyo TX-SR606 AV Receiver that has two zones. The original remote has dedicated buttons to switch it between controlling Zone 1 and Zone 2. I wanted to emulate this on my URC-7781, and in addition have a short keypress of the digit buttons acting as the digits of the original remote, but a long keypress of buttons 1-9 acting as input selection keys for the nine devices of the receiver for the current zone.
I have created two devices in Remote Master for the two zones, with setup codes 2000 for Zone 1 and 2001 for Zone 2. Code 2000 is assigned to the RCV device, which is Device 3. Code 2001 is not assigned to any device. In both codes the digit buttons are bound to the digit functions of the original remote. The device selection functions of the original remote are not assigned to any buttons in these setup codes.
To begin, I created the ‘subroutines’ I would need, assigning functions to phantom keys. I first created 18 key moves, on X-Shift/1-9 for each of devices 1 and 2. These are being used as phantom keys – I have disabled keypad access to X-Shift as described in section 7.5. The key moves on Device 1 are assigned to
19
the device selection functions for Zone 1, the move being constructed with setup code 2000 and the appropriate hex command. Those on Device 2 do the same for Zone 2, using setup code 2001.
I next used the Device Multiplexer to create switches between the two setup codes: Dev3 XShift-A = Multiplex, Device type RCV, Setup Code 2000
Dev3 XShift-B = Multiplex, Device type RCV, Setup Code 2001. Again these are phantom keys. The final phantom key to be set up selects temporary device 1 or 2
according to the state of toggle 1 of ToadTog: Dev3 Phantom1 = Toggle1, Test Only, On=X_DEV2, Off=X_DEV1 The first physical buttons to be setup were buttons A and B for Device 3, which are to be the switches for
Zone 1 and Zone 2. These use ToadTog: Dev3 A = Toggle 1, Force Off, On->Off = XShift-A, Already Off = XShift-A Dev3 B = Toggle 1, Force On, Off->On = XShift-B, Already On = XShift-B. Button A then sets the RCV setup code to 2000 for Zone 1 and turns toggle 1 off, button B sets the setup
code to 2001 for Zone 2 and turns toggle 1 on. Finally, each of Device 3 buttons 1-9 were set up with Long Key Press: Dev 3 key n = LKP, Duration 4, Short = XShift-n, Long=Phantom1, XShift-n. Since the keys XShift-n, for n = 1 to 9, have been left unbound then a short keypress uses shift cloaking to
perform the action of key n in the setup code for Device 3. This setup code is that for Zone 1 or Zone 2 according to which of buttons A or B was last pressed. A long keypress first tests toggle 1 and sets temporary device 1 or 2, again depending on which of buttons A or B was last pressed. The key XShift-n is then acted upon in the context of this temporary device, as the temporary selection lasts until the end of the enclosing macro. In this context XShift-n has an assigned key move, which gives a device selection function for Zone 1 or Zone 2 according as the temporary device is device 1 or 2. Clearly, all non-digit keys also switch between zones 1 and 2 as their action is determined by the setup code set by the multiplex action of keys A and B.
11. Exiting the Extender to use Magic Setup
You can exit the extender and return to the unextended operation of the remote by pressing Magic and Record simultaneously, regardless of the selected device. Note that this does not mean pressing one of them and holding it while pressing the other. They must both be pressed together. The leeway in time is very small, about one twentieth of a second, which means that you are unlikely to do it accidentally but there is no difficulty in doing it deliberately. When you do this, the LED flashes four times but you see no change on the LCD screen. Nevertheless, you are now back in the unextended remote.
The unextended remote ‘sees’ all the devices that are set up, all the device and protocol upgrades, exactly one key move (the Record key on Device 1 that starts the extender) and no Key Magic or Macros. You could use it as a remote control, if you wished, provided you did not want to use the key moves, etc. set up in the extender. The Record key that is used to enter the extender is not available in TV setup codes, so this key move does not prevent access to any of the TV functions of its setup code. But there is little point in using the remote in this way. The only serious reason for exiting the extender is to use the setup facilities available through a long press of the Magic key.
Not all the functionality of Magic setup is safe to use, but much of it is safe. For obvious reasons you should not use Download, User Reset or anything under Advanced Setup/Function or Macro. You should not use anything under Advanced Setup/Home Theatre as the HT device is not acceptable to the extender. The functions Add Device to Volume Lock, Remove Device from Volume Lock are safe but pointless, as they have no effect on operation of the extender. But this leaves the following, all of which are safe. Moreover, with the exception of the two listed Volume Lock functions that can also be performed from
20
IR.exe, they are the only way to perform these functions that maintain the integrity of the device setup.
Initial Setup Device Add Device Replace Device Change Device Code Move Device View Code Delete Device Day/Time Set Day Set Time Volume Lock Set Volume Lock Reset All Volume Controls
Language Set Language
Advanced Setup Device Label Change Device Label Reset Device Label Reset All Device Labels
There is one proviso. Do not delete or replace the TV device, as the extender expects Device 1 to remain as TV. You can, of course, change its code if you change your TV.
The two Volume Lock functions may need some explanation in this context. Set Volume Lock lets you choose the Volume Lock source device and it turns Volume Lock on. This source device then becomes the default device for the Volume button grouping, as described in section 3. Reset All Volume Controls turns Volume Lock off, so that the extender uses each device’s own setup code for the Volume grouping.
When you have made any desired changes, re-enter the extender by selecting the TV device and pressing Record.
It is strongly recommended that you then download the new setup to IR.exe and save it. You will find that the download process exits the extender and leaves it asking you to set the Language, Day and Time. Do not fear that you have destroyed the extender. This is normal behaviour. After you have made these entries, you should then be left with the LCD pointing to the TV device. Just press Record to get back to the extender, with the new settings.
If you delete or replace a device or change a device code, you will probably want to modify the key moves, macros and special protocol functions that you have created. You need to use IR.exe to do this, in the same way that you set up the extender in the first place.
12. Changing the batteries
If you are quick, you may be able to change the batteries without losing the current state in the extender. I would advise changing those on one side first, then the other, rather than taking all four batteries out at once, but it seems unpredictable whether or not this will work.
If you are too slow, all that happens is that you are returned to the unextended remote and asked to set the Language, Day and Time. After doing so you will find the TV device selected. Press Record, the LED will flash four times and you will be back in the extender.
21
13. A few Technical Notes
The extender image in the “.ir” file and in the upgrade “.hex” files has a different signature from that of the unextended remote. The 4th and 8th characters are changed to “A” for the extender. But when you upload the extender to the remote, you are required to set the Language. Doing so rewrites the signature in the remote’s EEPROM (strictly, in its flash memory), returning it to its unextended value. When you enter the extender by pressing TV/Record, the extender again rewrites the signature, returning it to the correct form for the extender. It is this dynamic rewriting of the signature that enables you to exit and re­enter the extender. If you do a download from the remote to IR.exe, it will recognise whether you are in the extender or unextended remote and will use the appropriate .rdf file.
To the extender, keys bound to Special Protocols are seen as key moves to a (fictitious) device that uses the special protocol concerned. For DSM, LKP, DKP and ToadTog the coding of the special protocol transforms the key move into the appropriate macro, that is then executed just as any other macro. The coding of the Device Multiplexer and Pause protocols performs the actions of their special functions directly.
Edition 2
mathdon 27 December 2008
22
Appendix 1: Key Codes for the Extender
This appendix provides three tables that between them give all the key codes used in the extender. Table 1 gives the codes for the physical buttons and phantom keys, all of which are available either unshifted (plain) or with Shift or X-Shift. To this table should be added the following aliases:
Brightness+ = Shift/Channel+ Brightness− = Shift/Channel− Colour+ = Shift/Volume+ Colour− = Shift/Volume− Sleep = Shift/Power.
Table 2 gives the device assignment keys, and the Null key, available for use macro definitions but to which functions cannot be bound. Table 3 gives the device selection keys, available for use in macros both as bound keys and definition keys. All key codes are hexadecimal values.
Table 1 – Physical buttons and phantom keys
Plain Shift X-Shift Key Plain Shift X_Shift Key
00 80 C0 Phantom3 19 99 D9 4 01 81 C1 LightTog 1A 9A DA 5 02 82 C2 Magic 1B 9B DB 6 03 83 C3 Power 1C 9C DC 7 04 84 C4 Vol+ 1D 9D DD 8 05 85 C5 Vol− 1E 9E DE 9 06 86 C6 Ch+ 1F 9F DF 0 07 87 C7 Ch− 20 A0 E0 -/-­08 88 C8 Mute 21 A1 E1 Guide 09 89 C9 Skip+ 22 A2 E2 AV 0A 8A CA Skip− 23 A3 E3 Exit 0B 8B CB Rew 24 A4 E4 Up 0C 8C CC Play 25 A5 E5 Down 0D 8D CD Ffwd 26 A6 E6 Left 0E 8E CE Stop 27 A7 E7 Right 0F 8F CF Pause 28 A8 E8 Menu 10 90 D0 Rec 29 A9 E9 Red 11 91 D1 Phantom1 2A AA EA Green 12 92 D2 Phantom2 2B AB EB Yellow 13 93 D3 Enter 2C AC EC Blue 14 94 D4 OK 2D AD ED A 15 95 D5 1 2E AE EE B 16 96 D6 2 2F AF EF C 17 97 D7 3 30 B0 F0 D 18 98 D8 16:9
23
Table 2 – Device assignment keys and the T-Shift and Null keys
Code Key Code Key Code Key Code Key Code Key
31 C_DEV1 41 A_DEV3 51 V_DEV6 61 C_DEV9 71 A_DEV11 32 T_DEV1 42 X_DEV3 52 M_DEV6 62 T_DEV9 72 X_DEV11 33 V_DEV1 43 C_DEV4 53 A_DEV6 63 V_DEV9 73 C_DEV12 34 M_DEV1 44 T_DEV4 54 X_DEV6 64 M_DEV9 74 T_DEV12 35 A_DEV1 45 V_DEV4 55 C_DEV7 65 A_DEV9 75 V_DEV12 36 X_DEV1 46 M_DEV4 56 T_DEV7 66 X_DEV9 76 M_DEV12 37 C_DEV2 47 A_DEV4 57 V_DEV7 67 C_DEV10 77 A_DEV12 38 T_DEV2 48 X_DEV4 58 M_DEV7 68 T_DEV10 78 X_DEV12 39 V_DEV2 49 C_DEV5 59 A_DEV7 69 V_DEV10 79 X_CANCEL 3A M_DEV2 4A T_DEV5 5A X_DEV7 6A M_DEV10 7A T-Shift 3B A_DEV2 4B V_DEV5 5B C_DEV8 6B A_DEV10 7B ­3C X_DEV2 4C M_DEV5 5C T_DEV8 6C X_DEV10 7C ­3D C_DEV3 4D A_DEV5 5D V_DEV8 6D C_DEV11 7D ­3E T_DEV3 4E X_DEV5 5E M_DEV8 6E T_DEV11 7E ­3F V_DEV3 4F C_DEV6 5F A_DEV8 6F V_DEV11 7F Null 40 M_DEV3 50 T_DEV6 60 X_DEV8 70 M_DEV11
Table 3 – Device selection keys
Code Key Code Key F1 Dev1 F7 Dev7 F2 Dev2 F8 Dev8 F3 Dev3 F9 Dev9 F4 Dev4 FA Dev10 F5 Dev5 FB Dev11 F6 Dev6 FC Dev12
Key codes 7B-7E, B1-BF and FD-FE are not used. Value FF is not available for use as a key code as it is used as data terminator.
24
Appendix 2: Preparing to Upgrade an Existing Installation
A setup of the unextended remote contains some or all of the following elements:
Devices
Home Theatre
Device Labels
Device Code Upgrades
Volume Lock
Learning
Key Moves (“Key Magic”)
Timed and Key Macros
This Appendix provides the information needed for you to decide what changes, if any, you need to make to each of these setup elements before you install the extender as an upgrade in accordance with section
2.5. In your decisions, please be aware of a feature of IR.exe that can cause unexpected problems. If IR.exe finds data in a setup that it believes to be in error, it will “correct” this data without notifying you. So when there are incompatibilities between a remote and IR.exe, as there are between the URC-7780 and URC-7781 and the current version 7.15 and earlier of IR.exe, this hidden “correction” can actually be a corruption that will become incorporated into your remote when you upload the setup. So merely downloading a setup to IR.exe and then uploading it back to your remote has the potential to corrupt your setup, even if you believe you have made no changes.
The preparations described in the Appendix should remove any corruption caused in this way. To the best of my knowledge a remote with this extender and the accompanying RDF file is completely compatible with IR.exe 7.15, so no further corruption should occur once you have installed the extender.
Devices and Home Theatre
If you delete all the devices, this will automatically delete all the other setup elements except Device Code Upgrades. This corresponds to making an “Almost Clean” installation, so you should follow the instructions for this in section 2.4, rather than continuing with those of section 2.5. This Appendix will therefore assume that you wish to retain at least some of your current devices.
Start up IR.exe, connect your remote and download your current setup. Look at the Device Buttons pane of the General tab. This shows how your current devices, identified by their type and code, are assigned to device buttons Dev1 to Dev13. A type HT and code 2047 means that device button is not assigned. A type HT and code 1011 means that device button is assigned to Home Theatre. The device button numbers are irrelevant to the normal usage of the unextended remote, but they play a central role in setting up the extender.
When a device is added to the remote, it will be assigned to the first available device button. It will remain assigned to that button until it is deleted. The order in which devices appear on the LCD display is determined by the settings 1st Dev, 2nd Dev, etc. shown in the Other Settings pane. It is these values that are changed by the Move Device item of the remote’s setup menus.
The Clean and Almost Clean installation methods ensure that devices are added in the order in which you want them to be displayed, so that 1st Dev is Dev1, 2nd Dev is Dev2 etc. This is a convenience, but it is not essential. These methods also ensure that Dev1 is the TV device. This is highly desirable but not absolutely essential. If Dev1 is anything other than TV, it is the Dev1 device rather than TV that must be selected in order to enter the extender, and you will need to press the Record key twice, not once.
25
What is essential is that Dev13 is unassigned, as it is not supported by the extender. The existence of Dev13 is because of the Home Theatre facility of the unextended remote. Its operating system supports up to 12 devices plus Home Theatre – it will not allow you to install 13 “ordinary” devices. If you have a device assigned to Dev13, you must delete it before installing the extender. You must also delete Home Theatre (which may or may not be Dev13) as it too is not supported by the extender, its features being provided in other and more powerful ways.
If you need, or wish, to make changes to your current devices in the light of this information, now is the time to do it. Do not use IR.exe for that purpose. Disconnect your remote from it and use instead the setup procedures of the remote, accessed through a long Magic keypress. Devices are deleted through the menu item Initial Setup/Devices/Delete Device, and Home Theatre is deleted through Advanced Setup/Home Theatre/Delete Home Theatre. Note, however, that deleting a device also deletes any Key Moves assigned to that device and these are not reinstated if you then add that same device back under a different device button.
Device Labels
The device labels that display on the LCD screen are user modifiable through the menu item Advanced Setup/Device Label/Change Device Label. They are also displayed, and may be edited, through the Other Settings pane of IR.exe if the RDF file contains the entry
Labels=$0038,4 in its [General] section. But BEWARE, the current version 7.15 of IR.exe is not completely compatible
with the label handling of the native operating system of the remote. There are two problems:
IR.exe pads labels of fewer than four characters with ASCII spaces ($20) while the OS of the remote pads them with $FF. This causes labels to be misaligned on the LCD display, e.g. the label TV, when selected, has both letters to the left of the central pointer rather than one letter on each side. This is a minor issue.
IR.exe is unaware of the presence of a second set of labels, the default labels, stored in the EEPROM and which cannot be edited by the user. So if you add or delete a device through IR.exe and insert or delete the user label through the Other Settings pane, the corresponding default label should, but will not, be added or deleted. Like a time-bomb, this problem remains invisible to the user until certain actions are taken. Any action that deliberately or incidentally causes the user labels to be reset from the default labels can then be catastrophic. I have performed a User Reset that left the remote unusable until I uploaded a valid setup from IR.exe. It just asked Language, Set Day, Set Time, then back to Language again, with no means of escape.
Because of this, I have decided that the risks of having this setting in the RDF outweigh the benefits. This setting is absent from all the RDF files packaged with this extender. It is present in the RDF file for the URC-7781 dated Aug 07, 2008 which I put in the Tools/RDF Files of the JP1 Forum but it is absent from all versions of the RDF file for the URC-7780 posted there.
I recommend all installers of the extender to check the integrity of the label entries in the EEPROM, and to amend them if necessary, although for the reason just explained, this problem is more likely to affect users of the URC-7781 rather than the URC-7780. You make the check, and any necessary amendments, in the Raw Data tab of IR.exe. The User Labels occupy the address area F038–F06B for the URC-7781 (EC38–EC6B for the URC-7780) and the Default Labels occupy the area F06C–F09F (EC6C–EC9F). Each of these areas consists of 13 4-byte entries in succession, containing the ASCII coding of the appropriate label for Dev1 through Dev13. The User Labels should encode the label text that is displayed on the LCD screen, the Default Labels (for assigned buttons) should encode the Type as shown in the Device Buttons pane of the General tab. In all cases a label of fewer than four characters should be padded to four on the right with the hexadecimal value FF. Both labels of an unassigned device button
26
should consist of four FFs (even though the default label shows as HT in the Device Buttons pane). The characters that can appear in a device label, with their hexadecimal ASCII codes, are:
A 41 F 46 K 4B P 50 U 55 Z 5A 4 34 9 39 B 42 G 47 L 4C Q 51 V 56 0 30 5 35 . 2E C 43 H 48 M 4D R 52 W 57 1 31 6 36 SP 20 D 44 I 49 N 4E S 53 X 58 2 32 7 37 E 45 J 4A O 4F T 54 Y 59 3 33 8 38
where SP means the SPACE character. Note that SPACE can be used in a label, it is just that it should not be the padding character, and that IR.exe considers the Full Stop (2E) to be illegal and changes it to a SPACE. To correct a character, highlight the hex value in the Raw Data display and enter the correct value. When you have made all the corrections, press the Apply button. Until you do so, you can undo your amendments by pressing the Undo button, but once they are applied they cannot be undone.
Device Code Upgrades
Device code upgrades, and any associated protocol upgrades, will be carried across to the extender. No action is necessary.
Volume Lock
Volume Lock settings can be viewed and changed in the Other Settings pane of the General tab of IR.exe, where they are referred to as VPT (Volume Punch Through) settings. They are active in the unextended device only when VPT Status is “On”. The VPT Device (the device controlled by the Volume buttons when Volume Lock is on) is displayed there and Volume Lock is applied only to those devices where “Xth Dev uses VPT” is also “On”.
All these settings will be carried across to the extender but it is only the settings of VPT Status and VPT Device that it uses. When set On, by default Volume Lock is applied by the extender to all devices. The extender uses a different method to exclude a device from Volume Lock. This is explained in section 5 of this manual.
Learning
The learning facility is the one major feature sacrificed in the use of extenders – all extenders, not just this one. The memory area for learning in the unextended remote is used in the extender for Key Moves and Macros, since the memory area that these occupy in the unextended remote is used to hold the extender code.
This lack of learning capability is rarely a serious drawback, however, since IR.exe enables you to identify the hexadecimal code or EFC value corresponding to a learned signal, so that it can be set up instead as a Key Move. If you need to learn a signal and discover the corresponding code after you have installed the extender, you can always exit the extender to return to the unextended remote as explained in section 11. This will restore the learning capability. When you have finished you need simply to re­upload to the remote the “.ir” file of your extender setup and re-enter the extender.
It is not necessary to take any action to delete any learned signals currently set up in your remote. Learning will be automatically disabled and the learned signals over-written, at least in part, by installation of the extender upgrade. However, there may still be garbage left behind in the EEPROM from learned signals that do not get over-written. A cleaner installation is therefore obtained by deleting all learning with the menu item Advanced Setup/Function/Delete Function/Delete Learning/Delete Learning From All Modes.
27
Key Moves, Timed and Key Macros
These three setup features are best considered together since in the unextended remote they occupy the same region of EEPROM memory, namely F0AD–F3FE in the URC-7781 and ECAD–EFFE in the URC-
7780. The installation process for the extender copies the content of this area to its new location described above in the discussion of learning, making all necessary changes to internal address tables etc. In doing so it does not distinguish between these features, although they differ from one another in their relationship both to the extender and to the current version of IR.exe (version 7.15).
Key Moves are fully supported by IR.exe and the extender. They are carried over automatically by the installation process. No preparation is necessary.
Timed Macros are not supported by the extender and their format in the unextended remote is incompatible with IR.exe. If they are present in a setup for the unextended remote that is downloaded to IR.exe then they are interpreted as key macros, possibly as corrupt ones. They will show up under the Macro tab as assigned to some inappropriate key and they may have been “corrected”, which of course in reality means they have been corrupted. The same happens if they are still present when a setup is upgraded with the extender. It is therefore necessary to delete any Timed Macros before undertaking the upgrade.
Key Macros are supported by the extender but their format in the unextended remote is incompatible with IR.exe. If they are present in a setup for the unextended remote that is downloaded to IR.exe then they either do not show up under any tab or else they are interpreted as Key Moves with some inappropriate destination. Which of these happens depends on the content of the macro. In either case this content may become corrupted. The extender uses the Key Macro format of IR.exe, as otherwise it would not be possible to use IR.exe to create macros, and since the ability to create macros of great power is virtually the raison d’être of extenders, this would be totally unacceptable. Because of the possibility of corruption it is not wise to try to convert macros from one format to the other. Key Macros, too, therefore need to be deleted. They may be re-created after the upgrade but with the greater power of macros in the extender it is likely you will instead want to create new ones.
So how do you delete your macros? Timed Macros are easy. When you have timed macros, an asterisk precedes the time shown in the normal LCD display. The menu item Advanced Setup/Macro/Delete Macro/Delete Timed Macro presents you with a scrollable list of timed macros so that you can delete them one by one. You can also delete them with IR.exe as they are the only things that appear under the Macros tab. Just delete everything under this tab, one by one.
Key Macros are easy to delete if you know what keys have assigned macros. You can use the menu item Advanced Setup/Macro/Delete Macro/Delete Key Macro. But this does not show you what macros are set up, neither does IR.exe as many macros do not show up there under any tab. You can use Delete Key Macro to delete from every key in turn, but it is better if you are prepared to examine the relevant memory area as displayed under the Raw Data tab of IR.exe. If you do this, you can assure yourself that nothing has got through the net that can potentially cause trouble later on.
To do this, or to understand the issues in more detail, you need to know the basic format of these features. They share a common format, namely a 3-byte header followed by a body of variable length. Indeed, learned signals also share this format although they occupy a different region of the EEPROM. Byte 3 of the header is the number of bytes in the body, as a hexadecimal value. The first byte of the first header is at F0AD or ECAD, its length byte enables the first byte of the next header to be located and the chain of headers is terminated by a first byte of value FF. Armed with this information, you can look at each header in turn. There may be more data after the terminating FF but if so, it is left-over garbage that you will delete, easily, later on.
The various setup features are distinguished from one another by bits 4–7 of header byte 2. In the operating system of the remote the identifying values are:
28
Key Move: 0001 (nibble value 1) Learning: 0010 (nibble value 2) Key Macro: 0011 (nibble value 3) Timed Macro: 1xxx (nibble values 8 to F)
where xxx for the Timed Macro can take any value as it forms part of the timing data. Key Moves and Learning have the same format in IR.exe, but Key Macros and Timed Macros do not.
There, these bits for Key Macros have the value 1000 (nibble value 8). IR.exe does not expect Timed Macros to share memory area with these other features, so Timed Macros are not enabled in any RDF issued for either of the two remotes. The leading bit value 1 in the Timed Macro identifier of these remotes causes IR.exe to interpret it as a Key Macro, but of course the rest of the macro data will be misinterpreted and may be considered invalid, resulting in it being “corrected”. The identifying bits in the Key Macro identifier of the remotes shares a bit 4 value of 1 with a Key Move, which appears to make IR.exe sometimes, but not always, try to interpret the Key Macro as some form of Key Move.
The action you need to take is to make all Key Macros, and any Timed Macros that may have escaped deletion so far, become visible to IR.exe so that you may delete them. To do this, change byte 2 of the header to the value 8F. When you have made this change to all headers needing it, press the Apply button. Until you do so, you can undo your changes by pressing the Undo button, but once they are applied they cannot be undone. After pressing Apply, the amended macros will all be visible under the Macros tab of IR.exe, where you can delete them one by one.
Getting rid of garbage
After making these changes, there may still be garbage left in areas of the EEPROM that are beyond the relevant terminator byte for that area. To clear this out and replace all garbage bytes by FF, open the Advanced menu on the menu bar of IR.exe and select Clean Upper Memory. If you do this with the Raw Data tab open, you will witness the clean-out as it happens. But whatever you do, DO NOT use Clean Upper Memory after you have installed the extender, as it will treat the extender as garbage and delete it!
You are now ready to install the extender as an upgrade, so return to section 2.5 and follow the instructions given there.
29
Loading...