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) int
now
(package private) Sensor
sensor
References the sensor to be monitored(package private) java.lang.String
sensorName
By default, monitors sensor "31"(package private) Turnout
turnout
References the turnout to be controlled(package private) java.lang.String
turnoutName
By 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 boolean
handle()
Watch "sensor", and when it changes adjust "turnout" to match.protected void
init()
This also sets the turnout to the current (initial) state to make sure everything is consistent at the start.(package private) void
setTurnout(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:
init
in classAbstractAutomaton
-
handle
protected boolean handle()
Watch "sensor", and when it changes adjust "turnout" to match.- Overrides:
handle
in 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.
-
-