Files
JIMRI/help/en/html/scripthelp/LnBushbyForwarder/LnBushbyForwarder.shtml
T
2026-06-17 14:00:51 +02:00

83 lines
4.3 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
<!-- Copyright ($Author$) 2021 -->
<title>JMRI: LocoNet "Bushby" Forwarder Script</title>
<meta name="author" content="B. Milhaupt">
<meta name="keywords" content="JMRI Digitrax LocoNet Bushby">
<!--#include virtual="/help/en/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/en/parts/Header.shtml" -->
<div id="mBody">
<div id="mainContent" class="no-sidebar">
<h1>LocoNet "Bushby" Forwarder</h1>
<p><span class="since">Since <a href="https://www.jmri.org/releasenotes/jmri4.25.2.shtml" target=
"_blank">JMRI 4.25.2</a></span>
</p>
<p>The <code>LnBushbyForwarder.py</code> script provides a mechanism to selectively convert
the "normal" LocoNet turnout control messages, for selected turnout addresses, into "special"
LocoNet turnout control messages. This script may be useful in cases where a Digitrax command
station is configured with its "Bushby" feature enabled.</p>
<p>Such "special" messages can be important if any hardware <strong>gets its turnout control
messaging from either the DCC track signal <em>or</em> the "RailSync" wires on the LocoNet
cable</strong>. The "Busbhy" feature, when enabled, <strong>prevents</strong> the command
station from forwarding "normal" LocoNet turnout commands to the DCC track signal (and the
RailSync signals). The net result is that a LocoNet agent, including throttles, will be
_unable_ to control any accessory devices which get their control messages from the DCC track
signal (or the Railsync signals), <em>unless</em> they are capable of sending the special
LocoNet turnout control messaging. Since <em>most</em> LocoNet devices are not able to send
the special turnout control messaging, most LocoNet devices will <strong>not</strong> be able
to control those accessories.</p>
<p>This script provides a mechanism which watches for "normal" LocoNet switch control
messages, and, for certain user-configurable LocoNet switch addresses, sends the equivalent
"special" LocoNet switch control message. The command station recognizes those special
LocoNet switch control messages and forwards the appropriate DCC packet to the DCC track
signal (and RailSync signals).</p>
<h2>What this script does</h2>
The <code>LnBushbyForward.py</code> script, in the <code>jython</code> directory of the JMRI
program installation, provides a mechanism which will monitor LocoNet for "normal" turnout
control messages, and, selectively, send the corresponding "special" turnout control message,
if appropriate.
<p>In the context of this script, "selectively", and "appropriate", as used above, means a
check of the "normal" LocoNet turnout control message's turnout address, against a list of
turnout addresses:</p>
<ul>
<li>if the normal turnout control message is for an address in the list, then a special
turnout control message will be generated and sent to LocoNet, or</li>
<li>if the normal turnout control message is for an address which is not in the list, then
the script ignores the message.</li>
</ul>
<h2>Configuring the script</h2>
As written, the script is designed to generate "special" turnout control messages <em>only
for</em> "normal" LocoNet turnout control messages for addresses <strong>10, 11, 12,
13</strong>. The list may be updated to meet the needs of your specific situation by changing
the list which is coded in the line:<br>
<code>toBeForwarded = [10, 11, 12, 13]</code><br>
As an example, if you wish the script to generate "special" turnout control messages for
turnout addresses 5, 21, 76, 45, and 33, then the following line would be appropriate:<br>
<code>toBeForwarded = [5, 21, 76, 45, 33]</code><br>
<h2>See also</h2>
See <a href="../../hardware/loconet/Digitrax.shtml#TurnoutCmdHandling">this discussion of
turnout control message retries, including Bushby details</a> for more information.
<!--#include virtual="/help/en/parts/Footer.shtml" -->
</div>
<!-- closes #mainContent-->
</div>
<!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>