The JMRI Manual
Download
Installing JMRI
Getting Started
Using DecoderPro®
DecoderPro® Programming Modes
The Basic Programmer
The Comprehensive Programmer
The Advanced Programmer
DecoderPro® Main Window
JMRI® Operations Program
Creating a Decoder Definition
Error Messages

The Basic Programmer

Basic Pane


You may have noticed that at the top of the window are Two tabs: Roster Entry and Basic. We have completed the Roster Entry pane of the Program window, now, click on the Basic tab to change panes to continue with programming your decoder. The Basic pane will be displayed and look similar to the following illustration: Many panes in the programmer contain decoder dependent features, as a result what you see may not exactly agree with what you see here. Only those variables that your decoder can implement will be shown.

Basic pane

You will see three options you can change, highlighted in yellow:

  1. The decoder address (should be unique among your locomotives, unless you are operating as a set) often the locomotive number is used.
  2. Two radio buttons that let you toggle between 2 digit (one byte, normal) or 4 digit
    (two byte, extended) addressing
  3. Analog operation (enables the decoder running under regular DC voltage/analog
    control)

The yellow highlighting indicates these options are "probable" settings and have not been confirmed from the decoder. Settings that have been changed by the user and have not been written back to the decoder appear in a orange color.

Color Codes used in the programming panes.

Edited
You've changed this value, or it contains default values from the decoder file. This is shown as orange, since the value differs from what's in the decoder.
From File
The field contains values read from a locomotive file. This is shown as yellow, since we're not certain that the file agrees with the decoder contents.
Read
The value shown has been read from the decoder. This is shown as white to indicate that the value is trustworthy.
Stored
The value show has been written to the decoder. This is also shown as white.
Unknown
If something goes wrong with the read or write process, we might have a completely untrustworthy result. This results in the variable's state being marked as UNKNOWN and shown as red.

You will see examples of
this throughout the manual.

To read the actual settings for these options (and IF your system and installed decoder will allow readback of decoder values), click on the . The individual settings will turn red while they are in the process of being read (clever, eh?), and will turn white once the values have been read successfully from the decoder. Once again, DecoderPro must play "Twenty Questions" to get this information, and sometimes even has to ask a couple of times.

Be patient, especially with older computers. At the very bottom of the pane (where it says "idle") you will see a running account of exactly what DecoderPro is doing, for example, the specific CV being read.

Again, the and functions are dependant on your command station. If your system does not have the capability to read CVs, then these buttons will not be available.

If you wish to change the address of the locomotive, type in the new address. To turn on or off 4 digit addressing, select the desired radio button. Be sure that the address type agrees with the number of characters in the address.

To enable Analog (old style DC, some vendors refer to this as dual mode) Operation select the appropriate entry from the drop-down list.

When you are finished, click on to write the new values in the decoder.

Writing usually takes much less time than reading, because the value can be sent directly. As the write operation proceeds, the data will change from yellow to white. If there is difficulty writing to the decoder, the data will change to red. The software will automatically keep trying until the write operation is successful. In some instances the system will “time-out” after a certain number of tries without an acknowledgement from the decoder. This does not necessarily mean that the values have not been written, just that the program has not received an acknowledgement. This can be due to the locomotive moving and getting on dirty track so that it can't pulse back, or possibly because the command station or decoder cannot read back. Try moving the loco and try again. If it is a command station or decoder read-back issue, try the loco on the mainline and see if the programming was successful.

To finish this "basic" programming of a decoder, click once more on the Roster Entry tab, You will see that the address field has now been filled in, so you can now click on the . Your new decoder settings have now been written not only to the decoder, but also saved to a computer file where they may be recalled in the future. .

But you say..."I want to change more than what's shown on the Basic decoder pane." Well… there are other programmers that are available. But… first we need to look at the various options. In fact there are so many options the programmers had to use a slider to get them all to show. Here are the option windows. Don't panic….Most are of no use to the average user.

Basic Programmers

Comprehensive and Advanced are the only other programmers "Normal Users" will ever need, because it is, well…Comprehensive and the Advanced adds features that are optional. So why all the others?

First of all eliminate the Manufacturer specific programmers (unless of course you have a Zimo or ESU system).

We can also eliminate the Tutorial and Custom programmers. They were put in to show folks that want to write their own programmer (not you right?) all the possible ways to gather input and to have a common starting point in the roster pane. Now if you wish to pursue writing a custom programmer go to this site.

If you have need for a special situation programmer you might want to look at Sample Club or TrainShowBasic to see what panes can be taken out of Comprehensive to make an intermediate complexity, special purpose programmer. Again, how to do this is a subject for another manual.

And that leaves us with the Advanced and Registers programmers. The Advanced programmer has a couple of sophisticated features added on top of the Comprehensive programmer and a name was needed. Well, why not call it Advanced? We'll cover the additional features once we get through with Comprehensive.
So what about the Registers programmer? If you have an old or bargain basement decoder that only programs using registers, then of course you'll be interested in Registers.
So now we've narrowed our “real” choices down to Advanced, Basic and Comprehensive. Since we've already covered Basic, let's explore the Comprehensive Programmer!