Package jmri.jmrix.sprog
Class SprogCSThrottle
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.jmrix.AbstractThrottle
-
- jmri.jmrix.sprog.SprogCSThrottle
-
- All Implemented Interfaces:
PropertyChangeFirer
,PropertyChangeProvider
,DccThrottle
,Throttle
public class SprogCSThrottle extends AbstractThrottle
An implementation of DccThrottle with code specific to a SPROG Command Station connection.Updated by Andrew Crosland February 2012 to enable 28 step speed packets
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DccLocoAddress
address
-
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 SprogCSThrottle(SprogSystemConnectionMemo memo, LocoAddress address)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocoAddress
getLocoAddress()
Locomotive address.protected void
sendFunctionGroup1()
Send the message to set the state of functions F0, F1, F2, F3, F4 by adding it to the S queueprotected void
sendFunctionGroup10()
Send the message to set the state of functions F61 - F68 adding it to the S queueprotected void
sendFunctionGroup2()
Send the message to set the state of functions F5, F6, F7, F8 by# adding it to the S queueprotected void
sendFunctionGroup3()
Send the message to set the state of functions F9, F10, F11, F12 by adding it to the S queueprotected void
sendFunctionGroup4()
Send the message to set the state of functions F13 - F20 adding it to the S queueprotected void
sendFunctionGroup5()
Send the message to set the state of functions F21 - F28 adding it to the S queueprotected void
sendFunctionGroup6()
Send the message to set the state of functions F29 - F36 adding it to the S queueprotected void
sendFunctionGroup7()
Send the message to set the state of functions F37 - F44 adding it to the S queueprotected void
sendFunctionGroup8()
Send the message to set the state of functions F45 - F52 adding it to the S queueprotected void
sendFunctionGroup9()
Send the message to set the state of functions F53 - F60 adding it to the S queuevoid
setIsForward(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.void
setSpeedSetting(float speed)
Set the speed and direction.void
throttleDispose()
Dispose when finished with this Throttle.-
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, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup10, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, sendMomentaryFunctionGroup6, sendMomentaryFunctionGroup7, sendMomentaryFunctionGroup8, sendMomentaryFunctionGroup9, setFunction, setFunctionMomentary, setRosterEntry, setSpeedSetting, setSpeedSettingAgain, setSpeedStepMode, 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
-
address
DccLocoAddress address
-
-
Constructor Detail
-
SprogCSThrottle
public SprogCSThrottle(SprogSystemConnectionMemo memo, LocoAddress address)
Constructor.- Parameters:
memo
- system connection.address
- Loco Address.
-
-
Method Detail
-
getLocoAddress
public LocoAddress getLocoAddress()
Description copied from interface:Throttle
Locomotive 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 by adding it to the S queue- Overrides:
sendFunctionGroup1
in classAbstractThrottle
-
sendFunctionGroup2
protected void sendFunctionGroup2()
Send the message to set the state of functions F5, F6, F7, F8 by# adding it to the S queue- Overrides:
sendFunctionGroup2
in classAbstractThrottle
-
sendFunctionGroup3
protected void sendFunctionGroup3()
Send the message to set the state of functions F9, F10, F11, F12 by adding it to the S queue- Overrides:
sendFunctionGroup3
in classAbstractThrottle
-
sendFunctionGroup4
protected void sendFunctionGroup4()
Send the message to set the state of functions F13 - F20 adding it to the S queue- Overrides:
sendFunctionGroup4
in classAbstractThrottle
-
sendFunctionGroup5
protected void sendFunctionGroup5()
Send the message to set the state of functions F21 - F28 adding it to the S queue- Overrides:
sendFunctionGroup5
in classAbstractThrottle
-
sendFunctionGroup6
protected void sendFunctionGroup6()
Send the message to set the state of functions F29 - F36 adding it to the S queue- Overrides:
sendFunctionGroup6
in classAbstractThrottle
-
sendFunctionGroup7
protected void sendFunctionGroup7()
Send the message to set the state of functions F37 - F44 adding it to the S queue- Overrides:
sendFunctionGroup7
in classAbstractThrottle
-
sendFunctionGroup8
protected void sendFunctionGroup8()
Send the message to set the state of functions F45 - F52 adding it to the S queue- Overrides:
sendFunctionGroup8
in classAbstractThrottle
-
sendFunctionGroup9
protected void sendFunctionGroup9()
Send the message to set the state of functions F53 - F60 adding it to the S queue- Overrides:
sendFunctionGroup9
in classAbstractThrottle
-
sendFunctionGroup10
protected void sendFunctionGroup10()
Send the message to set the state of functions F61 - F68 adding it to the S queue- Overrides:
sendFunctionGroup10
in classAbstractThrottle
-
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:
setSpeedSetting
in interfaceThrottle
- Overrides:
setSpeedSetting
in classAbstractThrottle
- Parameters:
speed
- Number from 0 to 1; less than zero is emergency stop
-
setIsForward
public void setIsForward(boolean forward)
Description copied from class:AbstractThrottle
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.- Specified by:
setIsForward
in interfaceThrottle
- Overrides:
setIsForward
in classAbstractThrottle
- Parameters:
forward
- true if forward; false otherwise
-
throttleDispose
public void throttleDispose()
Description copied from class:AbstractThrottle
Dispose when finished with this Throttle. May be used in tests for cleanup. Throttles normally callAbstractThrottle.finishRecord()
here.- Specified by:
throttleDispose
in classAbstractThrottle
-
-