Class LNCPSignalMast
- java.lang.Object
-
- jmri.implementation.AbstractNamedBean
-
- jmri.implementation.AbstractSignalMast
-
- jmri.implementation.DccSignalMast
-
- jmri.jmrix.loconet.LNCPSignalMast
-
- All Implemented Interfaces:
java.beans.VetoableChangeListener
,java.lang.Comparable<NamedBean>
,java.util.EventListener
,PropertyChangeProvider
,LocoNetListener
,NamedBean
,Signal
,SignalMast
public class LNCPSignalMast extends DccSignalMast implements LocoNetListener
Extend jmri.SignalMast for signals implemented by an LNCP.This implementation writes out to the physical signal when it's commanded to change appearance, and updates its internal state when it hears commands from other places.
setAspect(java.lang.String)
does not immediately change the local aspect. Instead, it produces the message on the network, waiting for that to return and do the local state change, notification, etc.This is a specific implementation for the RR-cirkits LNCP interface board. A more general implementation, which can work with any system(s), is available in
DccSignalMast
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
-
Field Summary
Fields Modifier and Type Field Description (package private) byte
dccByteAddr1
(package private) byte
dccByteAddr2
(package private) LnTrafficController
tc
-
Fields inherited from class jmri.implementation.DccSignalMast
appearanceToOutput, c, dccSignalDecoderAddress, packetSendCount
-
Fields inherited from class jmri.implementation.AbstractSignalMast
aspect, disabledAspects, map, speed
-
Fields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, register
-
Fields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_STATE, QUOTED_NAME_FORMAT, UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description LNCPSignalMast(java.lang.String sys)
LNCPSignalMast(java.lang.String sys, java.lang.String user)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Deactivate this object, so that it releases as many resources as possible and no longer effects others.(package private) void
init()
void
message(LocoNetMessage l)
Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.void
setAspect(java.lang.String aspect)
Set aspect to a valid name in the current signal system definition.void
setKnownState(java.lang.String aspect)
-
Methods inherited from class jmri.implementation.DccSignalMast
configureFromName, getCommandStation, getDccSignalMastAddress, getDccSignalMastPacketSendCount, getOutputForAppearance, getUnlitId, isDCCAddressUsed, setDccSignalMastPacketSendCount, setLit, setOutputForAppearance, setUnlitId, useAddressOffSet, useAddressOffSet
-
Methods inherited from class jmri.implementation.AbstractSignalMast
allowUnLit, configureAspectTable, configureSignalSystemDefinition, getAllKnownAspects, getAppearanceMap, getAspect, getBeanType, getDisabledAspects, getHeld, getLit, getMastType, getSignalSystem, getSpeed, getState, getUsageReport, getValidAspects, isAspectDisabled, isAtStop, isCleared, isPermissiveSmlDisabled, isShowingRestricting, setAllowUnLit, setAspectDisabled, setAspectEnabled, setHeld, setMastType, setPermissiveSmlDisabled, setState, vetoableChange
-
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, describeState, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Field Detail
-
dccByteAddr1
byte dccByteAddr1
-
dccByteAddr2
byte dccByteAddr2
-
-
Constructor Detail
-
LNCPSignalMast
public LNCPSignalMast(java.lang.String sys, java.lang.String user)
-
LNCPSignalMast
public LNCPSignalMast(java.lang.String sys)
-
-
Method Detail
-
init
void init()
-
message
public void message(LocoNetMessage l)
Description copied from interface:LocoNetListener
Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.- Specified by:
message
in interfaceLocoNetListener
- Parameters:
l
- The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
-
setAspect
public void setAspect(@Nonnull java.lang.String aspect)
Description copied from interface:SignalMast
Set aspect to a valid name in the current signal system definition.- Specified by:
setAspect
in interfaceSignalMast
- Overrides:
setAspect
in classDccSignalMast
- Parameters:
aspect
- the new aspect shown
-
setKnownState
public void setKnownState(java.lang.String aspect)
-
dispose
public void dispose()
Description copied from class:AbstractNamedBean
Deactivate this object, so that it releases as many resources as possible and no longer effects others.For example, if this object has listeners, after a call to this method it should no longer notify those listeners. Any native or system-wide resources it maintains should be released, including threads, files, etc.
It is an error to invoke any other methods on this object once dispose() has been called. Note, however, that there is no guarantee about behavior in that case.
Afterwards, references to this object may still exist elsewhere, preventing its garbage collection. But it's formally dead, and shouldn't be keeping any other objects alive. Therefore, this method should null out any references to other objects that this NamedBean contained.
- Specified by:
dispose
in interfaceNamedBean
- Overrides:
dispose
in classAbstractNamedBean
-
-