jmri.jmrix.nce
Class NceTurnout

java.lang.Object
  extended by jmri.implementation.AbstractNamedBean
      extended by jmri.implementation.AbstractTurnout
          extended by jmri.jmrix.nce.NceTurnout
All Implemented Interfaces:
PropertyChangeListener, Serializable, EventListener, NamedBean, Turnout

public class NceTurnout
extends AbstractTurnout

Implement a Turnout via NCE communications.

This object doesn't listen to the NCE communications. This is because it should be the only object that is sending messages for this turnout; more than one Turnout object pointing to a single device is not allowed.

Author:
Bob Jacobsen Copyright (C) 2001, Daniel Boudreau (C) 2007
See Also:
Serialized Form

Field Summary
 
Fields inherited from class jmri.implementation.AbstractTurnout
_activeFeedbackType, _cabLockout, _decoderName, _enableCabLockout, _enablePushButtonLockout, _inverted, _pushButtonLockout, _reportLocked, _validDecoderNames, _validFeedbackModes, _validFeedbackNames, _validFeedbackTypes, binaryOutput, inhibitOperation, myOperator, myTurnoutOperation
 
Fields inherited from class jmri.implementation.AbstractNamedBean
mSystemName, mUserName
 
Fields inherited from interface jmri.Turnout
CABLOCKOUT, CLOSED, DIRECT, EXACT, INDIRECT, LOCKED, MONITORING, ONESENSOR, PUSHBUTTONLOCKOUT, SIGNAL, THROWN, TWOSENSOR, UNLOCKED
 
Fields inherited from interface jmri.NamedBean
INCONSISTENT, UNKNOWN
 
Constructor Summary
NceTurnout(NceTrafficController tc, String p, int i)
          NCE turnouts use the NMRA number (0-2044) as their numerical identification.
 
Method Summary
 boolean canInvert()
          NCE turnouts can be inverted
 boolean canLock(int turnoutLockout)
          NCE turnouts support two types of lockouts, pushbutton and cab.
 void enableLockOperation(int turnoutLockout, boolean enabled)
          Control which turnout locks are enabled
protected  void forwardCommandChangeToLayout(int s)
          Handle a request to change state, typically by sending a message to the layout in some child class.
 int getNumber()
           
static int getNumNtTurnouts()
           
protected  void sendMessage(boolean closed)
           
protected  void turnoutPushbuttonLockout(boolean pushButtonLockout)
          Send a message to the layout to lock or unlock the turnout pushbuttons if true, pushbutton lockout enabled
 
Methods inherited from class jmri.implementation.AbstractTurnout
dispose, forwardCommandChangeToLayout, getCommandedState, getControlType, getCurrentOperator, getDecoderName, getDivergingLimit, getDivergingSpeed, getFeedbackMode, getFeedbackModeForOperation, getFeedbackModeName, getFirstNamedSensor, getFirstSensor, getInhibitOperation, getInverted, getKnownState, getLocked, getNumberOutputBits, getReportLocked, getSecondNamedSensor, getSecondSensor, getState, getStraightLimit, getStraightSpeed, getTurnoutOperation, getTurnoutOperator, getValidDecoderNames, getValidFeedbackNames, getValidFeedbackTypes, isConsistentState, newCommandedState, newKnownState, operationPropertyChange, propertyChange, provideFirstFeedbackNamedSensor, provideFirstFeedbackSensor, provideSecondFeedbackNamedSensor, provideSecondFeedbackSensor, sensorPropertyChange, setBinaryOutput, setCommandedState, setControlType, setDecoderName, setDivergingSpeed, setFeedbackMode, setFeedbackMode, setInhibitOperation, setInitialKnownStateFromFeedback, setInverted, setLocked, setNumberOutputBits, setReportLocked, setState, setStraightSpeed, setTurnoutOperation, turnoutPushbuttonLockout
 
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, getComment, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyKeys, getSystemName, getUserName, removePropertyChangeListener, setComment, setProperty, setUserName, updateListenerRef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, getComment, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyKeys, getSystemName, getUserName, removePropertyChangeListener, setComment, setProperty, setUserName, updateListenerRef
 

Constructor Detail

NceTurnout

public NceTurnout(NceTrafficController tc,
                  String p,
                  int i)
NCE turnouts use the NMRA number (0-2044) as their numerical identification.

Method Detail

getNumber

public int getNumber()

getNumNtTurnouts

public static int getNumNtTurnouts()

forwardCommandChangeToLayout

protected void forwardCommandChangeToLayout(int s)
Description copied from class: AbstractTurnout
Handle a request to change state, typically by sending a message to the layout in some child class. Public version (used by TurnoutOperator) sends the current commanded state without changing it.

Specified by:
forwardCommandChangeToLayout in class AbstractTurnout
Parameters:
s - new state value

turnoutPushbuttonLockout

protected void turnoutPushbuttonLockout(boolean pushButtonLockout)
Send a message to the layout to lock or unlock the turnout pushbuttons if true, pushbutton lockout enabled

Specified by:
turnoutPushbuttonLockout in class AbstractTurnout

canInvert

public boolean canInvert()
NCE turnouts can be inverted

Specified by:
canInvert in interface Turnout
Overrides:
canInvert in class AbstractTurnout

canLock

public boolean canLock(int turnoutLockout)
NCE turnouts support two types of lockouts, pushbutton and cab. Cab lockout requires the feedback mode to be Monitoring

Specified by:
canLock in interface Turnout
Overrides:
canLock in class AbstractTurnout

enableLockOperation

public void enableLockOperation(int turnoutLockout,
                                boolean enabled)
Control which turnout locks are enabled

Specified by:
enableLockOperation in interface Turnout
Overrides:
enableLockOperation in class AbstractTurnout

sendMessage

protected void sendMessage(boolean closed)


Copyright © 1997 - 2011 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