Package jmri.jmrix.ecos
Class EcosDccThrottle
java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.jmrix.AbstractThrottle
jmri.jmrix.ecos.EcosDccThrottle
- All Implemented Interfaces:
EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,DccThrottle
,AbstractMRListener
,EcosListener
,Throttle
public class EcosDccThrottle extends AbstractThrottle implements EcosListener
An implementation of DccThrottle with code specific to an ECoS connection.
Based on Glen Oberhauser's original LnThrottleManager implementation
-
Field Summary
Fields Modifier and Type Field Description (package private) int
ecosretry
(package private) long
lastSpeedMessageTime
(package private) String
objectNumber
(package private) EcosPreferences
p
(package private) int
speedMessageSent
(package private) EcosTrafficController
tc
Fields inherited from class jmri.jmrix.AbstractThrottle
active, adapterMemo, isForward, speedSetting, speedStepMode, start
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, FUNCTION_GROUPS, ISFORWARD, SPEEDINCREMENT, SPEEDSETTING, SPEEDSTEPMODE, SPEEDSTEPS
-
Constructor Summary
Constructors Constructor Description EcosDccThrottle(DccLocoAddress address, EcosSystemConnectionMemo memo, boolean control)
Create a new EcosDccThrottle. -
Method Summary
Modifier and Type Method Description protected float
floatSpeed(int lSpeed)
Convert an Ecos speed integer to a float speed value.void
forceControl()
(package private) void
getInitialStates()
LocoAddress
getLocoAddress()
Locomotive address.void
message(EcosMessage m)
Messages ignored.void
reply(EcosReply m)
void
setFunction(int functionNum, boolean newState)
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 and direction.void
throttleDispose()
Dispose when finished with this Throttle.Methods inherited from class jmri.jmrix.AbstractThrottle
addPropertyChangeListener, dispatch, dispose, finishRecord, getFunction, getFunctionMomentary, getFunctions, getFunctionsMomentary, getIsForward, getListeners, getRosterEntry, getSpeedIncrement, getSpeedSetting, getSpeedStepMode, intSpeed, intSpeed, notifyPropertyChangeListener, notifyThrottleDisconnect, notifyThrottleDispatchEnabled, notifyThrottleReleaseEnabled, record, release, removePropertyChangeListener, sendFunctionGroup, sendFunctionGroup1, sendFunctionGroup2, sendFunctionGroup3, sendFunctionGroup4, sendFunctionGroup5, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, 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 Details
-
Constructor Details
-
EcosDccThrottle
Create a new EcosDccThrottle.- Parameters:
address
- Throttle Addressmemo
- System Connectioncontrol
- sets _control flag which NEEDS CLARIFICATION.
-
-
Method Details
-
floatSpeed
Convert an Ecos speed integer to a float speed value.- Parameters:
lSpeed
- speed value as an integer- Returns:
- speed value as a float
-
setFunction
Set Loco Function and send to Layout.- Specified by:
setFunction
in interfaceThrottle
- Overrides:
setFunction
in classAbstractThrottle
- Parameters:
functionNum
- Function Number, 0-28newState
- New Function State. True on, false off.
-
setSpeedSetting
Set the speed and direction.This intentionally skips the emergency stop value of 1.
- Specified by:
setSpeedSetting
in interfaceThrottle
- Overrides:
setSpeedSetting
in classAbstractThrottle
- Parameters:
speed
- Number from 0 to 1; less than zero is emergency stop
-
setIsForward
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
-
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.
- Specified by:
getLocoAddress
in interfaceThrottle
- Returns:
- The locomotive address
-
throttleDispose
Dispose when finished with this Throttle. May be used in tests for cleanup. Throttles normally callAbstractThrottle.finishRecord()
here.- Specified by:
throttleDispose
in classAbstractThrottle
-
reply
- Specified by:
reply
in interfaceEcosListener
-
message
Messages ignored.- Specified by:
message
in interfaceEcosListener
-
forceControl
-
getInitialStates
void getInitialStates()
-