Skip to main content
The Turnout Table
This table contains a list of all turnouts that exist for this
panel. From this table you can change the state of a turnout, change the
feedback mode, enter sensors for feedback, invert, lock, and delete it.
Turnout Table Columns
- System Name
- The System Name cannot be changed once entered into the table.
The "Add" button located in the lower left corner of the table allows
you to add a new turnout to the table. You must use a valid System Name
for a turnout. See Names
for more info.
- User Name
- You can directly enter or change the "User Name" for an
existing turnout. This can be pretty much anything you wish to describe
the turnout.
- Cmd
- Pushing the "Cmd" command button will change the state of an
existing turnout.
- Delete
- Pushing the "Delete" button will remove the turnout from the
table.
Note that this doesn't remove the turnout from any files you've
saved that contain it. If you load one of those files, perhaps
when you restart the program, the turnout will reappear.
You should use one of the "Store to file" options in the "File"
menu to save new versions of any files that contain this turnout.
- Inverted
- When checked, the turnout command and status to and from the
layout is inverted. For example, an inverted turnout means that when
JMRI sends a "CLOSE" turnout command, it becomes a "THROW" to the
layout. Turnouts that can not be inverted have grayed out boxes and can
not be checked.
- Locked
- When checked, the turnout is locked. There are two types of
locks supported by JMRI, cab lockout and pushbutton lockout. When a
turnout is locked, only turnout commands from JMRI will move the
turnout. Cabs and/or pushbuttons on the layout are disabled. You can
selectively decide if you want "Both" cabs and pushbuttons locked,
"Cabs only", or "Pushbuttons only". Click the "Show lock information"
box on the lower edge of the table for the lock options. Not all
stationary decoders support pushbutton lockout, and not all systems
support cab lockout. Turnouts that can not be locked have grayed out
boxes and can not be checked. See Turnout
lock feature below.
- Feedback
- This shows the known state of a turnout.
- Mode
- The pull down boxes allow you to select the method of
operation for a turnout. See Turnout
Feedback below.
- Sensor 1
- Shows the system name of the optional sensor that provides the
feedback for a turnout. You can also directly enter or change the
system name of Sensor 1 for a turnout.
- Sensor 2
- Shows the system name of the optional sensor that provides the
feedback for a turnout. You can also directly enter or change the
system name of Sensor 2 for a turnout.
- Automate
- Shows if an specific retry methods have been configured
for this turnout. See the section on
Turnout Automation below.
- Lock Mode
- Shows which lockouts, if any, are active for this turnout.
"Both" means that cabs and pushbuttons will be locked out if the lock
is active. "Cabs only" means that cabs will be locked out, but
pushbuttons will continue to work when the lock is active. And
"Pushbuttons only" means that pushbuttons will be locked out, but cabs
will continue to work when the lock is active. Note, when JMRI locks a
turnout's pushbutton, it does so by sending a lock command to the
turnout decoder's lock control CV register. You must unlock the turnout
before shutting down the JMRI program if you want to restore the
operation of the pushbuttons. Cab lockout automatically terminates when
the JMRI program is shut down. For more information on this, see below.
- Decoder
- When you're using the lock feature, the program needs to know
what type of DCC decoder is in use so it can handle it properly. If
you're not using the lock feature, don't bother with this field; JMRI
is capable of commanding any type of accessory decoder to move back and
forth.
Currently the program only supports lock mode for NCE revision C
and CVP accessory decoders. CVP decoders support one or two pushbutton
operation. Select the number of pushbuttons used to operate that
specific turnout. CVP_AD4_1B means one button, and CVP_AD4_2B means two
buttons. We recommend that you enter all four CVP turnouts per decoder
into the turnout table, even if you're only locking one. You do not
need to specify the number of pushbuttons for NCE. Unfortunately, NCE
revisions A and B accessory decoders do not support pushbutton lockout.
Turnout Table Controls
There are some buttons and checkboxes along the bottom of the
Turnout Table that control its operation.
- Add
- Pressing this button opens a window where you can
add a new turnout.
- Show feedback information
- When checked, the optional feedback columns are shown.
- Show lock information
- When checked, the optional lock columns are shown.
- Automatic retry
- When checked, enables the automate Global Default setting for
turnouts. Currently the Global Default does not cause retries for
turnouts. See the section on Turnout
Automation below for more information.
Turnout Feedback
Model railroaders want different things when it comes to knowing
the status of the turnouts on their layout. Some are quite happy to say
"I told it to move, that's good enough for me". These people don't worry
about whether a turnout on their layout actually moved when they told it
to. Those people can just ignore this page, and leave the JMRI settings
at their default.
But some modelers want to have better information about the
status of the turnouts on their layout, and so use some form of
"feedback" to indicate turnout position. This could be as complicated as
two microswitches, adjusted to only close when the turnout is properly
seated in either position. Or it could be something simpler.
In the JMRI program, Turnout objects actually know about two
different states: "Commanded" state and "Known" state. The commanded
state is "This is what was asked for last". The known state is "This is
what's happening on the layout as far as I know".
Built into NCE, LocoNet and XPressNet systems are limited
abilities to monitor what is happening on their networks. This allows
JMRI to capture messages or poll the system concerning Turnout state
changes. All the other protocols normally use a "you told it to change,
so it did" logic. In other words, when something in the code (the
Turnout Tool or a script) commands a state change from closed to thrown,
the default is for both both the commanded state and the known state to
change to "thrown".
But it is also possible to control this in more detail if you
have wired your layout to allow it.
The whole question of turnout feedback is then "How do we
configure the program to understand the known state properly, given my
layout hardware?"
In the turnout table (Tools->Tables->Turnouts) click on the box
in the lower left that is labeled "Show feedback information". Now
expand the turnout table window and you'll find four columns associated
with feedback:
- "Feedback"
- This is the "known state". You can't change it, but this
column will show you what the program thinks it is.
- "Mode"
- This is the feedback method used by this turnout. (You can
change it for each turnout individually, but note the change doesn't
take effect until you click somewhere else, and you might need to add
some sensor names in the next column(s))
- "Sensor 1", "Sensor 2"
- These define the sensors needed by certain types of feedback.
You can type a sensor number, system name or user name here; the
program will change it to the system name that it needs.
Available feedback modes are:
- DIRECT
- The default in many cases.
When something tells the turnout to change, it's just
immediately assumed that it actually did it.
- ONESENSOR
- The turnout watches the sensor defined by the "Sensor 1"
column, which is probably hooked to a microswitch on the turnout or
similar. When the sensor is Active, the turnout is known to be in the
"Thrown" position. When it's Inactive, the turnout is known to be in
the "Closed" position.
- TWOSENSOR
- The turnout watches two sensors defined by the "Sensor 1" and
"Sensor 2" columns, which are probably hooked to microswitches at
either end of the turnout's throw bar. When Sensor 1 is active, the
turnout is known to be thrown. When Sensor 2 is active, the turnout is
known to be closed (normal).
- MONITORING
- Default for LocoNet turnouts (and probably XpressNet soon),
and available for NCE. When selected, the network is monitored for
messages about the status of the turnout. This mode is only available
for certain systems, i.e. some systems can't do the monitoring
properly, and don't have this choice.
- INDIRECT
- Currently only available for LocoNet turnouts, this informs
the program that the turnout is being driven by a Digitrax DS54 with a
microswitch attached to the switch lead. For more information, see the
DS54
examples page.
- EXACT
- Currently only available for LocoNet turnouts, this informs
the program that the turnout is being driven by a Digitrax DS54 with
two microswitches attached to the switch and aux leads. For more
information, see the
DS54
examples page on the JMRI website.
Turnout Automation
JMRI can watch a turnout and automate certain operations on it.
This was originally added to handle the case of "I usually have to
click that turnout a couple times to get it to throw over", but
it can be used for other things too.
The three forms are:
- No Feedback
- This just repeats the messages a fixed number of
times, with a delay in between.
- Sensor
- This repeats the messages, with
a delay in between, until either the sensor feedback indicates the
turnout has moved or a limit on the number of attempts is reached.
- Raw
- This sends raw DCC packets to command the turnout to
move over, instead of working through the usual
mechanisms for the specific system.
This mode is intended as a way of getting around certain kinds of incompatibility
between DCC components.
(Note: This is not available with MONITORING feedback, because
that relies on system-specific messages that aren't used in this mode.
It's also not available for systems that don't have a DCC command station present
to send the raw messages)
Normally, turnouts only throw once, which is the "Off" setting
under "Automate". You can set a turnout to
use "No Feedback" automation by selecting it in the Automate
column for the individual turnout. If there are feedback sensors
defined, you can also select the "Sensor" method there.
You can customize the automation by selecting "Edit..."
for an individual turnout.
It's also possible to set global defaults, and some turnouts use
those. See the "Automate" menu to edit those defaults.
Turnout lock feature
The turnout lock feature allows you to selectively disable
accessory (turnouts) commands from cabs and/or locally-wired
pushbuttons. The lock can be set (locked) or unset (unlocked) from a
checkbox in the Turnout Table, from a Route
or Logix, or from scripts.
Cab Lockout
To do the cab lockout, JMRI works with the DCC system to prevent people
from changing the position of a locked turnout. JMRI can only do this
with some DCC systems. To do it, the JMRI program monitors the turnout's
accessory address and if it detects a change command from a cab, will
cancel the command by immediately sending out the opposite command to
the turnout.
To use this feature with an NCE command station, you must select
MONITORING as the feedback mode for the turnout and the NCE command
station must have the 2007 or newer EPROM.
Pushbutton Lockout
JMRI can also work with certain types of DCC accessory decoders to lock
out their locally-wired pushbuttons. To do this, JMRI sends DCC commands
to the decoder. These commands are decoder-type specific, so the program
needs to know what type of accessory decoder operates each lockable
turnout. (There is no industry standard for the lock/messages, unlike
for the messages to move the turnout back and forth, so we have to
create the right custom ones for each type) The various types are
selected in the
"Decoder" column
of the Turnout Table.
Locking Routes
To help you select a set of turnouts to lock, a route can be
locked. All turnouts that are being monitored by the JMRI program and
are included in the route will be locked. See the Route page for more information on this.