Programming ESU Decoders

== Programming an ESU Decoder ==
ESU decoder programming works best in the Direct Mode. On a Digitrax system, that is the Pd mode when using a throttle.
The Digitrax DCS240 will program most ESU decoders without the need of a Programming Track Booster.
For a complete listing of CVs used, consult both the ESU multifunction decoder documentation and that supplied by the manufacturer. ESU decoders are programmed by the vendor or the locomotive's manufacturer.
=== Programming ESU Decoders with CVs over 255 ===
CV Programming for CV’s over 255 with ESU Decoders with a Digitrax Command Station
;This process is also valid for other systems which cannot address CVs greater than 255.
Courtesy of ESU.
:Some older Digitrax Systems do not allow programming of CVs above 255. In order to make full Programming possible, we have implemented an assistance tool. This helps to write the number of the CVs desired temporarily into two assisting CVs (so-called address registers), since the usual CVs cannot be reached.  Afterwards the value of the CV desired will be programmed into another assisting CV (so-called value register). When the value register is written, the content will be copied to the actual desired position and the assisting CV will be set back. Consequently, 3 CVs have to be programmed to write one CV. These 3 CVs are described in the following chart:
=== Process ===
CV	Name 	Description 	Value Range
96	Address Offset	Saves the CV number that should be programmed in the hundreds 	0-9
97	Address 	Saves the CV number that should be programmed in the tens and ones	0-99
99	Value 	Saves the value of the CV to be actually programmed 	0-255
Example: You wish to program CV 317 with value 120.
Proceed as follows:
Program the value of the CV number in hundreds in CV 96. 
*In this example: CV 96 = 3.
Program the value of the CV number in units and tens in CV 97. 
*In our example: CV 97 = 17.
Program the desired value in CV 99.
*In our example: CV 99 = 120.
As soon as you have programmed CV 99, the value of CV 99 will be transferred into CV 317. When the programming has finished, CVs 96, 97 and 99 will be reset automatically.
=== References Available ===
ESU has a webpage with their project files:
Projects
Browse different models, demo sound and functions, and download sound projects.
=== Notes ===
This procedure is ONLY needed when programming CV’s above 255 on some older Digitrax DCC Systems and other systems not capable of CV inputs above 255. It may also be required for NCE systems.
If you are using JMRI, it handles this process for you.
=== Programming with JMRI ===
The level of sophistication in an ESU LokSound multifunction decoders means that manually programming it can be an almost impossible task. Thanks to JMRI, the task can be much easier. 
 LokSound multifunction decoders are very complex, and a specific process must be followed when using JMRI: 
# To ensure the most recent decoder definitions are available, always keep JMRI up to date.
# The most accurate method of determining which decoder is installed is to use New Loco → Read Type from Decoder. Modern ESU decoders have unique identification that the software can use to accurately determine which definition is correct.
# Read all the decoder CVs and save them. ESU multifunction decoders have no "factory defaults", as that is determined when the sound project is loaded and part of the procedure involves writing the defaults for that project. (This process is done with a LokProgrammer at the factory).
# Use the Read Full Sheet (on the CV tab) as this is less prone to errors. Repeat the process as needed until there are no CVs in red. 
## Clicking the on the Status arrow will move all the items in red to the top of the sheet.
## Using Direct Mode is faster for reading CVs compared to Paged Mode. 
# Make your changes, then use Write Changes.
At this point you can save your locomotives CVs to a file, allowing you to recreate the programming changes later if needed.
==== Programming with JMRI and NCE Power Pro ====
The NCE Power Pro system often locks up when reading multifunction decoders with large numbers of CVs. The workaround is to leave JMRI running and turn the Power Pro off for 20 seconds. After powering back on, JMRI will eventually pick up again and continue reading. After finishing, use the Read Full Sheet as outlined above.
== LokProgrammer ==
If you have a large number of ESU decoders a LokProgrammer is a worthwhile investment. The software can configure the decoder, update its firmware, and write the defaults. The LokProgrammer hardware uses proprietary protocols which are much faster when reading and writing CVs.
The LokProgrammer software can be used in a standalone mode, with the ability to write a CSV file which can be loaded into JMRI.
== Further Reading ==
* Decoder Reset has more details on resetting an ESU multifunction decoder
* Programming
* Configuration Variable
* NCE FAQ: Indexed CV Programming
* NCE PowerPro: Indexed Configuration Variables
* ESU Decoder Tips, Tricks, and other Useful Information
Category:Programming
Category:Digitrax
Category:ESU
Category:NCE