Programming
Lock has two purposes:
1) To allow you to program decoders individually when you have two
or more installed in one loco.
2) To prevent accidental reprogramming whether by human or system
error.
With the advent of function-only
decoders, transponding/function-only decoders, and especially now
that Throttle Up! has discontinued the DSD-150 line, forcing people
to use the DSX if they want the full sound experience, it's becoming
more and more common that people will have more than one decoder in
a single loco. The problem with this is that when you program one,
you're programming them all. Yet, each one has its own programming
requirement. Without programming lock, you either have to provide
a way do disconnect all decoders but the one you're programming, or
develop a complex procedure to program them independently of each
other via OPS-Mode programming. With programming lock, you can simply
lock all decoders except the one you want to program.
When Train Control Systems developed
their function-only decoder, to be mounted in a loco to supplement
the functions of the regular decoder, it included a programming lock
to allow it to be locked while you program the other decoder. While
this was good (a start) I recognized the need for all decoders to
have a programming lock feature for the two reasons cited above. At
that time I proposed, to all the companies we deal with, that a standard
lock feature be developed that all manufacturers would use.
While most companies were amenable
to the idea, and Train Control Systems had already developed a working
lock, Digitrax applied for (and received) permission to use a pair
of CVs for experimentation with a lock system. Digitrax has since
announced that all of their series "3" decoders have program
lock. Further, they are presenting it to the NMRA to become a part
of the recommended practices. I fully expect this locking method to
become an NMRA RP that most manufacturers will use. If you think this
is a good idea, petition your favorite decoder manufacture to implement
it as well.
Here's how it works, using CVs 15
and 16 - both defaulting to zero (0).
CV16 is used to create a lock ID
Number from 1 through 7. Programming any value from 1 through 7 locks
the decoder. At this point, the only CV that can be programmed is
CV15, via programming track or OPS-Mode - no other CV can be programmed.
Programming the same value into CV15 will unlock the decoder for
programming in Service-Mode (programming track) or OPS-Mode.
While zero could be used as a lock
value, by programming a value of 1 to 7 into CV15, it's not a good
idea - which will become obvious to you later as you read the rest
of this.
Here's how it works: Let's say you
have four decoders in your loco: an NCE decoder to drive the motor,
a Train Control Systems function-only decoder for more functional
outputs, a Throttle Up! (SoundTraxx) DSX for sound, and a Transponder
from Digitrax.
First, NCE decoders do not have programming
lock. Train Control Systems function-only decoders have a programming
lock that works differently than Digitrax's, but I assume they will
change it to match Digitrax's when it becomes an RP. I've been told
that Throttle Up! is talking about including it, so we'll assume it
has programming lock implemented in our scenario. Digitrax's Transponder
only doesn't have lock today, but future ones will. So, in all, the
only decoder without programming lock (which I expect to change in
the future) is the NCE motor decoder - so we'll always re-program
that one after programming any of the others.
Next you should devise a standard
for locking various types of decoders that you may be using, and stick
with that standard. This way you won't have to keep track of the ID
number for every single decoder you have.
0) Digitrax recommends using zero
as a non-locking value. That is, if you don't wantt a decoder locked,
leave CVs 15 and 16 at zero.
1) Use a value (ID Number) of 01
for regular motor decoders. This way you always know to unlock #1
to program motor and headlight CVs on the main decoder.
2) Use ID Number 02 for sound decoders.
3) Use ID Number 03 for function-only
decoders.
4) Use ID Number 04 for transponder-only
decoders. This one isn't on Digitrax's list of recommendations, but
it makes sense.
The rest of the values (05, 06, and
07) can be used for anything else that comes along new in the future,
or for your own special needs.
If you stick with the standard set
above, and everybody else does also, there will never be a question
about how to unlock any specific type of device.
Since the NCE decoder doesn't have
a lock, you can't lock it. But, the rest do (or will) have a lock.
So, before you install any of them, you should put them on the programming
track, thoroughly test them, program the desired address and anything
else you know you'll want to program, then lock them with the appropriate
ID Number. A Decoder
Tester is handy for making this whole procedure quick and easy
to do.
Once installed, and you're running
the loco around the track for a shake-down cruise, you'll probably
find something that needs to be changed: V-start on the motor decoder,
and Volume on the sound decoder, for example.
Since the motor decoder doesn't have
a lock, it has to be programmed last. So, first program a value of
02 into CV15. This unlocks the sound decoder. Since the function
only decoder has a value of 03 in CV16, it stays locked because 02
does not match it. Ditto with the transponder which has a value of
04 as the ID code.
With the DSX unlocked, you can now
program the volume or anything else that needs to be changed - on
the programming track or via OPS-Mode. We recommend using OPS-Mode
for this when you have two or more decoders that will be drawing power
during the programming process. With the current limitations of some
programming tracks, trying to program a sound decoder while powering
others at the same time may not work. However, with OPS-Mode, current
isn't a factor because all decoders will be getting full current from
the track at all times.
Also, when you have a decoder that
can't be locked, you need to keep track of which CVs you program on
the "unlocked" decoder. Remember, the decoder that doesn't
have the lock will also be getting programmed, and the values you're
programming into whatever CVs you're programming could be problematic
or detrimental to it.
Once you have finished your programming
on the DSX, unlocking the next decoder will automatically lock the
DSX. For example, if you needed to remap a function on the function
only decoder, programming a 03 into CV15 will unlock the function
only decoder, and lock the DSX and all other lockable decoders. When
finished programming all lockable decoders, lock them all by programming
a zero back into CV15. By not using zero as an ID Number for anything,
you can always be assured that programming a zero into CV15 will
lock all lockable decoders.
Now it's time to program the motor
decoder - the only one without a programming lock. The first thing
to do is review all of the CVs you programmed on the DSX, and other
decoders, to see if those CVs mean anything to the motor decoder.
If so, you need to re-program those back to whatever they need to
be. Once that's done you can program V-start or any other CV needed
on that decoder.
You can see how important programming
lock is if you need to have two or more decoders in one loco. Hopefully,
all decoder manufacturers will adopt this feature - real soon. If
your favorite manufacturer doesn't adopt it soon, contact them directly
to ask for it. Trust me, they will listen to you more than they will
listen to your dealer. |