org.lsst.ccs.subsystems.fcs
Class BasicAutoChangerModule
java.lang.Object
java.util.Observable
org.lsst.ccs.framework.Module
org.lsst.ccs.subsystems.fcs.BasicAutoChangerModule
- All Implemented Interfaces:
- java.io.Serializable, java.util.Observer, AutoChanger
- Direct Known Subclasses:
- AutoChangerModule, SftAutoChangerModule
public abstract class BasicAutoChangerModule
- extends org.lsst.ccs.framework.Module
- implements AutoChanger
An abstract changer module without a fliprail, without online clamp,
and without a motor.
This Module is in charge of the 2 latches which hold a filter in the autochanger.
This basic autochanger is used in single filter test.
- Author:
- virieux
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class org.lsst.ccs.framework.Module |
org.lsst.ccs.framework.Module.ValueUpdate |
| Fields inherited from class org.lsst.ccs.framework.Module |
log, name, nObserverThreads, registry, tickMillis |
| Methods inherited from class org.lsst.ccs.framework.Module |
getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, publishData, publishData, publishData, publishData, sendToReply, sendToStatus, setBeanName, setContext, setName, setNObserverThreads, setObservables, setStateModularSubsystem, setStateModularSubsystem, setTickMillis, shutdownNow, start, tick, update |
| Methods inherited from class java.util.Observable |
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
publishedByAutoChangerOutputName
public static java.lang.String publishedByAutoChangerOutputName
state
protected volatile ModuleState state
BasicAutoChangerModule
public BasicAutoChangerModule()
getFilterOnTrucks
public Filter getFilterOnTrucks()
- Specified by:
getFilterOnTrucks in interface AutoChanger
getFilterOnTrucksName
public java.lang.String getFilterOnTrucksName()
getStatusData
public StatusDataPublishedByBasicAutoChanger getStatusData()
getState
public ModuleState getState()
- Returns:
- the state
setState
public void setState(ModuleState state)
- Parameters:
state - the state to set
goToPosition
public abstract java.lang.String goToPosition(double requiredPosition)
throws java.lang.IllegalArgumentException,
org.lsst.ccs.bus.BadCommandException
- Specified by:
goToPosition in interface AutoChanger
- Throws:
java.lang.IllegalArgumentException
org.lsst.ccs.bus.BadCommandException
goToStandby
public abstract java.lang.String goToStandby()
goToStandback
public java.lang.String goToStandback()
grabbeFilterAtStandby
public java.lang.String grabbeFilterAtStandby(Filter filter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- Specified by:
grabbeFilterAtStandby in interface AutoChanger
- Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
initModule
public void initModule()
- Overrides:
initModule in class org.lsst.ccs.framework.Module
initPublishedData
public void initPublishedData()
- Specified by:
initPublishedData in interface AutoChanger
isEmpty
public boolean isEmpty()
isMoving
public abstract boolean isMoving()
lockLatchesAtStandby
public java.lang.String lockLatchesAtStandby(Filter aFilter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- This methods locks the trucks latches at standby position and updates the
field filterOnTrucks, the field filterLocation of the object Filter and updates
the data that we publish on the status bus.
It sends the command "lock" to the hardware of the latches and if this command is
executed with success it goes on with the updates otherwise it returns an exception.
- Specified by:
lockLatchesAtStandby in interface AutoChanger
- Returns:
-
- Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.BadCommandException
moveFilterToOnline
public abstract java.lang.String moveFilterToOnline(Filter aFilter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- Specified by:
moveFilterToOnline in interface AutoChanger
- Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
moveFilterToStandby
public abstract java.lang.String moveFilterToStandby(Filter aFilter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- Specified by:
moveFilterToStandby in interface AutoChanger
- Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
moveFilterToStandback
public abstract java.lang.String moveFilterToStandback(Filter aFilter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
processUpdate
public void processUpdate(java.util.Observable source,
org.lsst.ccs.framework.Module.ValueUpdate v)
- Overrides:
processUpdate in class org.lsst.ccs.framework.Module
setEmpty
public void setEmpty(boolean isEmpty)
setFilterOnTrucks
public void setFilterOnTrucks(Filter filterOnTrucks)
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
unGrabbeFilterAtStandby
public java.lang.String unGrabbeFilterAtStandby()
throws org.lsst.ccs.bus.ErrorInCommandExecutionException,
org.lsst.ccs.bus.BadCommandException
- Specified by:
unGrabbeFilterAtStandby in interface AutoChanger
- Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.BadCommandException
unlockLatchesAtStandby
public java.lang.String unlockLatchesAtStandby()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
- Specified by:
unlockLatchesAtStandby in interface AutoChanger
- Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
updatePublishedDataAndNotifyObservers
public void updatePublishedDataAndNotifyObservers()
Copyright © 2012 LSST. All Rights Reserved.