53452

== ESU's LokProgrammer ==
right|400px
The LokProgrammer is for use with ESU's only. Many manufacturers equip their locomotives with ESU decoders at the factory, their locomotive specific programming can be modified using the LokProgrammer. With the ever-increasing number of in an ESU LokSound decoder, the LokProgrammer provides a rapid method of reading and writing to the decoder compared to using a command station's program outputs. 
=== Description ===
The LokProgrammer can upgrade decoder firmware or install new sound files. It also allows the user to set the default values which are to be used after a reset. It also can configure a SwitchPilot accessory decoder.
Additionally, it is required to initialise a retail version of an ESU multifunction decoder.Retail versions have basic programming, meant for testing purposes only. The retailer installs the correct firmware (and sound projects for sound equipped decoders) at the time of sale, based on the purchaser's preferences. OEM versions are sold exclusively to manufacturers for installation in their products. 
The LokProgrammer is a small external box, connected between a computer and the programming track. To connect requires a serial interface, or the included USB Adapter cable. The software requires MS Windows. Includes a 500mA power supply. A conventional power supply can be used if more power is needed.
=== Software===
The LokProgrammer hardware relies on software installed on a computer with a compatible version of Microsoft Windows.
The software is updated regularly, complete with bug fixes and definitions for newer multifunction decoders. It also features firmware updates, which can be applied to the decoder. These updates are a regular occurrence. 
Firmware updates fix issues within the decoder. They may also include new features which enhance the operation of the decoder. 
=== Versions Available ===
ESU released Version 5.0.0 of the LokProgrammer software in January 2019, which supports the LokSound 5 multifunction decoders. See the note below regarding the .Net requirement.
The current version is 5.2.10.
== LokProgrammer ==
There are two versions of the programmer.
The older one is blue in colour. The new Lokprogrammer is black. The black one is much faster than the older blue one.
=== Determining Version of LokProgrammer Hardware ===
Using the LokProgrammer software:
Select:
* Tools
** LokProgrammer
*** Click on the "Read Device" button.
===Applications===
File:LPrgmr-address.PNG|Setting an Extended Address and related options
File:LokPrg-PrimaryAddress.png|To set a primary address select "Use Short Address". As per NMRA standards, it will only allow values from 1 – 127 (Inclusive).
File:LPrgmr-DCC.PNG|DCC Settings, including RailCom and 14/28 speed steps
File:LPrgrmr-Outputs.PNG|Configure outputs on a LokSound 5 decoder
* Change the sound safely on the decoder.
* Setting of all digital parameters of the LokSound decoder such as address of the loco, operation speed, maximum speed, braking deceleration, brightness of bulbs etc.; you can set all options with your computer very easily - no cumbersome entering of CVs (configuration variables) with your command station.
* Edit sounds and transfer it to the LokSound decoder.
* Update decoder firmware
* Set the decoder's defaultsThe LokProgrammer is able to write user specific defaults if desired. This includes the decoder's address. 
=== Sound Decoders ===
 LokSound Select decoders may omit the ability to select multiple prime mover and horn sound effects, compared to the retail version. To change the sound set, a Lokprogrammer is necessary.
The Select series may not allow individual changes, only complete sound programming may be done. 
LokSound decoders allow extensive remapping of functions. If one possesses many locomotives equipped with LokSound decoders, a Lokprogrammer is a worthwhile investment, allowing many parameters to be altered quickly, plus editing sound projects. It is much faster than JMRI for tasks such as this.
== Using the LokProgrammer ==
----
For effective use the of the LokProgrammer:
# Verify the most recent version of the LokProgrammer software is installed. Upgrade if needed before beginning decoder programming.
## Using an older version of the software with a new decoder may result in a 'Decoder Not Found' error, as the LokProgrammer's software is unaware of firmware version used by the decoder.
# Minimize any connections between the programmer and decoder. If the decoder is mounted on a daughter board, use a decoder tester if you have one. If not, reseat the decoder to ensure a solid connection between the decoder and the daughter board.
# Do not attempt to program multiple decoders at once. Additional decoders will cause issues.
# Verify decoder version and its firmware revisions.
# If there are issues writing data to the decoder, there may not be enough resistance for the LokProgrammer to detect the decoder. Adding a resistor in parallel to the decoder by connecting it across the track will help. Any value from 100 to 1000 Ohms, ¼W or larger should suffice.
# Run a firmware update manually. Forcing an update can clear up some issues.
# Ensure the wheels and track are clean. If needed, additional mass placed on top of the locomotive can help overcome contact issues.
# Use a larger power supply. The additional current may help with problematic decoders.
=== LED Indicators ===
The LokProgrammer has two LEDs mounted on the board by the programming track connections.
*Green LED
*# Is lit continuously when power is connected to the LokProgrammer
*# Flashes to indicate data received from computer
*Yellow LED
*# Rapid flashing when power is applied to program track and data is being transferred. 
*# Slow flashing when a fault (excessive current) is detected and has disconnected the program track. 
=== USB to Serial Bridge Cable ===
# Before plugging this cable into the USB port of a computer the FTDI drivers, available on the ESU website, must be installed. Otherwise, the device will not work.
## Windows8.1 or higher may do this installation automatically.
# Do not use another cable. This device works well, other devices may cause communications issues.
== Useful Tips ==
# The LokProgrammer software can create a PDF record of the decoder and all the CV settings.
# It is possible to use the software without the hardware to create a file which can then be imported into JMRI's DecoderPro.
# Make all necessary changes, then write them to the decoder in one pass. 
# Simple programming changes can be done with your throttle and command station or DecoderPro. Remember to cycle the power to complete the process.
 When the LokProgrammer's process has completed allow the locomotive to sit on the track undisturbed for at least five minutes. Otherwise, a scrambled decoder can result. 
=== Troubleshooting ===
* USB Adapter Cable Installation
* ESU Support
==LokProgrammer System Requirements==
----
=== Microsoft Windows Only ===
==== XP ====
The LokProgrammer software is only compatible with Microsoft Windows. The webpage states Windows XP. According to ESU their software requires XP, Service Pack 2 or better. It only works with the 32-bit version of XP. Since XP has not been supported since 2014, most installations will be on a higher version of Windows. 
==== Other Windows Versions ====
ESU does state that LokProgammer is compatible with Windows versions 7, 8 and 10. Requires Microsoft .NET Framework 3.5 SP1, (installed automatically if needed) available from their download page.
===== Microsoft Windows 11 =====
Security settings interfere with installing an updated driver. The older driver supplied by ESU is no longer supported.
Use the following process:
* Settings 
** Windows Security 
*** Core Isolation 
***** Disable and Reboot the computer
The latest drivers are available from FTDI
 As Microsoft no longer supports Windows 7, the .NET files are no longer available through the update mechanism. Windows 7 versions are available, use a search engine to locate the Microsoft web page hosting these files. 
=== RS-232 (Serial) to USB Interface (USB Bridge) ===
As the LokProgrammer uses an RS-232 serial port, an adapter cable is required to connect to newer computers which lack the 9-pin D connector style serial port. 
ESU includes a USB to RS-232 bridge cable.
A driver must be installed to create a Virtual Com Port on an IBM compatible computer. Macintosh users also require a driver. See the link below for FTDI (Future Technology Devices International) to download a driver for the cable.
=== Windows 7 Issue ===
 Cables supplied by ESU prior to 2009 will not work correctly. Contact your ESU dealer to purchase a new cable, part number 51952: Cable USB-A 2.0 FTDI to RS232; 1.80m, for LokProgrammer.
Installation of a new FDTI driver for the cable is also required. It can be downloaded from FTDI directly.
== Counterfeit USB Bridge Cables ==
There are many USB to Serial port adapters on the market. A number of them used a counterfeited FTDI IC. FTDI released a newer driver which bricks those devices a few years ago. Use only a quality USB-Serial bridge, such as the one supplied by ESU. Others may cause issues due to a cheaper design leaving features out to save money. 
== JMRI Support ==
It is unknown if it is compatible with JMRI. The complexity of some ESU decoders is an issue for the programmers who create the parameter files for JMRI/DecoderPro.
=== Importing CVs into JMRI ===
It is possible to export a list of CVs created using the LokProgrammer software, which can then be imported into JMRI. 
Under the Tools menu, select the Export CV List, and save that file. In JMRI open that locomotive's entry in the roster, or create a new one. Then, under the File menu, select Import then LokProgrammer CV List File. Select the file previously created and JMRI will parse the file and extract the CV values. Once completed the various tabs will be populated with the values that were set using the LokProgrammer software.
Be aware that this process is much slower than using the LokProgrammer to write the CVs to the decoder. DecoderPro cannot update the decoder's firmware.
The LokProgrammer Software also features the ability to create a Bulletin, listing all the details of the locomotive that was programmed.
== Further Reading ==
----
For more details, see the Lokprogrammer page on ESU's website.
* Multifunction Decoder
** Decoder Tester
* Programming
** JMRI
** Software
=== Unofficial LokProgrammer Manual ===
A guide to the LokProgrammer is available in the files section of the LokSound email list on Groups.io:
* Unofficial LokProgrammer Manual
=== Videos ===
==== More Videos ====
* LokProgrammer Setup
* Advanced Consisting with LokProgrammer
* Overview of creating a LokSound v5 sound project and loading it using the LokProgrammer. 
* LokSound5 Soundslot Design: Creating Templates
* LokSound5 Soundslot Design
* Setting up your ESU Loksound Programmer Part 1
* ESU LokProgrammer Function Mapping
Category:Programming
Category:Software