Package jmri.jmrix.loconet
Class LncvDevicesManager
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.jmrix.loconet.LncvDevicesManager
-
- All Implemented Interfaces:
java.util.EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,LocoNetListener
public class LncvDevicesManager extends PropertyChangeSupport implements LocoNetListener
LocoNet LNCV Devices Manager A centralized resource to help identify LocoNet "LNCV Format" devices and "manage" them. Supports the following features: - LNCV "discovery" process supported via PROG_START_ALL call - LNCV Device "destination address" change supported by writing a new value to LNCV 0 (close session next) - LNCV Device "reconfigure/reset" not supported/documented - identification of devices with conflicting "destination address"es (warning before program start) - identification of a matching JMRI "decoder definition" for each discovered device, if an appropriate definition exists (only 1 value is matched, checks for LNCV protocol support) - identification of matching JMRI "roster entry" which matches each discovered device, if an appropriate roster entry exists - ability to open a symbolic programmer for a given discovered device, if an appropriate roster entry exists
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LncvDevicesManager.ProgrammingResult
-
Field Summary
-
Fields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport
-
-
Constructor Summary
Constructors Constructor Description LncvDevicesManager(LocoNetSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearDevicesList()
LncvDevice
getDevice(int art, int addr)
int
getDeviceCount()
LncvDevices
getDeviceList()
void
message(LocoNetMessage m)
Extract module information from LNCV READREPLY/READREPLY2 message, if not already in the lncvDevices list, try to find a matching decoder definition (by article number) and add it.LncvDevicesManager.ProgrammingResult
prepareForSymbolicProgrammer(LncvDevice dev, ProgrammingTool t)
-
Methods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Constructor Detail
-
LncvDevicesManager
public LncvDevicesManager(LocoNetSystemConnectionMemo memo)
-
-
Method Detail
-
getDeviceList
public LncvDevices getDeviceList()
-
getDeviceCount
public int getDeviceCount()
-
clearDevicesList
public void clearDevicesList()
-
message
public void message(LocoNetMessage m)
Extract module information from LNCV READREPLY/READREPLY2 message, if not already in the lncvDevices list, try to find a matching decoder definition (by article number) and add it. Skip if already in the list.- Specified by:
message
in interfaceLocoNetListener
- Parameters:
m
- The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
-
getDevice
public LncvDevice getDevice(int art, int addr)
-
prepareForSymbolicProgrammer
public LncvDevicesManager.ProgrammingResult prepareForSymbolicProgrammer(LncvDevice dev, ProgrammingTool t)
-
-