Hardware Support: OpenLCB
The support on this page is rapidly evolving; the actual code might be ahead or behind the documentation on any given day.Connecting
JMRI provides support for general JMRI Sensors and Turnouts in terms of OpenLCB "events".Settings
The system letter for OpenLCB connections is "M". OpenLCB event and object names are introduced below, with additional details and formats on a separate page.
JMRI associates OpenLCB Events with individual JMRI
objects (Sensors, Turnouts, etc.) via the JMRI System Names.
A System Name like
"MS1.2.3.4.5.6.7.8;1.2.3.4.5.6.7.9
" defines a
Sensor that follows the "1.2.3.4.5.6.7.8" and
"1.2.3.4.5.6.7.9" OpenLCB Events to change state.
Another format for Event ID's is a continuous hexadecimal
string, such as "x0102030405060709
".
These System Names can get very long, in which case the "User Names" become much more useful.
Sensors
OpenLCB messages coming into JMRI applications can be
accessed via JMRI Sensor objects. The Sensor's System Name determines which OpenLCB Events
it corresponds to.
A Sensor is defined by two Events: The one that sets it
ACTIVE, and the one that sets it INACTIVE.
The Event numbers are essentially arbitrary, and are defined
by the OpenLCB Nodes that send them. Because Events are not
intrinsically associated with specific hardware objects, and
because people can use Event ID's in many ways, the specific
Event ID's for a Sensor must be supplied.
You create Sensors using the Add...
button on the Sensor
Table. If you supply two event ID's, the first will set
the Sensor ACTIVE and the second will set it INACTIVE. If you
provide just one, it will set the Sensor ACTIVE, and it will
automatically reset itself to INACTIVE shortly after. This
can be used for events that indicate momentary things on the
layout like "it's noon".
Turnouts
The scheme for Turnouts is similar to Sensors above,
except JMRI is emitting the OpenLCB frames instead of
receiving them, and the type letter is "T" instead of "S",
e.g. "MT1.2.3.4.5.6.7.8;1.2.3.4.5.6.7.9
".
Signals
OpenLCB connections can use many of the usual forms of SignalHeads and SignalMasts that are based on Turnouts. In addition, there's an OpenLCB-specific form of SignalMast that uses Events to change from one aspect to another.
Wiring
OpenLCB connection options are on a separate page.
JMRI OpenLCB Tools
When JMRI is connected to a layout via this system, an OpenLCB menu is shown:
- Traffic Monitor
- You can directly operate the OpenLCB network via the
Send Frame tool
- Browse and set Configuration with the
Configure Nodes tool
- Start Hub
- The
Firmware Update tool can load new firmware into
compatible OpenLCB Nodes
Documentation
JMRI Help
- How to Connect JMRI to an OpenLCB installation
- The Help page on OpenLCB Technical Details
- The main Help page for JMRI CAN support, including links to various general tools