Package jmri.jmrit.automat
Class SampleAutomaton
- java.lang.Object
-
- jmri.jmrit.automat.AbstractAutomaton
-
- jmri.jmrit.automat.SampleAutomaton
-
- All Implemented Interfaces:
java.lang.Runnable
public class SampleAutomaton extends AbstractAutomaton
This sample Automaton watches a Sensor, and adjusts the state of a Turnout so that it matches the Sensor's state.The sensor and turnout id's are hardcoded, as this is an example of just the Automaton function. Adding a GUI to configure these would be straight-forward. The values could be passed via the constructor, or the constructor (which can run in any required thread) could invoke a dialog.
For test purposes, one of these objects can be created and invoked by a SampleAutomatonAction.
For more information on JMRI support for automation classes, please see the JMRI Layout Automation in Java page.
- See Also:
SampleAutomatonAction
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrit.automat.AbstractAutomaton
AbstractAutomaton.MsgFrame
-
-
Field Summary
Fields Modifier and Type Field Description (package private) intnow(package private) SensorsensorReferences the sensor to be monitored(package private) java.lang.StringsensorNameBy default, monitors sensor "31"(package private) TurnoutturnoutReferences the turnout to be controlled(package private) java.lang.StringturnoutNameBy default, controls turnout "26".-
Fields inherited from class jmri.jmrit.automat.AbstractAutomaton
debugWaitFrame, message, messageFrame, promptOnWait, waitChangePrecheckBeans, waitChangePrecheckStates, waitChangeQueue
-
-
Constructor Summary
Constructors Constructor Description SampleAutomaton()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanhandle()Watch "sensor", and when it changes adjust "turnout" to match.protected voidinit()This also sets the turnout to the current (initial) state to make sure everything is consistent at the start.(package private) voidsetTurnout(int now)Set "turnout" to match the sensor state-
Methods inherited from class jmri.jmrit.automat.AbstractAutomaton
defaultName, done, getCount, getName, getThrottle, getThrottle, getThrottle, getThrottle, isRunning, isWaiting, readServiceModeCV, run, setName, setTurnouts, start, stop, wait, waitChange, waitChange, waitChangePrecheck, waitMsec, waitSensorActive, waitSensorActive, waitSensorChange, waitSensorChange, waitSensorInactive, waitSensorInactive, waitSensorState, waitSensorState, waitSignalHeadState, waitSignalMastState, waitTurnoutConsistent, waitWarrantBlock, waitWarrantBlockChange, waitWarrantRunState, writeOpsModeCV, writeServiceModeCV
-
-
-
-
Field Detail
-
sensorName
java.lang.String sensorName
By default, monitors sensor "31"
-
turnoutName
java.lang.String turnoutName
By default, controls turnout "26".
-
now
int now
-
-
Constructor Detail
-
SampleAutomaton
public SampleAutomaton()
-
-
Method Detail
-
init
protected void init()
This also sets the turnout to the current (initial) state to make sure everything is consistent at the start.- Overrides:
initin classAbstractAutomaton
-
handle
protected boolean handle()
Watch "sensor", and when it changes adjust "turnout" to match.- Overrides:
handlein classAbstractAutomaton- Returns:
- Always returns true to continue operation
-
setTurnout
void setTurnout(int now)
Set "turnout" to match the sensor state- Parameters:
now- The current value of the sensor state.
-
-