Package jmri.jmrix.roco
Class RocoXNetThrottle
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.jmrix.AbstractThrottle
-
- jmri.jmrix.lenz.XNetThrottle
-
- jmri.jmrix.roco.RocoXNetThrottle
-
- All Implemented Interfaces:
java.util.EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,DccThrottle
,AbstractMRListener
,XNetListener
,Throttle
- Direct Known Subclasses:
Z21XNetThrottle
public class RocoXNetThrottle extends XNetThrottle
An implementation of DccThrottle with code specific to a Roco XpressNet connection.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrix.lenz.XNetThrottle
XNetThrottle.RequestMessage
-
-
Field Summary
-
Fields inherited from class jmri.jmrix.lenz.XNetThrottle
address, isAvailable, requestList, requestState, statTimeoutValue, statusTask, tc, THROTTLEFUNCSENT, THROTTLEHIGHMOMSTATSENT, THROTTLEHIGHSTATSENT, THROTTLEIDLE, THROTTLEMOMSTATSENT, THROTTLESPEEDSENT, THROTTLESTATSENT
-
Fields inherited from class jmri.jmrix.AbstractThrottle
active, adapterMemo, FUNCTION_GROUPS, isForward, speedSetting, speedStepMode, start
-
Fields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport
-
Fields inherited from interface jmri.Throttle
F0, F0Momentary, F1, F10, F10Momentary, F11, F11Momentary, F12, F12Momentary, F13, F13Momentary, F14, F14Momentary, F15, F15Momentary, F16, F16Momentary, F17, F17Momentary, F18, F18Momentary, F19, F19Momentary, F1Momentary, F2, F20, F20Momentary, F21, F21Momentary, F22, F22Momentary, F23, F23Momentary, F24, F24Momentary, F25, F25Momentary, F26, F26Momentary, F27, F27Momentary, F28, F28Momentary, F2Momentary, F3, F3Momentary, F4, F4Momentary, F5, F5Momentary, F6, F6Momentary, F7, F7Momentary, F8, F8Momentary, F9, F9Momentary, ISFORWARD, SPEEDINCREMENT, SPEEDSETTING, SPEEDSTEPMODE, SPEEDSTEPS
-
-
Constructor Summary
Constructors Constructor Description RocoXNetThrottle(XNetSystemConnectionMemo memo, XNetTrafficController controller)
Constructor.RocoXNetThrottle(XNetSystemConnectionMemo memo, LocoAddress address, XNetTrafficController controller)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
sendEmergencyStop()
Since XpressNet has a seperate Opcode for emergency stop, we're setting this up as a seperate protected function.protected void
sendFunctionHighMomentaryStatusRequest()
Send a request to get the status of functions from the command station.protected void
sendFunctionStatusInformationRequest()
Send a request to get the status of functions from the command station.protected void
sendMomentaryFunctionGroup1()
Send the XpressNet message to set the Momentary state of locomotive functions F0, F1, F2, F3, F4.protected void
sendMomentaryFunctionGroup2()
Send the XpressNet message to set the momentary state of functions F5, F6, F7, F8.protected void
sendMomentaryFunctionGroup3()
Send the XpressNet message to set the momentary state of functions F9, F10, F11, F12.protected void
sendMomentaryFunctionGroup4()
Send the XpressNet message to set the momentary state of functions F13, F14, F15, F16, F17, F18, F19, F20.protected void
sendMomentaryFunctionGroup5()
Send the XpressNet message to set the momentary state of functions F21, F22, F23, F24, F25, F26, F27, F28.void
throttleDispose()
Dispose when finished with this object.-
Methods inherited from class jmri.jmrix.lenz.XNetThrottle
checkForFunctionMomentaryValueChange, csVersionSupportFn13to28, csVersionSupportFn29to68, getDccAddress, getDccAddressHigh, getDccAddressLow, getLocoAddress, message, message, notifyNewDirection, notifyNewSpeedStepMode, notifyTimeout, parseFunctionHighInformation, parseFunctionHighMomentaryInformation, parseFunctionInformation, parseFunctionMomentaryInformation, parseSpeedAndAvailability, parseSpeedAndDirection, queueMessage, sendFunctionGroup1, sendFunctionGroup10, sendFunctionGroup2, sendFunctionGroup3, sendFunctionGroup4, sendFunctionGroup5, sendFunctionGroup6, sendFunctionGroup7, sendFunctionGroup8, sendFunctionGroup9, sendFunctionHighInformationRequest, sendMomentaryFunctionGroup10, sendMomentaryFunctionGroup6, sendMomentaryFunctionGroup7, sendMomentaryFunctionGroup8, sendMomentaryFunctionGroup9, sendQueuedMessage, sendStatusInformationRequest, setDccAddress, setIsAvailable, setIsForward, setSpeedSetting, setSpeedStepMode, setXNetTrafficController, startStatusTimer, stopStatusTimer
-
Methods inherited from class jmri.jmrix.AbstractThrottle
addPropertyChangeListener, dispatch, dispose, finishRecord, getFunction, getFunctionMomentary, getFunctionMomentaryNoWarn, getFunctionNoWarn, getFunctions, getFunctionsMomentary, getIsForward, getRosterEntry, getSpeedIncrement, getSpeedSetting, getSpeedStepMode, intSpeed, intSpeed, notifyThrottleDisconnect, notifyThrottleDispatchEnabled, notifyThrottleReleaseEnabled, record, release, removePropertyChangeListener, sendFunctionGroup, setFunction, setFunctionMomentary, setRosterEntry, setSpeedSetting, setSpeedSettingAgain, startClock, updateFunction, updateFunctionMomentary
-
Methods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener
-
Methods inherited from interface jmri.Throttle
getF0, getF0Momentary, getF1, getF10, getF10Momentary, getF11, getF11Momentary, getF12, getF12Momentary, getF13, getF13Momentary, getF14, getF14Momentary, getF15, getF15Momentary, getF16, getF16Momentary, getF17, getF17Momentary, getF18, getF18Momentary, getF19, getF19Momentary, getF1Momentary, getF2, getF20, getF20Momentary, getF21, getF21Momentary, getF22, getF22Momentary, getF23, getF23Momentary, getF24, getF24Momentary, getF25, getF25Momentary, getF26, getF26Momentary, getF27, getF27Momentary, getF28, getF28Momentary, getF2Momentary, getF3, getF3Momentary, getF4, getF4Momentary, getF5, getF5Momentary, getF6, getF6Momentary, getF7, getF7Momentary, getF8, getF8Momentary, getF9, getF9Momentary, setF0, setF0Momentary, setF1, setF10, setF10Momentary, setF11, setF11Momentary, setF12, setF12Momentary, setF13, setF13Momentary, setF14, setF14Momentary, setF15, setF15Momentary, setF16, setF16Momentary, setF17, setF17Momentary, setF18, setF18Momentary, setF19, setF19Momentary, setF1Momentary, setF2, setF20, setF20Momentary, setF21, setF21Momentary, setF22, setF22Momentary, setF23, setF23Momentary, setF24, setF24Momentary, setF25, setF25Momentary, setF26, setF26Momentary, setF27, setF27Momentary, setF28, setF28Momentary, setF2Momentary, setF3, setF3Momentary, setF4, setF4Momentary, setF5, setF5Momentary, setF6, setF6Momentary, setF7, setF7Momentary, setF8, setF8Momentary, setF9, setF9Momentary
-
-
-
-
Constructor Detail
-
RocoXNetThrottle
public RocoXNetThrottle(XNetSystemConnectionMemo memo, XNetTrafficController controller)
Constructor.- Parameters:
memo
- system connection.controller
- traffic controller.
-
RocoXNetThrottle
public RocoXNetThrottle(XNetSystemConnectionMemo memo, LocoAddress address, XNetTrafficController controller)
Constructor.- Parameters:
memo
- system connection.address
- loco address.controller
- traffic controller.
-
-
Method Detail
-
sendMomentaryFunctionGroup1
protected void sendMomentaryFunctionGroup1()
Description copied from class:XNetThrottle
Send the XpressNet message to set the Momentary state of locomotive functions F0, F1, F2, F3, F4.- Overrides:
sendMomentaryFunctionGroup1
in classXNetThrottle
-
sendMomentaryFunctionGroup2
protected void sendMomentaryFunctionGroup2()
Description copied from class:XNetThrottle
Send the XpressNet message to set the momentary state of functions F5, F6, F7, F8.- Overrides:
sendMomentaryFunctionGroup2
in classXNetThrottle
-
sendMomentaryFunctionGroup3
protected void sendMomentaryFunctionGroup3()
Description copied from class:XNetThrottle
Send the XpressNet message to set the momentary state of functions F9, F10, F11, F12.- Overrides:
sendMomentaryFunctionGroup3
in classXNetThrottle
-
sendMomentaryFunctionGroup4
protected void sendMomentaryFunctionGroup4()
Description copied from class:XNetThrottle
Send the XpressNet message to set the momentary state of functions F13, F14, F15, F16, F17, F18, F19, F20.- Overrides:
sendMomentaryFunctionGroup4
in classXNetThrottle
-
sendMomentaryFunctionGroup5
protected void sendMomentaryFunctionGroup5()
Description copied from class:XNetThrottle
Send the XpressNet message to set the momentary state of functions F21, F22, F23, F24, F25, F26, F27, F28.- Overrides:
sendMomentaryFunctionGroup5
in classXNetThrottle
-
sendFunctionStatusInformationRequest
protected void sendFunctionStatusInformationRequest()
Description copied from class:XNetThrottle
Send a request to get the status of functions from the command station.- Overrides:
sendFunctionStatusInformationRequest
in classXNetThrottle
-
sendFunctionHighMomentaryStatusRequest
protected void sendFunctionHighMomentaryStatusRequest()
Description copied from class:XNetThrottle
Send a request to get the status of functions from the command station.- Overrides:
sendFunctionHighMomentaryStatusRequest
in classXNetThrottle
-
sendEmergencyStop
protected void sendEmergencyStop()
Description copied from class:XNetThrottle
Since XpressNet has a seperate Opcode for emergency stop, we're setting this up as a seperate protected function.- Overrides:
sendEmergencyStop
in classXNetThrottle
-
throttleDispose
public void throttleDispose()
Dispose when finished with this object. After this, further usage of this Throttle object will result in a JmriException.This is quite problematic, because a using object doesn't know when it's the last user.
- Overrides:
throttleDispose
in classXNetThrottle
-
-