![]() |
|
|
||||
|
|
Retirement Sale: Save An Additional 20% Off of Our Normal Discount Price
|
||
|
"Programming" is actually the wrong word to use what is taking place, but in the DCC context it is used to indicate the act of storing numeric values in various memory locations (CVs) in the decoder for the purpose of configuring the loco to run the way you want it to run. It should really be called Configuration, but it isn't. There are two basic types of programming:OPS-Mode Programming and Service-Mode Programming. OPS-Mode Programming allows you to program decoders anywhere on the layout. It requires a system, throttle, and decoders that are capable of doing that. While many things can be programmed in OPS Mode if you have the equipment for it, it does have its limitations. Service-Mode Programming is done on a programming track. The only limitations of Service-Mode Programming are those that are built into some systems, such as MRC Command 2000 not being able to program anything but the built-in basics. There are three types of Service-Mode Programming: Page, Direct, and Physical Register. As far as I know, all systems can do Service-Mode Programming of one kind or another. However, some systems are very or somewhat limited, while others have no limitations at all. Typically, low-cost systems are limited in one way or another - sometimes to a point that you can't program anything that the system isn't pre-set to program - and that could be limited to only the address and speed steps. Most higher-end systems can program any CV with any mode type. However some, in an effort to make basic programming easier, make high-end programming more difficult. While the programming internals work exactly the same from system to system, the user interface is what's different and what sets the limits. To do Service-Mode Programming, you must first have a programming track. This short piece of track can be part of the layout or be completely separate from it. In either case, it must be able to be totally electrically isolated from the layout. How a programming track is wired depends on the system you have. There are basically two different types: those that do broadcast programming (using the track power outputs for programming) and those with a separate programming track output (separate from track power outputs). |
| The illustration below shows how to wire for broadcast programming, such as with Digitrax's Empire Builder. |
![]() |
Notice that the programming track is wired directly to the booster's track power output. The programming track is never turned off. When in the loco operating mode, the booster sends command packets so trains can run on it. When in the programming mode, programming codes go to whatever loco is sitting on the programming track. Power also goes to the rest of the layout through a Double-Pole Single-Throw (DPST) toggle switch. When running trains, the toggle switch is set to allow track power through. When programming, you turn the switch off so programming codes can't go to the rest of the layout. If you neglect to flip the switch when programming, all locos sitting on the layout will also be reprogrammed. This is something you don't want to do and something that is avoided with separate programming track outputs, as illustrated below. |
![]() |
This is how the Chief's programming track is wired. With it, the track power bus gets power directly from the booster's track power outputs. Instead of turning the rest of the layout off and on, you use a Double-Pole Double-Throw (DPDT) toggle switch to switch the programming track between track power and programming. The beauty of this method is that, at least with the Chief, the programming track output has limiting resistors built in. The main purpose for this is to limit the amount of power that can go to the programming track when programming. This provides a little extra protection from frying a decoder if you wired it wrong. The tip here is that when you do a decoder installation, the first thing you do is program it - before test running it. If it won't program, chances are you wired it wrong. Had you put it on the track to test run it, chances are the decoder would have fried. The secondary benefit of a separate programming track output is that you can't accidentally reprogram all the locos on the layout. If you forget to throw the toggle switch, the decoder on the programming track simply won't program. Even if you accidentally allow the loco's trucks to span the isolating gaps, the other decoders on the layout will be trying to draw so much of the programming power that the limiting resistors won't allow anything to be programmed - not even the loco on the programming track. With Service-Mode Programming, any decoder (regardless of its address) on the programming track will be programmed when the programming takes place. This means that if you have two decoders on the programming track and you program the address for 25, both decoders will assume the address 25. However, this does not mean that you really can, or should, do this. While this will work most of the time, the design is that only one decoder is programmed at a time. We'll cover this more at the end of this page. If you want the programming track to be a part of the layout, where should it be? Many people instantly think it should be a short out-of-the-way yard track. While this may seem like the logical thing to do, doing that makes it very tedious to use. Think about it. To use that track, you have to run the loco from wherever it is to that programming track. Once configured, you have to run it out onto the mainline for testing. If it isn't quite right, you then have to run it back to the back of the yard for re-programming. Personally, I have my programming track right on the mainline in front of the main control panel. When I get a new loco, I place it on the programming track (right in front of the control panel where I sit) and program it. Once programming is done, the loco is already sitting on the mainline ready for testing and re-programming if necessary. A good alternative is a siding right off of the mainline. Layouts that do not have a separate programming track output must be turned off for programming. Many systems with a separate programming track output also have to turn the layout off while programming. The Chief, with its separate programming track output, can continue to run the layout while programming. As such, you can do programming during an operating session. This allows you to have multiple programming tracks, so people can do whatever programming is necessary wherever they are around the layout. All you have to do to have multiple programming tracks is run a programming track bus around the layout, like a track power bus. Wherever you want a programming track, simply isolate a piece of track and run the toggle switch off the track power and programming bus to it. Just be sure no one else is using one programming track while you're using another. So why not program two decoders at once? There are two main reasons: ping back and different use of CVs. When the system sends out the programming code, it checks to see if there is a decoder present. If not, the display on Digitrax's throttles shows "No-D". There are several reasons you may get this message: you may have forgotten to flip the programming switch, the programming track wiring may have developed an open, the loco wheels/track may be dirty, the decoder installation may be faulty, or the decoder may be faulty. Whatever the reason, the system did not detect a load on the track. So, if you put two locos on the track and one has a defective "whatever", the system will detect the good one and do its programming. You will have no indication or idea that the other one is not programmed. Next, when programming a decoder, the decoder will ping back if the programming was accepted and executed. When the system gets this ping back, it shows "GOOD" on the display. Again, if you have two locos on the track to program both decoders at the same time, are they both good? You have no way of knowing. One could be making good contact, and not the other one - you won't know that one didn't get programmed. Even if you did know that one didn't get programmed, you wouldn't know which one. More important than that is the fact that not all decoders use the same CVs for the same things. This is most important for people to understand when they install a DSX sound-only decoder in a loco with another decoder to run the motor and lights. Things like special lighting effects, sound controls, and other manufacturer specialty features are all handled in a set of CVs reserved for the manufacturer's use. Each manufacturer uses these for their own purposes, none of which are the same. Programming them together will certainly mess up one of them. For more information, refer to the DSX Quandary page. Service-Mode Programming is something you will need to learn - at least the basics so you can program the loco address. You do not need to bother with more sophisticated programming unless you want to use features that require it. |