Package jmri.jmrit.automat
Class SampleAutomaton3
- java.lang.Object
-
- jmri.jmrit.automat.AbstractAutomaton
-
- jmri.jmrit.automat.SampleAutomaton3
-
- All Implemented Interfaces:
java.lang.Runnable
public class SampleAutomaton3 extends AbstractAutomaton
This sample Automaton runs a locomotive back and forth on a piece of track by watching two sensors.The sensors and locomotive 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 SampleAutomaton3Action.
For more information on JMRI support for automation classes, please see the JMRI Layout Automation in Java page.
- See Also:
SampleAutomaton3Action
-
-
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) SensorfwdSensorReferences the sensor the locomotive will enter when it moves forward to the limit.(package private) java.lang.StringfwdSensorNameBy default, monitors sensor "182" for the forward end of the track(package private) intfwdState(package private) booleanlocoLong(package private) intlocoNumberBy default, controls locomotive 77(short).(package private) booleanmoveFwd(package private) SensorrevSensorReferences the sensor the locomotive will enter when it moves backward to the limit.(package private) java.lang.StringrevSensorNameBy default, monitors sensor "178" for the reverse end of the track(package private) intrevState(package private) DccThrottlethrottleReferences the locomotive decoder to be controlled-
Fields inherited from class jmri.jmrit.automat.AbstractAutomaton
debugWaitFrame, message, messageFrame, promptOnWait, waitChangePrecheckBeans, waitChangePrecheckStates, waitChangeQueue
-
-
Constructor Summary
Constructors Constructor Description SampleAutomaton3()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanhandle()Watch the sensors, and change direction to match.protected voidinit()User-provided initialization routine.-
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
-
throttle
DccThrottle throttle
References the locomotive decoder to be controlled
-
fwdSensor
Sensor fwdSensor
References the sensor the locomotive will enter when it moves forward to the limit.
-
revSensor
Sensor revSensor
References the sensor the locomotive will enter when it moves backward to the limit.
-
fwdSensorName
java.lang.String fwdSensorName
By default, monitors sensor "182" for the forward end of the track
-
revSensorName
java.lang.String revSensorName
By default, monitors sensor "178" for the reverse end of the track
-
locoNumber
int locoNumber
By default, controls locomotive 77(short).
-
locoLong
boolean locoLong
-
moveFwd
boolean moveFwd
-
fwdState
int fwdState
-
revState
int revState
-
-
Constructor Detail
-
SampleAutomaton3
public SampleAutomaton3()
-
-
Method Detail
-
init
protected void init()
Description copied from class:AbstractAutomatonUser-provided initialization routine.This is called exactly once for each object created. This is where you put all the code that needs to be run when your object starts up: Finding sensors and turnouts, getting a throttle, etc.
- Overrides:
initin classAbstractAutomaton
-
handle
protected boolean handle()
Watch the sensors, and change direction to match.- Overrides:
handlein classAbstractAutomaton- Returns:
- Always returns true to continue operation
-
-