Programming is the process of setting the configuration variables (CVs) in your decoder to the appropriate values that will make the locomotive perform the way you want it to.
The first CVs that most people change are those that set the locomotive decoder's address. The mobile decoder in your locomotive usually comes pre-porgrammed to a factory default address of "03". Once you add a second locomotive, you will want to change the this new locomotive to another address. Not doing so will result in both locomotives operating at the same time when you send commands to address 03.
Likewise, there are a variety of performance characteristics of the mobile decoder that can also be modified to enhance the operating characteristics of your locomotive. For the most part, all manufacturers use the CVs to configure the same characteristics of locomotive operation However, be aware that different decoders may use CVs in different ways. So make sure to consult the manufacturer's CV tables before changing anything. Some decoders do not use the full range of CVs while others use all of them and some manufacturer specific ones as well.
Programming mobile decoders can be done on an electrically isolated programming track or on the main line for decoders that are capable of operations mode programming. A separate progrmming track, often called aservice mode programming track, this is a short section of track which is connected to the programming outputs of your Command Station or to your computer through a programming interface such as the PR3. This section of track is not electrically connected to the balance of your railroad, and is a special place that is used to program and read back your locomotive decoders' CV settings.
The programming process is a combination of the Throttle used to enter the programming commands and the Command Station to execute these commands.
Throttles
Any Digitrax Throttle with programming capability can be used with any Digitrax command station to program your decoders.
Note that some Digitrax throttles are NOT set up to do programming for a good reason. If you have a new person or a guest helping you run your railroad or if you want to have a young operator run trains, you may not necessarily want that person to be able to program the decoders. In this case, you would have them use a utility throttle without programming capabilities.
Because the Zephyr Xtra is a combination of both throttle and command station, it can be used to reprogram mobile decoders by itself. The DT100, 300, & 400 can all be used with the Zephyr Xtra to program decoders.
Command Stations
Any Digitrax Command Station can program decoders. Most Digitrax Command Stations can read back CV values, too.
DB150 & DB100 Series Command Stations have a single DCC output that is used both to operate the railroad and to program decoders. This series command station requires you to set up an electrically isolated section of track that you will use for programming decoders or to program them on the main line with OPS mode programming. These Command Stations can program only, they are NOT able to read back CV values already programmed into the decoders. This is not a serious concern for most model railroaders because you can simply re-program a CV at any time if you are unsure of it's CV value.
DCS50, DCS100 & DCS200 Command Stations each have two DCC outputs. This means that one DCC output can be used to run the railroad while the other is hooked to the electrically isolated programming track to program decoders at the same time. The programming track still has to be electrically isolated but you can run and program at the same time with this configuration. Of course, operations mode programming on the main line is also available with these Command Stations. In addition, these Command Stations CAN read back the values programmed into CVs. This is useful if you are unsure of a setting and want to review it before changing the CV value by programming.