-
Notifications
You must be signed in to change notification settings - Fork 331
/
index.shtml
175 lines (141 loc) · 6.67 KB
/
index.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 15.17), see www.w3.org">
<title>JMRI Hardware Support - OpenLCB</title>
<!-- Style -->
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<link rel="stylesheet" type="text/css" href="/css/default.css"
media="screen">
<link rel="stylesheet" type="text/css" href="/css/print.css"
media="print">
<link rel="icon" href="/images/jmri.ico" type="image/png">
<link rel="home" title="Home" href="/">
<!-- /Style -->
</head>
<body>
<!--#include virtual="/Header" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<h1>Hardware Support: OpenLCB</h1><em>The support on this
page is rapidly evolving; the actual code might be ahead or
behind the documentation on any given day.</em>
<ul class="snav">
<!-- TOC -->
<li><a href="#connecting">Connecting</a></li>
<li><a href="#tools">JMRI OpenLCB Tools</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul><a name="connecting" id="connecting"></a>
<h2>Connecting</h2>JMRI provides support for general JMRI
<a href="../../tools/Sensors.shtml">Sensors</a> and <a href=
"../../tools/Turnouts.shtml">Turnouts</a> in terms of OpenLCB
"events".
<h3>Settings</h3>
<p>The <a href=
"../../../html/doc/Technical/Names.shtml">system letter</a>
for OpenLCB connections is "M". OpenLCB event and object
names are introduced below, with additional details and
formats on a <a href="Names.shtml">separate page</a>.</p>
<p>JMRI associates OpenLCB Events with individual JMRI
objects (Sensors, Turnouts, etc.) via the JMRI System Names.
A System Name like
"<code>MS1.2.3.4.5.6.7.8;1.2.3.4.5.6.7.9</code>" 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.</p>
<p>Another format for Event ID's is a continuous hexadecimal
string, such as "<code>x0102030405060709</code>".</p>
<p>These System Names can get very long, in which case the
"User Names" become much more useful.</p>
<h4>Sensors</h4>
<p>OpenLCB messages coming into JMRI applications can be
accessed via JMRI Sensor objects. The Sensor's <a href=
"Names.shtml">System Name</a> determines which OpenLCB Events
it corresponds to.<br>
A Sensor is defined by two Events: The one that sets it
ACTIVE, and the one that sets it INACTIVE.<br>
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.<br>
You create Sensors using the <a href=
"../../../package/jmri/jmrit/beantable/SensorAddEdit.shtml">Add...</a>
button on the <a href=
"../../../package/jmri/jmrit/beantable/SensorTable.shtml">Sensor
Table</a>. 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".</p>
<h4>Turnouts</h4>
<p>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. "<code>MT1.2.3.4.5.6.7.8;1.2.3.4.5.6.7.9</code>".</p>
<h4>Signals</h4>
<p>OpenLCB connections can use many of the usual forms of
SignalHeads and SignalMasts that are based on
Turnouts. In addition, there's an
<a href="OlcbSignalMast.shtml">OpenLCB-specific form of SignalMast</a>
that uses Events to change from one aspect to another.
<h3>Wiring</h3>
<p>OpenLCB connection options are <a href=
"Connections.shtml">on a separate page</a>. <a name="tools"
id="tools"></a></p>
<h2>JMRI OpenLCB Tools</h2><img src="images/OpenLCBmenu.png"
width="172" height="126" align="right" alt="Menu">
<p>When JMRI is connected to a layout via this system, an
<b>OpenLCB</b> menu is shown:</p>
<ul>
<li>Traffic Monitor<br>
<a href="images/OpenLCBMonitor.png"><img src=
"images/OpenLCBMonitor.png" alt="Monitor Pane" width="488"
height="88"></a></li>
<li>You can directly operate the OpenLCB network via the
<a href=
"../../../package/jmri/jmrix/openlcb/swing/send/OpenLcbCanSendFrame.shtml">
Send Frame</a> tool<br>
<a href="images/OpenLCBSendFrame.png"><img src=
"images/OpenLCBSendFrame.png" alt="Send Frame Pane" width=
"456" height="349"></a></li>
<li>Browse and set Configuration with the <a href=
"../../../package/jmri/jmrix/openlcb/swing/networktree/NetworkTreePane.shtml">
Configure Nodes</a> tool<br>
<a href=
"../../../package/jmri/jmrix/openlcb/swing/networktree/NodeWithID.png">
<img src=
"../../../package/jmri/jmrix/openlcb/swing/networktree/NodeWithID.png"
width="128" height="149" alt=
"Configuration Tool pane"></a></li>
<li>Start Hub<br>
<a href="images/OpenLCBHubControl.png"><img src=
"images/OpenLCBHubControl.png" alt="Hub Control Pane"
width="114" height="28"></a></li>
<li>The <a href=
"../../../package/jmri/jmrix/openlcb/swing/downloader/LoaderFrame.shtml">
Firmware Update</a> tool can load new firmware into
compatible OpenLCB Nodes<br>
<a href="images/OpenLCBFWDownloader.png"><img src=
"images/OpenLCBFWDownloader.png" alt="HW Downloader Pane"
width="145" height="171"></a></li>
</ul><a name="documentation" id="documentation"></a>
<h2>Documentation</h2>
<h3>JMRI Help</h3>
<ul>
<li>How to <a href="Connections.shtml">Connect JMRI to an
OpenLCB installation</a></li>
<li>The Help page on <a href="Details.shtml">OpenLCB
Technical Details</a></li>
<li>The <a href="../can/index.shtml">main Help page</a> for
JMRI CAN support, including links to various general
tools</li>
</ul><!--#include virtual="/Footer" -->
</div><!-- closes #mainContent-->
</div><!-- closes #mBody-->
</body>
</html>