Getting Started with DecoderPro®
What is DCC?
In short, DCC is Digital Command Control, a system for operating model railroads in a more prototypical manner. Each locomotive contains a tiny, specialized controller. These controllers (decoders) accept digital commands over a network (the rails) addressed to them and interprets them to control the locomotive's speed, direction, lighting effects, sound, and other functions. Each decoder responds only to those commands addressed to it. Not every decoder will have functions beyond basic throttle commands available. Although there are NMRA® standards for the format of communication (allowing the decoders from different manufacturers to work on the same railroad), beyond that there is considerable variety in the functions supported and the implementation of those functions.
Just like any other controller, decoders must be programmed by the user to reach their full potential. While they come with basic "default" programs, most users will want to customize the decoder address, motor control, lights, sound, and other functions to meet their specific needs. You do so by editing CVs, or Configuration Variables, in the decoder. Some CVs use values ranging from 0 to 255, others use their space in the decoder's memory as a bank of 8 on/off switches. While this lets you do a lot with very little memory, it can get very complex for those of us that are not on speaking terms with binary code.
Decoder Pro attempts to help overcome the inevitable complexity of this system by providing a clear, usable, user friendly open source software solution for programming these on-board decoders. Programming panel designs are written in XML, (a close relative of HTML) and can be modified or even created from scratch by users with even a passing familiarity with the format without previous XML experience.
What DCC systems will Decoder Pro work with?
Decoder Pro will work with the following DCC systems:
- C/MRI
- CTI Electronics Acela
- CVP Products Easy DCC
- DCC Specialties
- Digitrax (Loconet)
- ESU
- Fleischmann
- Hornby
- Lenz/Atlas
- Maple Systems
- MERG CBUS
- NCE/Wangrow
- QSI
- Roco
- SPROG DCC
- SRCP
- Trainmaster
- Wangrow/Wangrow
- X10
- Zimo
- ZTC Controls
Depending on the specifics of your system and computer, some type of hardware
interface may be required.
JMRI Hardware Support
What hardware do I need?
You will need, at a minimum, a command station/booster for your DCC system, and a programming track set up according to the manufacturer's instructions. For some systems, you will also need an additional hardware interface to send the commands from your computer to the command station, and from there on to the decoder in the locomotive. For a Digitrax system, for example, you will need either the MS100 interface, PR3 programmer or a LocoBuffer. The PR1 device from Digitrax is a stand-alone programmer and is not usable with this software.
You will also need, of course, some locomotives with the decoders installed which you can program.
How do I start the program?
Once you have downloaded the Decoder Pro software and installed it, simply open the program in the usual manner for your operating system. You should see this or a similar opening screen displayed:
It may take a while for this screen to come up, especially on older and slower computers. New computers start the program fairly quickly, but older ones will feel like they're taking forever. Be patient - it will come up eventually! Even on older computers, once the program is up the response time is quite good.
If this is the first time you have run the program, the preferences screen will also come up automatically to allow you to set up the system for your particular configuration.
How do I set up my preferences?
Click on the Edit menu and then Preferences... option in the screen above, which opens the Preferences window. (This window may open automatically the first time you run the program.)
The Preferences window provides access to the basic configuration information to connect your computer to your DCC system. You will be using that system to actually program and operate trains equipped with DCC decoders.
| Layout connection : | Drop-down list with all of the supported DCC system interfaces that you can use with Decoder Pro. Select the option that matches your hardware. |
| Serial port: | Drop-down list to select the serial port to which your DCC interface is connected. If you do not know, check your system hardware configuration manual |
| Baud rate: | Drop-down list with all the options for your hardware, set to that required by your interface, It may default and not be selectable |
| Command station type: | Drop-down list of all supported command stations, select the correct one for you layout |
| GUI style: | Select the style suitable for your operating system |
To change any of these options just click on the arrows to open the drop-down list. To change the GUI options, click on the appropriate radio button. When you are finished, click on the "Save" button to save your preferences.
Changes in preferences will not take effect until the program is re-started.
There are additional preferences available if you check the Show Advanced Preferences check box. This is shown below:
Advanced Preferences:
| Auxiliary layout connection 2 thru 4 | Provides for multiple connections to JMRI |
Advanced Preferences [ Programmer defaults]
| Show Empty Tabs: | Display all tabs on the programmer screen even if the decoder does not support those features. Any tabs that are not applicable to a given decoder will be grayed out to indicate that. If this is unchecked, the tabs that do not apply to that decoder will not be displayed at all. |
| Locale: | The language to use, in this case US English. Several languages are available in the drop-down list |
| Do action at startup | Selected actions will execute when starting JMRI program. Select the action from any or all of the options, typically a Monitor, Throttle and Power on/off. After making selection click the Add Action button to add that feature If you want to remove a feature use the Remove button |

Advanced Preferences [ Create Button and Load Files ]
| Add Button | Provides a means of adding buttons to the GUI to add additional throttles etc. |
| Remove Button | Used to remove buttons from your program interface that you no longer want to use |
| Load panel file at starting | For advanced users to load panel files created with the Panel Pro programs |
| Run script at startup | For advanced users To select a script that will run at startup |
| Roster: | Set the directory and file for the roster if other than default |
| Default Owner: | The name entered here will be pre-filled on the roster entry page to save typing when entering your locomotive roster |



