Package jmri.jmrix.sprog
Class SprogThrottle
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.jmrix.AbstractThrottle
-
- jmri.jmrix.sprog.SprogThrottle
-
- All Implemented Interfaces:
PropertyChangeFirer,PropertyChangeProvider,DccThrottle,Throttle
public class SprogThrottle extends AbstractThrottle
An implementation of DccThrottle with code specific to an SPROG connection.Based on the
NceThrottleimplementation.Updated by Andrew Crosland February 2012 to enable 28 step speed packets
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DccLocoAddressaddress(package private) SprogCommandStationstation-
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
CONNECTED, DISPATCH_ENABLED, 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, RELEASE_ENABLED, SPEEDINCREMENT, SPEEDSETTING, SPEEDSTEPMODE, SPEEDSTEPS
-
-
Constructor Summary
Constructors Constructor Description SprogThrottle(SprogSystemConnectionMemo memo, DccLocoAddress address)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocoAddressgetLocoAddress()Locomotive address.protected voidsendFunctionGroup1()Send the message to set the state of functions F0, F1, F2, F3, F4.protected voidsendFunctionGroup10()Send the message to set the state of functions F61 - F68.protected voidsendFunctionGroup2()Send the message to set the state of functions F5, F6, F7, F8.protected voidsendFunctionGroup3()Send the message to set the state of functions F9, F10, F11, F12.protected voidsendFunctionGroup4()Send the message to set the state of functions F13 - F20.protected voidsendFunctionGroup5()Send the message to set the state of functions F21 - F28.protected voidsendFunctionGroup6()Send the message to set the state of functions F29 - F36.protected voidsendFunctionGroup7()Send the message to set the state of functions F37 - F44.protected voidsendFunctionGroup8()Send the message to set the state of functions F45 - F52.protected voidsendFunctionGroup9()Send the message to set the state of functions F53 - F60.voidsetIsForward(boolean forward)Implementing functions should override this function, but should either make a call to super.setIsForward() to notify the listeners, or should notify the listeners themselves.voidsetSpeedSetting(float speed)Set the speed and direction.voidsetSpeedStepMode(SpeedStepMode Mode)Set the speed step value and the related speedIncrement value.voidthrottleDispose()Dispose when finished with this Throttle.-
Methods inherited from class jmri.jmrix.AbstractThrottle
addPropertyChangeListener, dispatch, dispose, finishRecord, getFunction, getFunctionMomentary, getFunctionMomentaryNoWarn, getFunctionNoWarn, getFunctions, getFunctionsMomentary, getIsForward, getMemo, getRosterEntry, getSpeedIncrement, getSpeedSetting, getSpeedStepMode, intSpeed, intSpeed, notifyThrottleDisconnect, notifyThrottleDispatchEnabled, notifyThrottleReleaseEnabled, record, release, removePropertyChangeListener, sendFunctionGroup, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup10, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, sendMomentaryFunctionGroup6, sendMomentaryFunctionGroup7, sendMomentaryFunctionGroup8, sendMomentaryFunctionGroup9, 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
-
-
-
-
Field Detail
-
station
SprogCommandStation station
-
address
DccLocoAddress address
-
-
Constructor Detail
-
SprogThrottle
public SprogThrottle(SprogSystemConnectionMemo memo, DccLocoAddress address)
Constructor.- Parameters:
memo- system connection.address- Loco address.
-
-
Method Detail
-
getLocoAddress
public LocoAddress getLocoAddress()
Description copied from interface:ThrottleLocomotive address. The exact format is defined by the specific implementation, as subclasses of LocoAddress will contain different information.This is an unbound property.
- Returns:
- The locomotive address
-
sendFunctionGroup1
protected void sendFunctionGroup1()
Send the message to set the state of functions F0, F1, F2, F3, F4.- Overrides:
sendFunctionGroup1in classAbstractThrottle
-
sendFunctionGroup2
protected void sendFunctionGroup2()
Send the message to set the state of functions F5, F6, F7, F8.- Overrides:
sendFunctionGroup2in classAbstractThrottle
-
sendFunctionGroup3
protected void sendFunctionGroup3()
Send the message to set the state of functions F9, F10, F11, F12.- Overrides:
sendFunctionGroup3in classAbstractThrottle
-
sendFunctionGroup4
protected void sendFunctionGroup4()
Send the message to set the state of functions F13 - F20.- Overrides:
sendFunctionGroup4in classAbstractThrottle
-
sendFunctionGroup5
protected void sendFunctionGroup5()
Send the message to set the state of functions F21 - F28.- Overrides:
sendFunctionGroup5in classAbstractThrottle
-
sendFunctionGroup6
protected void sendFunctionGroup6()
Send the message to set the state of functions F29 - F36.- Overrides:
sendFunctionGroup6in classAbstractThrottle
-
sendFunctionGroup7
protected void sendFunctionGroup7()
Send the message to set the state of functions F37 - F44.- Overrides:
sendFunctionGroup7in classAbstractThrottle
-
sendFunctionGroup8
protected void sendFunctionGroup8()
Send the message to set the state of functions F45 - F52.- Overrides:
sendFunctionGroup8in classAbstractThrottle
-
sendFunctionGroup9
protected void sendFunctionGroup9()
Send the message to set the state of functions F53 - F60.- Overrides:
sendFunctionGroup9in classAbstractThrottle
-
sendFunctionGroup10
protected void sendFunctionGroup10()
Send the message to set the state of functions F61 - F68.- Overrides:
sendFunctionGroup10in classAbstractThrottle
-
setSpeedStepMode
public void setSpeedStepMode(SpeedStepMode Mode)
Set the speed step value and the related speedIncrement value.- Specified by:
setSpeedStepModein interfaceDccThrottle- Overrides:
setSpeedStepModein classAbstractThrottle- Parameters:
Mode- the current speed step mode - default should be 128 speed step mode in most cases
-
setSpeedSetting
public void setSpeedSetting(float speed)
Set the speed and direction.This intentionally skips the emergency stop value of 1 in 128 step mode and the stop and estop values 1-3 in 28 step mode.
- Specified by:
setSpeedSettingin interfaceThrottle- Overrides:
setSpeedSettingin classAbstractThrottle- Parameters:
speed- Number from 0 to 1; less than zero is emergency stop
-
setIsForward
public void setIsForward(boolean forward)
Description copied from class:AbstractThrottleImplementing functions should override this function, but should either make a call to super.setIsForward() to notify the listeners, or should notify the listeners themselves.- Specified by:
setIsForwardin interfaceThrottle- Overrides:
setIsForwardin classAbstractThrottle- Parameters:
forward- true if forward; false otherwise
-
throttleDispose
public void throttleDispose()
Description copied from class:AbstractThrottleDispose when finished with this Throttle. May be used in tests for cleanup. Throttles normally callAbstractThrottle.finishRecord()here.- Specified by:
throttleDisposein classAbstractThrottle
-
-