Package jmri.jmrix.lenz
Class XNetSensor
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.implementation.AbstractSensor
jmri.jmrix.lenz.XNetSensor
- All Implemented Interfaces:
Comparable<NamedBean>
,EventListener
,PropertyChangeProvider
,DigitalIO
,AbstractMRListener
,XNetListener
,NamedBean
,Sensor
public class XNetSensor extends AbstractSensor implements XNetListener
Extend jmri.AbstractSensor for XpressNet layouts.
-
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 protected XNetTrafficController
tc
Fields inherited from class jmri.implementation.AbstractSensor
_inverted, _knownState, _rawState, r, sensorDebounceGoingActive, sensorDebounceGoingInActive, thr, useDefaultTimerSettings
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 XNetSensor(String systemName, String userName, XNetTrafficController controller, String prefix)
XNetSensor(String systemName, XNetTrafficController controller, String prefix)
-
Method Summary
Modifier and Type Method Description (package private) int
getBaseAddress()
Package protected routine to get the Sensor Base Address.(package private) int
getNibble()
Package protected routine to get the Sensor Nibble.(package private) int
getNumber()
Package protected routine to get the Sensor Number.(package private) void
initmessage(XNetReply l)
initmessage is a package protected class which allows the Manger to send a feedback message at initialization without changing the state of the sensor with respect to whether or not a feedback request was sent.void
message(XNetMessage l)
Listen for the messages to the LI100/LI101.void
message(XNetReply l)
Implementing classes will typically have a function/listener to get updates from the layout, which will then call public void firePropertyChange(String propertyName, Object oldValue, Object newValue) _once_ if anything has changed state (or set the commanded state directly)void
notifyTimeout(XNetMessage msg)
Handle a timeout notification.void
requestUpdateFromLayout()
Request an update on status by sending an XpressNet message.Methods inherited from class jmri.implementation.AbstractSensor
canInvert, describeState, getBeanType, getInverted, getKnownState, getPullResistance, getRawState, getReporter, getSensorDebounceGoingActiveTimer, getSensorDebounceGoingInActiveTimer, getState, getUseDefaultTimerSettings, sensorDebounce, setInverted, setKnownState, setOwnState, setPullResistance, setReporter, setSensorDebounceGoingActiveTimer, setSensorDebounceGoingInActiveTimer, setState, setUseDefaultTimerSettings, stateChangeCheck
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, dispose, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChange
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, getComment, getDisplayName, getDisplayName, getFullyFormattedDisplayName, getFullyFormattedDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef, vetoableChange
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
Methods inherited from interface jmri.Sensor
dispose, getCommandedState, isConsistentState, setCommandedState
-
Field Details
-
Constructor Details
-
XNetSensor
public XNetSensor(String systemName, String userName, XNetTrafficController controller, String prefix) -
XNetSensor
-
-
Method Details
-
requestUpdateFromLayout
Request an update on status by sending an XpressNet message.- Specified by:
requestUpdateFromLayout
in interfaceDigitalIO
-
initmessage
initmessage is a package protected class which allows the Manger to send a feedback message at initialization without changing the state of the sensor with respect to whether or not a feedback request was sent. This is used only when the sensor is created by on layout feedback.- Parameters:
l
- Reply message
-
message
Implementing classes will typically have a function/listener to get updates from the layout, which will then call public void firePropertyChange(String propertyName, Object oldValue, Object newValue) _once_ if anything has changed state (or set the commanded state directly)- Specified by:
message
in interfaceXNetListener
- Parameters:
l
- Reply message
-
message
Listen for the messages to the LI100/LI101.- Specified by:
message
in interfaceXNetListener
- Parameters:
l
- message to process
-
notifyTimeout
Handle a timeout notification.- Specified by:
notifyTimeout
in interfaceXNetListener
- Parameters:
msg
- The message that timed out
-
getNumber
int getNumber()Package protected routine to get the Sensor Number.- Returns:
- current Sensor address number
-
getBaseAddress
int getBaseAddress()Package protected routine to get the Sensor Base Address.- Returns:
- the Sensor base address
-
getNibble
int getNibble()Package protected routine to get the Sensor Nibble.- Returns:
- contents of sensor nibble
-