Package jmri.jmrix.marklin
Class MarklinThrottle
java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.jmrix.AbstractThrottle
jmri.jmrix.marklin.MarklinThrottle
- All Implemented Interfaces:
EventListener,PropertyChangeFirer,PropertyChangeProvider,DccThrottle,AbstractMRListener,MarklinListener,Throttle
An implementation of DccThrottle with code specific to an TAMS connection.
Based on Glen Oberhauser's original LnThrottle implementation
-
Field Summary
FieldsFields inherited from class jmri.jmrix.AbstractThrottle
active, adapterMemo, FUNCTION_GROUPS, isForward, speedSetting, speedStepMode, startFields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupportFields 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
ConstructorsConstructorDescriptionMarklinThrottle(MarklinSystemConnectionMemo memo, LocoAddress address) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected floatfloatSpeed(int lSpeed) Convert a Marklin speed integer to a float speed value(package private) intLocomotive address.voidvoidprotected voidSend the message to set the state of functions F0, F1, F2, F3, F4.protected voidSend the message to set the state of functions F5, F6, F7, F8.protected voidSend the message to set the state of functions F9, F10, F11, F12.protected voidSend the message to set the state of functions F13, F14, F15, F16, F17, F18, F19, F20.protected voidSend the message to set the state of functions F21, F22, F23, F24, F25, F26, F27, F28.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.voidSet the speed step value.voidDispose 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, sendFunctionGroup10, sendFunctionGroup6, sendFunctionGroup7, sendFunctionGroup8, sendFunctionGroup9, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup10, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, sendMomentaryFunctionGroup6, sendMomentaryFunctionGroup7, sendMomentaryFunctionGroup8, sendMomentaryFunctionGroup9, setFunction, setFunctionMomentary, setRosterEntry, setSpeedSetting, setSpeedSettingAgain, startClock, updateFunction, updateFunctionMomentaryMethods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListenerMethods 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 Details
-
tc
-
-
Constructor Details
-
MarklinThrottle
Constructor.- Parameters:
memo- system connection.address- loco address.
-
-
Method Details
-
sendFunctionGroup1
Send the message to set the state of functions F0, F1, F2, F3, F4. To send function group 1 we have to also send speed, direction etc.- Overrides:
sendFunctionGroup1in classAbstractThrottle
-
sendFunctionGroup2
Send the message to set the state of functions F5, F6, F7, F8.- Overrides:
sendFunctionGroup2in classAbstractThrottle
-
sendFunctionGroup3
Description copied from class:AbstractThrottleSend the message to set the state of functions F9, F10, F11, F12.This is used in the setFn implementations provided in this class, but a real implementation needs to be provided.
- Overrides:
sendFunctionGroup3in classAbstractThrottle
-
sendFunctionGroup4
Description copied from class:AbstractThrottleSend the message to set the state of functions F13, F14, F15, F16, F17, F18, F19, F20.This is used in the setFn implementations provided in this class, but a real implementation needs to be provided.
- Overrides:
sendFunctionGroup4in classAbstractThrottle
-
sendFunctionGroup5
Description copied from class:AbstractThrottleSend the message to set the state of functions F21, F22, F23, F24, F25, F26, F27, F28.This is used in the setFn implementations provided in this class, but a real implementation needs to be provided.
- Overrides:
sendFunctionGroup5in classAbstractThrottle
-
setSpeedSetting
Set the speed and direction.This intentionally skips the emergency stop value of 1.
- Specified by:
setSpeedSettingin interfaceThrottle- Overrides:
setSpeedSettingin classAbstractThrottle- Parameters:
speed- Number from 0 to 1; less than zero is emergency stop
-
floatSpeed
Convert a Marklin speed integer to a float speed value- Parameters:
lSpeed- Marklin-format speed value- Returns:
- 0.0 - 1.0 speed value
-
setIsForward
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
-
setSpeedStepMode
Description copied from class:AbstractThrottleSet the speed step value. Default should be 128 speed step mode in most cases.Specific implementations should override this function.
- Specified by:
setSpeedStepModein interfaceDccThrottle- Overrides:
setSpeedStepModein classAbstractThrottle- Parameters:
Mode- the current speed step mode
-
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.
- Specified by:
getLocoAddressin interfaceThrottle- Returns:
- The locomotive address
-
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
-
message
- Specified by:
messagein interfaceMarklinListener
-
reply
- Specified by:
replyin interfaceMarklinListener
-
getCANAddress
int getCANAddress()
-