JMRI Hardware Support - Digitrax DS54 Examples
Author: Bob Jacobsen
Keywords: JMRI LocoNet DS54

# Hardware Support: DS54 Examples

Examples of using a Digitrax DS54 with JMRI.

The Digitrax DS54 accessory decoder can be configured in a large number of ways (DecoderPro can help with that).

Walter Thompson walked through the details of this:

With the DS54 at defaults these are the LocoNet® msgs when either Switch A or Aux A goes positive causing the Turnout to "toggle" state:
When Switch A (blue lead) goes high loconet msg [b2 8 70 35].
When Aux A (orange lead) goes high loconet msg [b2 8 50 15]

I then set "When Switch A input changes, send" ="Turnout feedback msg"
When Switch A (blue lead) goes high loconet msg [b2 8 70 36]
When Aux A (orange lead) goes high loconet msg [b2 8 50 15]

I then set "When Aux A input changes, send"= "Turnout feedback message"
When Switch A (blue lead) goes high loconet msg [b2 8 70 36]
When Aux A (orange lead) goes high loconet msg [b2 8 50 16]

Therefore, when the Switch and Aux inputs are set to send a turnout feedback message, the feedback mechanisms built into recent versions of JMRI can be used to track the turnout state when the local inputs are used to change the turnout.

## Exact Feedback

To use exact feedback, you need to connect two microswitches to the turnout and to the Switch and Aux inputs on the DS54. (You can use the built in Tortoise contacts for this)

Configure the DS54 channel with:

     Aux A input"='Active ON, trigger on change, Positive Level"
     Aux A task"="No Output change"
     When Aux A input changes, send"= "Exact turnout feedback message"
     Switch A input"='Active ON, trigger on change, Positive Level"
     Switch A task"="No Output change"
     Switch A input changes, send"= "Exact turnout feedback message"

Configure Turnout LT9 (via the Turnout Table) to use "EXACT" feedback.

Commentary | LocoNet messages
--- | ---
Start with Turnout 9 closed Switch A will be Closed and Aux A open. | none
Issue a "Throw Turnout 9" command from the throttle or the turnout table | `[b0 8 10 57]` Requesting Switch at 9 to Thrown (output On) `[b0 8 0 47]` Requesting Switch at 9 to Thrown (output Off)
Turnout starts to move and opens Switch A | `[b1 8 60 26]` Turnout 9 Switch input is Thrown (input on)
Moving turnout closes Aux A and reaches the end of its travel. | `[b1 8 50 16]` Turnout 9 Aux input is Closed (input off)
Now issue a "Close Turnout 9" command | `[b0 8 30 77]` Requesting Switch at 9 to Closed (output On) `[b0 8 20 67]` Requesting Switch at 9 to Closed (output Off)
Turnout starts to move, opens Aux A | `[b1 8 40 6]` Turnout 9 Aux input is Thrown (input on)
Moving turnout closes Switch A and reaches the end of its travel. | `[b1 8 70 36]` Turnout 9 Switch input is Closed (input off)

# Programming the DS54

The DS54 CV values can be programmed via JMRI using the JMRI programming tools using the "Service Mode" programming track. This requires a JMRI connection to a command station, and the DS54's track inputs must be connected to the programming track. As described in the DS54 documentation, it is necessary to connect a 100 Ohm 2 Watt resistor between one of the programming track rails and the "Yellow" input wire of one of the DS54's output connectors. It is also necessary to disconnect all other input signal sources.

Once the connections described above have been made, place the programming jumper across the programming jumper pins and open the JMRI "Service-Mode Programmer" tool. Navigate to the "Digitrax" entry, and select DS54 as the decoder type, and press the "Open Programmer" button. You may then read and write the CVs just like any mobile decoder.

When ready to place the DS54 back in normal service, disconnect the programming track connections and programming resistor, and be sure to remove the programming jumper.

# DS54 Wiring

It is strongly recommended that when multiple DS54s are used, that they be connected to the track wires with consistent phasing. In other words, all DS54 devices should connect the RailA connection to the same terminal position on the DS54, and that all DS54s connect the RailB connection to the other terminal position. This is important to ensure that there is not an unexpected current flow on the LocoNet cable due to out-of-phase connections on the DS54 track connections. Note that this means that the DS54 track connections should not be made using track power that is from an autoreversing power district.

Technical details on this issue can be found in a discussion of power leads on Digitrax components.

LocoNet® is a registered trademark of Digitrax, Inc.