6. How Do You Create An Upgrade From Scratch?
If you have an unsupported device, and you you can't find an upgrade file for it in the file section, your next step is to create one yourself. If you have a JP1 remote with learning, this is easy to do. If you don't have a learning remote, all is not lost. I'll discuss what you can do in that situation a little later.
To create an upgrade yourself, here's what you do. First, download your remote's current memory and save it. You can always use this file to restore the remote to it's current condition later, if needed. Next, delete any learned signals that are already in the remote. The easiest way to do this is to go to the "Learned Signals" tab in IR and click the "Delete All" button, then reload. To do it using the remote itself, for non LCD remotes, you can use the 980 command, and for LCD remotes, you can select "OPS RESET" from the LCD menu screens.
Next up, you'll need to learn as many buttons from your original remote as you can. Most JP1 learning remotes can only learn about 24 buttons before the memory is full, so it's probably going to take a couple of passes to capture all the buttons from the original remote. I recommend that you start off learning all the buttons that have equivilent buttons on the JP1 learning remote (eg, the numeric buttons, volume and channel buttons, etc). When you reach the memory limit, download the memory and save the file. Then delete all the learned signals like you did before and continue learning. As soon as you reach the memory limit again, or you run out of buttons to learn, download and save the file. When you start learning the more unusual buttons from your original remote (eg, ANGLE, ZOOM, etc) be sure to make a note of which button you learned them to on your JP1 remote.
Once all the buttons are learned, you can start the process of decoding them. To do this, go to the "Learned Signals" tab in IR. You will see all your learned buttons listed in the column on the left. When you click on one of these entries, the infra red info will be displayed on the right, as shown in Image 6.1.
Image 6.1 - IR's Learned Signals Tab
In image 6.1 you can see that the RECORD button in AUX1 mode has been selected. In this case, IR was successfully able to decode the signal and has displayed the IR info. This signal uses the NECx2 protocol, with a device code of 5 and a sub-device code also of 5. Chances are, all of the buttons for this device with use the same protocol and device codes, what will change for each button are the OBC and EFC codes. Just FYI, this is the ‘record' button for a Samsung VCR, which responds to the VCR/0240 setup code.
To start creating an upgrade for this device, you should fire up RemoteMaster. Then in the Setup tab, you should make the entries described in the following table. Image 6.2 shows RM's Setup panel after all the correct entries have been made.
Desciption Enter a brief description of the device being programmed. In this case we'll enter "Samsung VCR"
Remote Select the remote you are programming.
Device Type Select the type that most closely matches the device you are programming. In this case we'll select VCR.
Setup Code As we already know that this VCR responds to the VCR/0240 code, the standard convention for upgrades is to add 1000 to that, giving us VCR/1240. If there's no official code that works your device (as far as your know), use 2000 or greater for this entry. (The max value is 2047)
Protocol Select the protocol displayed in IR. In this case we'll select NECx2. If you're unsure which protocol to use, consult the readme file that's in the KM zip file.
Device Number/Sub-Ddevice Enter the values displayed in IR, in this case we'll enter 5 in both. The displayed labels for these boxes varies based on the selected protocol.
Upgrade Notes This is the data block to the right of the screen. You can use this space to enter any notes about this upgrade that might be useful to you or to someone else who later uses this upgrade.
Image 6.2 - The beginnings of an upgrade
So far so good, now you need to go to the Functions panel and enter the data for all the buttons that you learned. It's a good idea to understand RM's terminology at this point. The word "Functions" refers to the buttons that you learned from your original remote, you can use the exact names as printed on your original remote, or you can expand it a little to make it easier to understand. For example, you might have a button labelled "CHP/TME" but it might be a good idea to enter it as "Chapter/Time". Alternatively, you could enter it as "CHP/TME" then make an entry in the Notes column to describe what it does. When RM refers to "Buttons", it's referring to the buttons on your JP1 remote, not your original remote.
When you first go to the Functions tab, you will see a lot of function names already entered, as shown in image 6.3. These entries are just defaults designed to save you some typing, you are under no obligation to use them. You can delete them all if you like.
Using the example of the RECORD button for my Samsung VCR, I can now enter the OBC code of 20 next to the default entry for the RECORD button. Once you've entered all the standard buttons for your device, you can delete all the remaining entries. For the more unusual buttons, you will need to create new entries for them. Please enter the data for all the buttons on your original remote, even if you have no intention of programming them to physical buttons.
Image 6.3 - RM's Functions Panel - default screen
Once you have entered all the info for your learned buttons, your next step is to assign those functions to the buttons on your remote. You can do this on the Layout or Buttons panels.
You can assign functions to buttons visually using the Layout panel, shown in Image 6.4.
You'll notice that the list of functions that you entered in the Functions sheet is displayed on the right. Once a function has been assigned to a button, the name of that function is written in black. Functions that haven't been assigned are written in red. You'll notice that the input toggle function has not been assigned and I am using the context menu to assign it to the Program/Guide button. Buttons with assigned functions are colored in yellow, and buttons that are present in the key map for the selected device type are outlined in orange. You can assign functions to buttons in 4 different ways:
Press the Auto assign button to get some functions automatically assigned. The ones that get assigned automatically are the ones where you used the default function names and there's an equivilent button on your JP1 remote for that function. You are under no obligation to accept these default assignments.
Drag-n-drop a function onto the desired button
Right-click on a button and select the desired function
Click on a button (It will he outlined in white), then double-click the desired function.
Use the - none - function to clear the function assigned to a button.
Image 6.4 - Assigning functions to buttons in RM's Layout panel
If you find that many of the buttons that you want to program are not outlined in orange, meaning they aren't included in the key map for the selected Device Type, it might be a good idea to try using a different Device Type. Maybe there's a device mode available that has more buttons included that you can use. You won't always want to pick the mode with the most buttons, just pick the mode that has the most buttons that you wish to program included. There are a couple of things to consider before you chose a different device type though. First off, if you use a device type that is different to the default device type for the device button that you're intending to program, it will break VPT (Volume Punch Through). This may or may not be of concern to you. Secondly, if you are programming a remote with an LCD screen (like the 15-2116, URC-8910, etc), the mode you pick is what will be displayed on the screen when you select this device. So for example, if you are creating an upgrade for a VCR and you use CBL as your device type, "CBL" or "CBL2" is what will appear on the screen when you press the VCR device button. Again, this may or may not be an issue for you.
The Buttons panel is shown in Image 6.5. You can assign functions to buttons in 4 different ways:
Press the Auto assign button to get some functions automatically assigned. The ones that get assigned automatically are the ones where you used the default function names and there's an equivilent button on your JP1 remote for that function. You are under no obligation to accept these default assignments.
Drag-n-drop a function onto the desired button
Right-click on a button and select the desired function
Click on a button (it will be highlighted), then double-click the desired function.
Use the - none - function to clear the function assigned to a button.
You'll notice that the list of functions that you entered in the Functions sheet is displayed on the right. Once a function has been assigned to a button, the name of that function is written in black. Functions that haven't been assigned are written in red. In image 6.5 you'll notice that the input toggle function has not been assigned and I am using the context menu to assign it to the Program/Guide button.
If a button name is followed by an asterisk ("*"), it means that it cannot be included in the upgrade and will be programmed using a keymove instead. All functions assigned to shifted buttons will be programmed using keymoves.
Image 6.5 - Assigning functions to buttons in RM's Buttons panel
Once you've finished entering all the functions and assigning them to buttons, you should save your device upgrade using the Save As... item on the File menu. In order to be a good citizen, you should then load this file into the appropiate folder in the Yahoo group for others to share.
Finally, you should copy this upgrade over to IR following the same procedures outlined in section 5 of this document. Don't forget to assign the new setup code that you created to an actual device button!
, along with complete instructions.
Your questions are so broad/vague that they cause one to wonder if you've read the Beginner's Read Me (linked below).
As you work through the process, ask SPECIFIC questions about a SPECIFIC step or phrase in the procedure that is troubling you.