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) Sensor
fwdSensor
References the sensor the locomotive will enter when it moves forward to the limit.(package private) java.lang.String
fwdSensorName
By default, monitors sensor "182" for the forward end of the track(package private) int
fwdState
(package private) boolean
locoLong
(package private) int
locoNumber
By default, controls locomotive 77(short).(package private) boolean
moveFwd
(package private) Sensor
revSensor
References the sensor the locomotive will enter when it moves backward to the limit.(package private) java.lang.String
revSensorName
By default, monitors sensor "178" for the reverse end of the track(package private) int
revState
(package private) DccThrottle
throttle
References 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 boolean
handle()
Watch the sensors, and change direction to match.protected void
init()
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:AbstractAutomaton
User-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:
init
in classAbstractAutomaton
-
handle
protected boolean handle()
Watch the sensors, and change direction to match.- Overrides:
handle
in classAbstractAutomaton
- Returns:
- Always returns true to continue operation
-
-