Class LNCPSignalMast
- All Implemented Interfaces:
VetoableChangeListener,Comparable<NamedBean>,EventListener,PropertyChangeProvider,LocoNetListener,NamedBean,Signal,SignalMast
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
FieldsModifier and TypeFieldDescription(package private) byte(package private) byte(package private) LnTrafficControllerFields inherited from class jmri.implementation.DccSignalMast
appearanceToOutput, c, dccSignalDecoderAddress, packetSendCountFields inherited from class jmri.implementation.AbstractSignalMast
aspect, disabledAspects, map, speedFields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, registerFields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_COMMENT, PROPERTY_ENABLED, PROPERTY_KNOWN_STATE, PROPERTY_STATE, PROPERTY_USERNAME, QUOTED_NAME_FORMAT, UNKNOWNFields inherited from interface jmri.Signal
PROPERTY_HELD, PROPERTY_LITFields inherited from interface jmri.SignalMast
PROPERTY_ASPECT, PROPERTY_ASPECT_DISABLED, PROPERTY_ASPECT_ENABLED, PROPERTY_PERMISSIVE_SML_DISABLED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Deactivate this object, so that it releases as many resources as possible and no longer effects others.(package private) voidinit()voidMember function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.voidSet aspect to a valid name in the current signal system definition.voidsetKnownState(String aspect) Methods inherited from class jmri.implementation.DccSignalMast
configureFromName, getCommandStation, getDccSignalMastAddress, getDccSignalMastPacketSendCount, getOutputForAppearance, getUnlitId, isDCCAddressUsed, setDccSignalMastPacketSendCount, setLit, setOutputForAppearance, setUnlitId, useAddressOffSet, useAddressOffSetMethods 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, vetoableChangeMethods 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, updateListenerRefMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getRecommendedToolTip, getSystemName, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRefMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
tc
-
dccByteAddr1
byte dccByteAddr1 -
dccByteAddr2
byte dccByteAddr2
-
-
Constructor Details
-
LNCPSignalMast
-
LNCPSignalMast
-
-
Method Details
-
init
void init() -
message
Description copied from interface:LocoNetListenerMember function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.- Specified by:
messagein 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
Description copied from interface:SignalMastSet aspect to a valid name in the current signal system definition.- Specified by:
setAspectin interfaceSignalMast- Overrides:
setAspectin classDccSignalMast- Parameters:
aspect- the new aspect shown
-
setKnownState
-
dispose
Description copied from class:AbstractNamedBeanDeactivate 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:
disposein interfaceNamedBean- Overrides:
disposein classAbstractNamedBean
-