JMRI: Configure LocoIO (LNSV1) Devices Tool
Author: Egbert Broerse
Keywords: JMRI help send loconet lnsv1 locoio

# Configure LocoIO (LNSV1) Devices Tool

since 5.11.5The "Configure LocoIO (LNSV1) Modules" tool lets you access and program connected LocoNet devices that respond to the LNSV version 1 LocoNet programming protocol.
Examples are the classic Jabour, HDL and GCA LocoIO boards. You find the tool in the LocoNet menu as long as a LocoNet connection is available.

As this tool is new, you might use it in combination with the "Show Raw Data" option in the LocoNet Monitor to check for any additional responses rejected by the LNSV1 filters.

LNSV1 modules will respond to any Read and Write commands addressed to them (only the Read button in the tool is enabled).

LNSV1 Responses coming back from the layout will be listed in the LNSV1 Monitor, and if not already in the list, devices sending a read reply will be added to the Devices table.

## Module LNSV1 Programming

LNSV1 Programming requires 3 elements to address an SV in an LNSV1 module on LocoNet:

1. Low module address
2. High or module subaddress
3. SV number

Enter the low address e.g. 81 in the field to the left of the slash, and enter the subaddress in the field on the right.

After first starting the tool, existing LocoIO modules are detected on LocoNet. After a couple of seconds they will appear in the table. Note the Version column and other properties.
To repeat the probing, for example after you powered up a LocoIO, press the [Probe All] button at top left.

When your Roster contains (exactly) one entry for a decoder of the same DCC address (the value in the second column), its name will be listed in the table as the Roster Entry ID, as shown below.
When you have a matching Roster Entry, the button in the Program column will read [Program] and will directly open the Roster Entry tabs.

When no match was found in your Roster, the button will read [No Match in Roster]. You may click on the button to receive a short hint. That will tell you to open your Roster and create a new Entry with the DCC address mentioned in the dialog.
Be sure to complete the Entry creation process by clicking [Save to Roster] on the DecoderPro Roster Entry tab.

When a matching DCC address was found in the Roster but that decoder doesn't support LNSV1 programming, we must assume it is a mismatch. Perhaps a decoder in one of the locos has the same address as one of the LocoIO composite addresses.
The button will read [Not for LNSV1] and you advised to change the LocoIO address.

## LNSV1 Read

For incidental checking, the tool allows reading of individual SV values.

Click on one of the rows to copy a modules' address and SV last read to the top part of the pane.
Enter an SV number in the SV: field on the right of the tool pane and click [Read] to find the value returned in the Value: field.
The [Write] button is disabled to prevent messing up the complicated LocoIO configuration variables (in contrast to the Configure LNCV tool). DecoderPro Programming on Main gives you access to the full suite in a consistent and accessible way.

## Broadcast LNSV1 Programming

Click "Probe All" to start a session.

Module addresses can be changed from this tool using Broadcast mode [Set All Addresses] button, but you have to make sure only one such device is powered, as they will all respond to broadcast programming commands.

WARNING: this will change the SV1 and SV2 address values in ALL connected LocoIO family boards

## LNSV1 Decoder definitions

You use the Roster entry programming panes for advanced (and accessible) configuration changes. Easily switch to DecoderPro Roster either by clicking the [Program] button in the LNSV1 table or manually open the entry for the module in your Roster entries list.
Go to the "LocoIO" or "Ports" tabs to read and write options supported by the device.

Anyone interested in writing their own LNSV1 decoder definitions in JMRI, please note that in the definition the programming mode should be defined as `<mode>LOCONETLNSV1MODE</mode>`.