JMRI: Send CAN Frame
Author: Bob Jacobsen
Keywords: JMRI help send loconet packets

# Send OpenLCB Frame

The "Send OpenLCB Frame" tool lets you directly send CAN frames, and certain kinds of OpenLCB messages.

It works best in combination with the "Show Raw Data" option in the monitor window, because packets are entered here in raw hexadecimal format.

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".

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.

Below that are sections for sending various OpenLCB messages.

Under "Send special frame", 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.

In the "Send OpenLCB message" section, you can format and send frames that contains specific OpenLCB messages:

- "Send Verify Node": Using the source alias you provided in the upper section and a node ID specified here, this sends a request for a verification reply from the node.
- "Send Request Events": Using the source alias you provided in the upper section and a node ID specified here, this sends a request for infomration on the nodes produced and consumed by the node.
- "Send Request Consumers": 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 consumes that event ID.
- "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.
- "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.
- "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. The "Send Confirm" button sends a confirmation reply to any datagram received.

In the "Send OpenLCB configuration command" section, you can use the OpenLCB configuration protocol to read and write from node memory. Set your source node alias and the destination node alias in the "Send special frame" section 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 (two bytes in this implementation) and push "Write".

"Send Confirm" sends the confirmation to any datagrams you receive in reply.