Skip to main content
The documentation below describes Signaling with JMRI using an older tool, SSL, and discusses how to set up basic signaling situations with it.
Simple Signal Logic (SSL) provided the first method to enable the rapid setup of basic Automatic Block Signaling (ABS) style signaling in JMRI. For more complex operations beyond the capability of SSL refer to the newer and preferred method of Signal Mast Logic on the Signaling main help page. Note that SSL ignores any Signal Mast objects and only drives individual Signal Heads.
Don't use the SSL Tool when you have already built Signal Masts and the more advanced Signal Mast Logic in the same Panel/Configuration file.
Much of basic ABS signaling can be boiled down to "a Signal Head goes red when a train can't safely enter the block it protects; it goes yellow when the block following the protected block can't be entered". Although that's a simplification, it can serve as a powerful starting point for understanding signaling logic.
The SSL user interface was designed to be user friendly to all users with basic familiarity with JMRI. SSL provides a means for setting up basic signals in an intuitive manner, without the user having to be familiar with all of the logic necessary to account for the different Signal Aspects.
The Simple Signal Logic Tool allows you to configure JMRI to use a basic ABS type of logic to set the appearance of Signal Heads. The fields will vary based on the the selected option. Using the SSL Tool, you enter information for each Signal Head on:
The case of a facing point turnout which leads to two different "Protected Signals" is also covered. If a single Signal Head is used to control both branches, then choose "On Facing-Point Turnout". If a different Signal Head will control each route, then simply choose "Main" or "Diverging" leg of turnout, as required for each one.
Pause your mouse over any entry or item in the SSL creation pane for a brief "tooltip" help reminder.
Use the Apply button to create a new SSL defintion or update an existing defintion. The Delete button will remove the SSL definition.
It's clear that SSL won't cover complicated interlockings nor will it cover the speed-signaling seen on some prototypes. However, when combined with the logic capabilities of JMRI Routes and Logix, SSL can be used to create a CTC panel, as Bob Bucklew shows on his web site.
Follow these steps to create your first JMRI Signal and become familiar with the SSL user interface. As a starter this example defines just one "virtual" Signal Head that doesn't really exist on the layout, so it can work with any kind of layout hardware. See the Signaling main help page for information on how to set up your own signals.
You have just created an SSL entry to control a Signal Head. It's as simple as that. It
took you more time to read this tutorial than to create your first SSL entry.
The following example would allow you to build actual Simple Signal Logic for signals connected to a specific kind of DCC system:
Copyright © 1997 - 2022 JMRI Community. JMRI®, DecoderPro®, PanelPro™, DispatcherPro™, OperationsPro™, SignalPro™, SoundPro™, TrainPro™, Logix™, LogixNG™ and associated logos are our trademarks. Additional information on copyright, trademarks and licenses is linked here.