Package jmri.jmrix.tmcc
Class SerialThrottle
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.jmrix.AbstractThrottle
-
- jmri.jmrix.tmcc.SerialThrottle
-
- All Implemented Interfaces:
PropertyChangeFirer
,PropertyChangeProvider
,DccThrottle
,Throttle
public class SerialThrottle extends AbstractThrottle
An implementation of DccThrottle.Addresses of 99 and below are considered short addresses, and over 100 are considered long addresses.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
REPEAT_TIME
-
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 SerialThrottle(TmccSystemConnectionMemo memo, DccLocoAddress address)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocoAddress
getLocoAddress()
Locomotive address.protected void
repeatFunctionSendWhileOn(int value, int func)
protected void
sendFnToLayout(int value, int func)
Send these messages to the layout four times to make sure they're accepted.void
setFunction(int func, boolean value)
Set Loco Function and send to Layout.void
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.void
setSpeedStepMode(SpeedStepMode mode)
Set the speed step value.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, sendFunctionGroup1, sendFunctionGroup10, sendFunctionGroup2, sendFunctionGroup3, sendFunctionGroup4, sendFunctionGroup5, sendFunctionGroup6, sendFunctionGroup7, sendFunctionGroup8, sendFunctionGroup9, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup10, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, sendMomentaryFunctionGroup6, sendMomentaryFunctionGroup7, sendMomentaryFunctionGroup8, sendMomentaryFunctionGroup9, 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
-
REPEAT_TIME
static final int REPEAT_TIME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SerialThrottle
public SerialThrottle(TmccSystemConnectionMemo memo, DccLocoAddress address)
Constructor.- Parameters:
memo
- the connected SerialTrafficControlleraddress
- Loco ID
-
-
Method Detail
-
getLocoAddress
public LocoAddress getLocoAddress()
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
-
setFunction
public void setFunction(int func, boolean value)
Set Loco Function and send to Layout.- Specified by:
setFunction
in interfaceThrottle
- Overrides:
setFunction
in classAbstractThrottle
- Parameters:
func
- Function Number, 0-28value
- New Function State. True on, false off.
-
setSpeedSetting
public void setSpeedSetting(float speed)
Set the speed.- 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)
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
-
sendFnToLayout
protected void sendFnToLayout(int value, int func)
Send these messages to the layout four times to make sure they're accepted.- Parameters:
value
- Content of message to be sent in three bytesfunc
- The number of the function being addressed
-
repeatFunctionSendWhileOn
protected void repeatFunctionSendWhileOn(int value, int func)
-
setSpeedStepMode
public void setSpeedStepMode(SpeedStepMode mode)
Description copied from class:AbstractThrottle
Set the speed step value. Default should be 128 speed step mode in most cases.Specific implementations should override this function.
- Specified by:
setSpeedStepMode
in interfaceDccThrottle
- Overrides:
setSpeedStepMode
in classAbstractThrottle
- Parameters:
mode
- the current speed step mode
-
throttleDispose
public void throttleDispose()
Dispose when finished with this Throttle. May be used in tests for cleanup. Throttles normally callAbstractThrottle.finishRecord()
here.- Specified by:
throttleDispose
in classAbstractThrottle
-
-