
public class CarouselClampModule extends MobileItemModule
| Modifier and Type | Field and Description |
|---|---|
EPOSController |
actuator
The actuator which controls this clamp.
|
protected FcsEnumerations.FilterClampState |
clampState |
protected int |
currentToMaintainUnlocked |
protected int |
currentToUnlock |
protected FcsEnumerations.FilterPresenceStatus |
filterPresenceStatus |
protected double |
temperature |
protected long |
timeoutForReleasing |
protected long |
timeoutForUnlocking |
protected boolean |
updatingState |
currentAction, fcslog, haltRequired, hasToWaitForEndOfAction, lock, motionCompleted, moving, stopRequired| Constructor and Description |
|---|
CarouselClampModule(String aName,
int aTickMillis,
Sensor14bits filterPresenceSensor,
Sensor14bits lockSensor,
Thermometer thermometer,
int filterPositionValueA,
int filterPositionValueB,
int filterPositionValueC,
int filterPositionOffset,
int lockSensorValueA,
int lockSensorValueB,
int lockSensorValueC,
int lockSensorOffset,
int timeoutForUnlocking,
int timeoutForReleasing,
int currentToUnlock,
int currentToMaintainUnlocked) |
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay) |
org.lsst.ccs.framework.TreeWalkerDiag |
checkHardware() |
FcsEnumerations.FilterClampState |
computeClampState()
Compute the global state of the clamp given the lock sensor and the presence filter sensor state.
|
EPOSController |
getActuator() |
FcsEnumerations.FilterClampState |
getClampState()
Returns the clampState of the clamp.
|
int |
getCurrentToUnlock() |
int |
getFilterPositionMaxValue() |
int |
getFilterPositionMinValue() |
int |
getFilterPositionOffset() |
int |
getFilterPositionValueA() |
int |
getFilterPositionValueB() |
int |
getFilterPositionValueC() |
Sensor14bits |
getFilterPresenceSensor()
For encapsulation : we want to access to filterPresenceSensor in sub-packages.
|
FcsEnumerations.FilterPresenceStatus |
getFilterPresenceStatus() |
Sensor14bits |
getLockSensor() |
int |
getLockSensorMaxValue() |
int |
getLockSensorMinValue() |
int |
getLockSensorOffset() |
int |
getLockSensorValueA() |
int |
getLockSensorValueB() |
int |
getLockSensorValueC() |
FcsEnumerations.LockStatus |
getLockStatus() |
StatusDataPublishedByClamp |
getStatusData() |
double |
getTemperature() |
Thermometer |
getThermometer() |
long |
getTimeoutRelease() |
long |
getTimeoutUnlock() |
void |
initModule() |
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action) |
boolean |
isFilterEngaged() |
boolean |
isHardwareReady() |
boolean |
isLocked()
This methods returns true if the clamp is locked.
|
void |
postAction(FcsEnumerations.MobileItemAction action) |
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
String |
release()
The clamps on the carousel are locked automaticaly when the filter comes
at the standby position.
|
void |
setActuator(EPOSController actuator) |
void |
setFilterPositionOffset(int filterPositionOffset) |
void |
setFilterPositionValueA(int valueA) |
void |
setFilterPositionValueB(int valueB) |
void |
setFilterPositionValueC(int valueC) |
void |
setLockSensorOffset(int lockSensorOffset) |
void |
setLockSensorValueA(int aValue) |
void |
setLockSensorValueB(int aValue) |
void |
setLockSensorValueC(int lockSensorValueC) |
void |
setLockStatus(FcsEnumerations.LockStatus lockStatus) |
void |
setTimeoutRelease(long timeoutRelease) |
void |
setTimeoutUnlock(long timeoutUnlock) |
void |
startAction(FcsEnumerations.MobileItemAction action) |
void |
tick() |
String |
toString() |
String |
unlock()
Unlock the clamp when a filter is locked by the clamp.
|
void |
updateFilterPresenceStatus()
Update the field lockPresenceStatus in reading the filter presence sensor.
|
void |
updateLockStatus()
Update the field lockStatus in reading the lock sensor.
|
void |
updateStateWithSensors()
This method updates the clamp clampState regarding the value returned by the
filter presence sensor and the value returned by the method isLocked().
|
void |
updateStateWithSensorsFromSDO()
Deprecated.
|
void |
updateStateWithSensorsToCheckIfActionIsCompleted() |
double |
updateTemperature()
This methods read the thermometer, update the field temperature and returns the value sent
by the thermometer;
|
abort, abort, checkStarted, checkStopped, executeAction, getHaltRequired, isMoving, quickstop, readSensorsUntilActionIsCompleted, shutdownNow, signal, stop, stopalias, getComponentTree, getEnvironment, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, percolateSignal, postStart, processUpdate, sendSignal, sendSignalWithTimeLimit, setEnvironment, setName, setNObserverThreads, setObservables, setTickMillis, startTicking, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedpublic EPOSController actuator
protected FcsEnumerations.FilterClampState clampState
protected FcsEnumerations.FilterPresenceStatus filterPresenceStatus
protected int currentToUnlock
protected int currentToMaintainUnlocked
protected double temperature
protected volatile boolean updatingState
protected long timeoutForUnlocking
protected long timeoutForReleasing
public CarouselClampModule(String aName, int aTickMillis, Sensor14bits filterPresenceSensor, Sensor14bits lockSensor, Thermometer thermometer, int filterPositionValueA, int filterPositionValueB, int filterPositionValueC, int filterPositionOffset, int lockSensorValueA, int lockSensorValueB, int lockSensorValueC, int lockSensorOffset, int timeoutForUnlocking, int timeoutForReleasing, int currentToUnlock, int currentToMaintainUnlocked)
public EPOSController getActuator()
public void setActuator(EPOSController actuator)
public int getCurrentToUnlock()
@ConfigChanger public void setFilterPositionValueA(int valueA)
valueA - the filterPositionValueA to set@ConfigChanger public void setFilterPositionValueB(int valueB)
valueB - the filterPositionValueB to set@ConfigChanger public void setFilterPositionValueC(int valueC)
valueC - the filterPositionValueC to setpublic int getLockSensorValueA()
@ConfigChanger public void setLockSensorValueA(int aValue)
aValue - the lockSensorValueA to setpublic int getLockSensorValueB()
@ConfigChanger public void setLockSensorValueB(int aValue)
aValue - the lockSensorValueB to setpublic int getLockSensorValueC()
@ConfigChanger public void setLockSensorValueC(int lockSensorValueC)
public int getFilterPositionMaxValue()
public int getFilterPositionMinValue()
public int getLockSensorMaxValue()
public int getLockSensorMinValue()
@ConfigChanger public void setLockSensorOffset(int lockSensorOffset)
public int getFilterPositionValueA()
public int getFilterPositionValueB()
public int getFilterPositionValueC()
public int getLockSensorOffset()
public int getFilterPositionOffset()
public void setFilterPositionOffset(int filterPositionOffset)
public Sensor14bits getFilterPresenceSensor()
public Sensor14bits getLockSensor()
public Thermometer getThermometer()
public FcsEnumerations.LockStatus getLockStatus()
public void setLockStatus(FcsEnumerations.LockStatus lockStatus)
lockStatus - the lockStatus to setpublic FcsEnumerations.FilterPresenceStatus getFilterPresenceStatus()
public double getTemperature()
public long getTimeoutRelease()
@ConfigChanger public void setTimeoutRelease(long timeoutRelease)
public long getTimeoutUnlock()
@ConfigChanger public void setTimeoutUnlock(long timeoutUnlock)
public void initModule()
initModule in class MobileItemModule@Command(type=QUERY, level=1, description="Returns true if hardware is connected and ready.") public boolean isHardwareReady()
isHardwareReady in class MobileItemModulepublic org.lsst.ccs.framework.TreeWalkerDiag checkHardware()
throws org.lsst.ccs.HardwareException
checkHardware in interface org.lsst.ccs.framework.HardwareControllercheckHardware in class MobileItemModuleorg.lsst.ccs.HardwareExceptionpublic FcsEnumerations.FilterClampState getClampState()
@Command(level=1, description="Returns true if the clamp is locked", type=QUERY) public boolean isLocked()
@Command(level=1, description="Returns true if filter is engaged on the clamp : filter presence sensors sees it ", type=QUERY) public boolean isFilterEngaged()
public void updateFilterPresenceStatus()
throws FcsHardwareException
FcsHardwareExceptionpublic void updateLockStatus()
throws FcsHardwareException
FcsHardwareException@Deprecated public void updateStateWithSensorsFromSDO() throws FcsHardwareException
FcsHardwareException@Command(level=1, description="Read clamp sensors and update clampState", type=QUERY, alias="updState") public void updateStateWithSensors() throws FcsHardwareException, org.lsst.ccs.messaging.BadCommandException
FcsHardwareExceptionorg.lsst.ccs.messaging.BadCommandExceptionpublic void publishData()
publishData in class MobileItemModulepublic FcsEnumerations.FilterClampState computeClampState()
public void tick()
tick in class org.lsst.ccs.framework.Modulepublic StatusDataPublishedByClamp getStatusData()
@Command(level=3, description="Release clamp in order to get ready to clamp a filter again", type=ACTION) public String release() throws FcsHardwareException, org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException
FcsHardwareExceptionorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionException@Command(level=3, description="Unlock the clamp", type=ACTION) public String unlock() throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
org.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic void startAction(FcsEnumerations.MobileItemAction action) throws SDORequestException, org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
startAction in class MobileItemModuleSDORequestExceptionorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModulepublic void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItemModulepublic void updateStateWithSensorsToCheckIfActionIsCompleted()
throws FcsHardwareException,
org.lsst.ccs.messaging.BadCommandException
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModuleFcsHardwareExceptionorg.lsst.ccs.messaging.BadCommandExceptionpublic double updateTemperature()
throws FcsHardwareException
FcsHardwareExceptionpublic void abortAction(FcsEnumerations.MobileItemAction action, long delay) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
abortAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic void quickStopAction(FcsEnumerations.MobileItemAction action, long delay) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
quickStopAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionCopyright © 2015 LSST. All rights reserved.