125 lines
5.9 KiB
Plaintext
125 lines
5.9 KiB
Plaintext
<!DOCTYPE html>
|
|
<!-- Copyright Bob Jacobsen 2008 -->
|
|
<html lang="en">
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
|
|
<title>JMRI: Send CAN Frame</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI help send loconet packets">
|
|
<!--#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>Send OpenLCB Frame</h1>
|
|
<a href="SendFrame.jpg"><img src="SendFrame.jpg" width="368" height="410" alt=
|
|
"Send Frame Tool image" class="floatRight"></a><br>
|
|
The "Send OpenLCB Frame" tool lets you directly send <a href=
|
|
"../../../../../../html/hardware/can/index.shtml">CAN frames</a>, and certain kinds of
|
|
OpenLCB messages.
|
|
<p>It works best in combination with the "Show Raw Data" option in the monitor window,
|
|
because packets are entered here in raw hexadecimal format.</p>
|
|
|
|
<p>The top section of the window lets you send a single frame. Just type the packet's data
|
|
contents as hexadecimal numbers, for example "83 7C". If you want to specify header contents,
|
|
preceed the packet data with the header in "()" characters or "[]" characters for a standard
|
|
or extended header, respectively. (OpenLCB uses only extended headers, but we make it
|
|
possible to send both so you can experiment). Once you've entered the packet, just click
|
|
"send".</p>
|
|
|
|
<p>The second section lets you enter from one to four frames that will be repeatedly sent in
|
|
sequence, with user-defined delays in between. Press the "Go" button to start the
|
|
transmission sequence, and press it again to stop the sequence.</p>
|
|
|
|
<p>Below that are sections for sending various OpenLCB messages.</p>
|
|
|
|
<p>Under "Send control frame with source alias:",
|
|
the "Send CIM" button formats up a "CIM" frame from the source
|
|
node alias that you provide and then sends it. This is part of the OpenLCB technique for
|
|
allocating node aliases.</p>
|
|
|
|
<p>In the next sections, you can format and send frames that contains
|
|
specific OpenLCB messages. All of these are sent with the source alias you
|
|
provided above</p>
|
|
|
|
<ul>
|
|
<li>"Send Verify Nodes Global": This sends a request for all nodes to
|
|
identify themselves. You'll see the response(s) in the monitor window.</li>
|
|
|
|
<li>"Send Verify Nodes Global with NodeID": This sends a request for a specific node to
|
|
identify themselves. You'll see the response in the monitor window.</li>
|
|
</ul>
|
|
|
|
The following section sends messages that contain an event ID that you can
|
|
specify here. You can also specify the Unknown/Valid/Invalid status
|
|
for Consumer/Producer Identified messages.
|
|
|
|
<ul>
|
|
|
|
<li>"Send Request Consumers": Using the source alias you provided in the upper section and
|
|
the event ID specified here, this sends a request for a reply from any node that consumes
|
|
that event ID.</li>
|
|
|
|
<li>"Send Consumer Identified": Using the source alias you provided in the upper section and
|
|
the event ID specified here, this sends reply that the node consumes
|
|
that event ID.</li>
|
|
|
|
<li>"Send Request Producers": Using the source alias you provided in the upper section and
|
|
an event ID specified here, this sends a request for a reply from any node that produces
|
|
that event ID.</li>
|
|
|
|
<li>"Send Producer Identified": Using the source alias you provided in the upper section and
|
|
the event ID specified here, this sends reply that the node consumes
|
|
that event ID.</li>
|
|
|
|
<li>"Send Event Produced": Using the source alias you provided in the upper section and an
|
|
event ID specified here, this sends an announcement that the given event has been
|
|
produced.</li>
|
|
|
|
</ul>
|
|
|
|
<p>Next is a section that will allow you to send addressed messages to specific nodes.
|
|
You select the destination node here, then click the buttons to send a Request Events,
|
|
Send PIP Request or Send SNIP Request to that node.</p>
|
|
|
|
<p>Next is a section that allows you to send an arbitrary datagram to the node
|
|
selected above.</p>
|
|
|
|
|
|
<ul>
|
|
<li>"Send Datagram": Using the source alias and destination alias you provided in the upper
|
|
section and data bytes you provide here, this sends a datagram to the destination node.</li>
|
|
<li>The "Send Confirm" button sends a confirmation reply to any datagram received.</li>
|
|
</ul>
|
|
|
|
<p>In the "Send OpenLCB memory request" section, you can use the OpenLCB configuration
|
|
protocol to read and write from node memory. Set your source node alias and the destination
|
|
node sections above.
|
|
Next select the memory address to start reading or writing at, and which address space
|
|
you'd like to read or write from. (Configuration Definition Information, etc).
|
|
Then, either enter the desired number of bytes and click Read,
|
|
or the data to write and push Write.</p>
|
|
|
|
<p>Finally, there are some high-level operations:
|
|
<ul>
|
|
<li>The "Restart" button will restart (reboot) the selected
|
|
node.</li>
|
|
<li>The "Open CDI Config Tool" button will open a configuration window
|
|
for the node selected above. The button is only enabled if that node
|
|
has indicated that it does have CDI information.</li>
|
|
<li>The "Force CDI Reload" button will close any
|
|
configuration windows for the selected node, and then
|
|
force a reload of the configuration description information (CDI) the
|
|
next time the node's configuration window is opened.</li>
|
|
</ul>
|
|
|
|
<!--#include virtual="/help/en/parts/Footer.shtml" -->
|
|
</div>
|
|
</div>
|
|
<!-- close #mBody -->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|