jmri.jmrix.ecos
Class EcosDccThrottle

Show UML class diagram
java.lang.Object
  extended by jmri.jmrix.AbstractThrottle
      extended by jmri.jmrix.ecos.EcosDccThrottle
All Implemented Interfaces:
EventListener, 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
(package private)  int ecosretry
           
(package private)  long lastSpeedMessageTime
           
(package private) static org.slf4j.Logger log
           
(package private)  String objectNumber
          Constructor.
(package private)  EcosPreferences p
           
(package private)  int speedMessageSent
           
(package private)  EcosTrafficController tc
           
 
Fields inherited from class jmri.jmrix.AbstractThrottle
active, adapterMemo, 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, SPEED_STEP_128_INCREMENT, SPEED_STEP_14_INCREMENT, SPEED_STEP_27_INCREMENT, SPEED_STEP_28_INCREMENT, speedIncrement, speedSetting, speedStepMode
 
Fields inherited from interface jmri.DccThrottle
SpeedStepMode128, SpeedStepMode14, SpeedStepMode27, SpeedStepMode28, SpeedStepMode28Mot
 
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
 
Constructor Summary
EcosDccThrottle(DccLocoAddress address, EcosSystemConnectionMemo memo, boolean control)
           
 
Method Summary
protected  float floatSpeed(int lSpeed)
          Convert a Ecos speed integer to a float speed value
 void forceControl()
           
(package private)  void getInitialStates()
           
 LocoAddress getLocoAddress()
          Locomotive address.
 void message(EcosMessage m)
           
 void reply(EcosReply m)
           
protected  void sendFunctionGroup1()
          Send the message to set the state of functions F0, F1, F2, F3, F4.
protected  void sendFunctionGroup2()
          Send the message to set the state of functions F5, F6, F7, F8.
protected  void sendFunctionGroup3()
          Send the message to set the state of functions F9, F10, F11, F12.
protected  void sendFunctionGroup4()
          Send 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.
protected  void sendFunctionGroup5()
          Send 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.
 void setIsForward(boolean forward)
           
 void setSpeedSetting(float speed)
          Set the speed & direction.
protected  void throttleDispose()
           
 
Methods inherited from class jmri.jmrix.AbstractThrottle
addPropertyChangeListener, dispatch, dispatch, dispose, dispose, finishRecord, 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, getIsForward, getListeners, getRosterEntry, getSpeedIncrement, getSpeedSetting, getSpeedStepMode, notifyPropertyChangeListener, record, release, release, removePropertyChangeListener, sendMomentaryFunctionGroup1, sendMomentaryFunctionGroup2, sendMomentaryFunctionGroup3, sendMomentaryFunctionGroup4, sendMomentaryFunctionGroup5, 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, setRosterEntry, setSpeedStepMode, startClock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

objectNumber

String objectNumber
Constructor.


ecosretry

int ecosretry

p

final EcosPreferences p

lastSpeedMessageTime

long lastSpeedMessageTime

tc

EcosTrafficController tc

speedMessageSent

int speedMessageSent

log

static org.slf4j.Logger log
Constructor Detail

EcosDccThrottle

public EcosDccThrottle(DccLocoAddress address,
                       EcosSystemConnectionMemo memo,
                       boolean control)
Method Detail

floatSpeed

protected float floatSpeed(int lSpeed)
Convert a Ecos speed integer to a float speed value


sendFunctionGroup1

protected void sendFunctionGroup1()
Send the message to set the state of functions F0, F1, F2, F3, F4.

Overrides:
sendFunctionGroup1 in class AbstractThrottle

sendFunctionGroup2

protected void sendFunctionGroup2()
Send the message to set the state of functions F5, F6, F7, F8.

Overrides:
sendFunctionGroup2 in class AbstractThrottle

sendFunctionGroup3

protected void sendFunctionGroup3()
Send the message to set the state of functions F9, F10, F11, F12.

Overrides:
sendFunctionGroup3 in class AbstractThrottle

sendFunctionGroup4

protected void sendFunctionGroup4()
Description copied from class: AbstractThrottle
Send 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:
sendFunctionGroup4 in class AbstractThrottle

sendFunctionGroup5

protected void sendFunctionGroup5()
Description copied from class: AbstractThrottle
Send 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:
sendFunctionGroup5 in class AbstractThrottle

setSpeedSetting

public void setSpeedSetting(float speed)
Set the speed & direction.

This intentionally skips the emergency stop value of 1.

Specified by:
setSpeedSetting in interface Throttle
Overrides:
setSpeedSetting in class AbstractThrottle
Parameters:
speed - Number from 0 to 1; less than zero is emergency stop

setIsForward

public void setIsForward(boolean forward)
Specified by:
setIsForward in interface Throttle
Overrides:
setIsForward in class AbstractThrottle

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.

Specified by:
getLocoAddress in interface Throttle

throttleDispose

protected void throttleDispose()
Specified by:
throttleDispose in class AbstractThrottle

reply

public void reply(EcosReply m)
Specified by:
reply in interface EcosListener

message

public void message(EcosMessage m)
Specified by:
message in interface EcosListener

forceControl

public void forceControl()

getInitialStates

void getInitialStates()


Copyright © 1997-2014 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads