|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.Observable
org.lsst.ccs.framework.Module
org.lsst.ccs.subsystems.fcs.common.MobileItemModule
org.lsst.ccs.subsystems.fcs.FilterClampModule
public abstract class FilterClampModule
An abstract class which extends Module to model a clamp that holds a filter on the carousel. It implements pattern clampState. See the clampState machine diagram for a carousel clamp. Each clamp on the carousel is coupled with a sensor which detects the presence of a filter. This abstract class provides a method to lock, unlock or release the clamps, and to compute the clampState of the clamp. The clampState of the clamp is computed, updated and published on the status bus each tick of the timer.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.lsst.ccs.framework.Module |
|---|
org.lsst.ccs.framework.Module.ValueUpdate |
| Nested classes/interfaces inherited from interface org.lsst.ccs.framework.Configurable |
|---|
org.lsst.ccs.framework.Configurable.Environment |
| Field Summary | |
|---|---|
protected FcsEnumerations.FilterClampState |
clampState
|
protected FcsEnumerations.FilterPresenceStatus |
filterPresenceStatus
|
String |
publishedByClampOutputName
|
protected double |
temperature
|
protected long |
timeoutRelease
|
protected long |
timeoutUnlock
|
protected boolean |
updatingState
|
| Fields inherited from class org.lsst.ccs.subsystems.fcs.common.MobileItemModule |
|---|
itemMoving, lock, motionCompleted |
| Fields inherited from class org.lsst.ccs.framework.Module |
|---|
environment, log, name, nObserverThreads, registry, tickMillis |
| Constructor Summary | |
|---|---|
FilterClampModule()
|
|
| Method Summary | |
|---|---|
FcsEnumerations.FilterClampState |
computeClampState()
Compute the global state of the clamp given the lock sensor and the presence filter sensor state. |
ClampActuatorModule |
getActuator()
|
FcsEnumerations.FilterClampState |
getClampState()
Returns the clampState of the clamp. |
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 |
isLocked()
This methods returns true if the clamp is locked. |
void |
postAction(FcsEnumerations.MobileItemAction action)
|
void |
publishTrendingData(StatusDataPublishedByClamp status)
Broadcast the trending data on the status bus. |
String |
release()
The clamps on the carousel are locked automaticaly when the filter comes at the standby position. |
String |
releaseWithThreadSleep()
Deprecated. |
void |
setActuator(ClampActuatorModule actuator)
|
void |
setFilterPositionOffset(int filterPositionOffset)
|
void |
setFilterPositionValueA(int valueA)
|
void |
setFilterPositionValueB(int valueB)
|
void |
setFilterPositionValueC(int valueC)
|
void |
setFilterPresenceSensor(Sensor14bits filterPresenceSensor)
for Spring |
void |
setLockSensor(Sensor14bits lockSensor)
|
void |
setLockSensorOffset(int lockSensorOffset)
|
void |
setLockSensorValueA(int aValue)
|
void |
setLockSensorValueB(int aValue)
|
void |
setLockSensorValueC(int lockSensorValueC)
|
void |
setLockStatus(FcsEnumerations.LockStatus lockStatus)
|
void |
setThermometer(Thermometer thermometer)
|
void |
setTimeoutRelease(long timeoutRelease)
|
void |
setTimeoutUnlock(long timeoutUnlock)
|
void |
startAction(FcsEnumerations.MobileItemAction action)
|
String |
toString()
|
String |
unlock()
Unlock the clamp when a filter is locked by the clamp. |
String |
unlockWithThreadSleep()
Deprecated. |
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; |
| Methods inherited from class org.lsst.ccs.subsystems.fcs.common.MobileItemModule |
|---|
cancelReadingSensors, executeAction, readSensorsUntilActionIsCompleted, shutdownNow, waitForEndOfAction |
| Methods inherited from class org.lsst.ccs.framework.Module |
|---|
alias, change, checkHardware, dropConfigurationContext, getAvailableCommands, getCheckedValueFromConfiguration, getChildren, getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, newConfigurationContext, notifyChange, notifyChangeWithoutPreliminaryChecks, processUpdate, publishData, publishData, publishData, publishData, publishData, publishData, publishData, register, register, removeLogPanicState, sendToReply, sendToStatus, setBeanName, setContext, setEnvironment, setHandlerLevel, setLogLevel, setName, setNObserverThreads, setObservables, setStateModularSubsystem, setStateModularSubsystem, setTickMillis, shutdownCommand, start, startTicking, 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 |
| Field Detail |
|---|
protected FcsEnumerations.FilterClampState clampState
protected FcsEnumerations.FilterPresenceStatus filterPresenceStatus
protected double temperature
public String publishedByClampOutputName
protected volatile boolean updatingState
protected long timeoutUnlock
protected long timeoutRelease
| Constructor Detail |
|---|
public FilterClampModule()
| Method Detail |
|---|
public ClampActuatorModule getActuator()
public void setActuator(ClampActuatorModule actuator)
public void setFilterPositionValueA(int valueA)
filterPositionValueA - the filterPositionValueA to setpublic void setFilterPositionValueB(int valueB)
filterPositionValueB - the filterPositionValueB to setpublic void setFilterPositionValueC(int valueC)
filterPositionValueC - the filterPositionValueC to setpublic int getLockSensorValueA()
public void setLockSensorValueA(int aValue)
lockSensorValueA - the lockSensorValueA to setpublic int getLockSensorValueB()
public void setLockSensorValueB(int aValue)
lockSensorValueB - the lockSensorValueB to setpublic int getLockSensorValueC()
public void setLockSensorValueC(int lockSensorValueC)
public int getFilterPositionMaxValue()
public int getFilterPositionMinValue()
public int getLockSensorMaxValue()
public int getLockSensorMinValue()
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 void setFilterPresenceSensor(Sensor14bits filterPresenceSensor)
filterPresenceSensor - the filterPresenceSensor to setpublic Sensor14bits getLockSensor()
public Thermometer getThermometer()
public void setThermometer(Thermometer thermometer)
public void setLockSensor(Sensor14bits lockSensor)
lockSensor - the lockSensor to setpublic FcsEnumerations.LockStatus getLockStatus()
public void setLockStatus(FcsEnumerations.LockStatus lockStatus)
lockStatus - the lockStatus to setpublic FcsEnumerations.FilterPresenceStatus getFilterPresenceStatus()
public double getTemperature()
public long getTimeoutRelease()
public void setTimeoutRelease(long timeoutRelease)
public long getTimeoutUnlock()
public void setTimeoutUnlock(long timeoutUnlock)
public void initModule()
initModule in class org.lsst.ccs.framework.Modulepublic FcsEnumerations.FilterClampState getClampState()
public boolean isLocked()
public boolean isFilterEngaged()
public void updateFilterPresenceStatus()
throws HardwareException
HardwareError
HardwareException
public void updateLockStatus()
throws HardwareException
HardwareError
HardwareException
@Deprecated
public void updateStateWithSensorsFromSDO()
throws HardwareException
HardwareException
public void updateStateWithSensors()
throws HardwareException,
org.lsst.ccs.bus.BadCommandException
HardwareException
org.lsst.ccs.bus.BadCommandExceptionpublic void publishTrendingData(StatusDataPublishedByClamp status)
status - public FcsEnumerations.FilterClampState computeClampState()
public StatusDataPublishedByClamp getStatusData()
@Deprecated
public String releaseWithThreadSleep()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareException
public String release()
throws HardwareException,
org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareError
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareException
@Deprecated
public String unlockWithThreadSleep()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareException
public String unlock()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareException
public void startAction(FcsEnumerations.MobileItemAction action)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
startAction in class MobileItemModuleorg.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModulepublic void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItemModule
public void updateStateWithSensorsToCheckIfActionIsCompleted()
throws HardwareException,
org.lsst.ccs.bus.BadCommandException
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModuleHardwareException
org.lsst.ccs.bus.BadCommandException
public double updateTemperature()
throws HardwareException
HardwareExceptionpublic String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||