org.lsst.ccs.subsystems.fcs
Class FilterLatchModule

java.lang.Object
  extended by java.util.Observable
      extended by org.lsst.ccs.framework.Module
          extended by org.lsst.ccs.subsystems.fcs.FilterLatchModule
All Implemented Interfaces:
Serializable, Observer
Direct Known Subclasses:
SimuFilterLatchModule

public class FilterLatchModule
extends org.lsst.ccs.framework.Module

This is a model for a latch. A latch is what holds a filter in the trucks of the autochanger. There is 2 latches : one on each side of the filter. The state of the latches are monitoring by digital sensors : one sensor to know if a filter is in the latch or not and 2 status sensors to know if the latch is locked or unlocked. If the 2 status sensors are inconsistent, the latch is in error.

Author:
virieux
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.lsst.ccs.framework.Module
org.lsst.ccs.framework.Module.ValueUpdate
 
Field Summary
protected  NumericSensor filterPresenceSensor
           
protected  NumericSensor lockSensor
           
protected  NumericSensor unlockSensor
           
protected  boolean updatingState
          This is used when we update the latch state with the values returned by the sensors.
 
Fields inherited from class org.lsst.ccs.framework.Module
configMethods, log, name, nObserverThreads, registry, tickMillis
 
Constructor Summary
FilterLatchModule()
           
 
Method Summary
 String close()
           
 NumericSensor getFilterPresenceSensor()
           
 LatchActuatorModule getLatchActuator()
           
 NumericSensor getLockSensor()
           
 FcsEnumerations.LockStatus getLockStatus()
           
 StatusDataPublishedByLatch getStatusData()
           
 NumericSensor getUnlockSensor()
           
 void initModule()
           
 boolean isFilterEngaged()
           
 boolean isInError()
           
 boolean isLocked()
           
 boolean isUnlocked()
           
 String open()
           
 void setFilterPresenceSensor(NumericSensor filterPresenceSensor)
           
 void setLatchActuator(LatchActuatorModule latchActuator)
           
 void setLockSensor(NumericSensor lockSensor)
           
 void setLockStatus(FcsEnumerations.LockStatus lockStatus)
           
 void setUnlockSensor(NumericSensor unlockSensor)
           
 void updateState(String hexaValue)
           
 
Methods inherited from class org.lsst.ccs.framework.Module
change, checkHardware, dropConfigurationContext, getCheckedValueFromConfiguration, getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, newConfigurationContext, notifyChange, notifyChangeWithoutPreliminaryChecks, processUpdate, publishData, publishData, publishData, publishData, register, register, sendToReply, sendToStatus, setBeanName, setContext, setName, setNObserverThreads, setObservables, setStateModularSubsystem, setStateModularSubsystem, setTickMillis, shutdownCommand, shutdownNow, 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, toString, wait, wait, wait
 

Field Detail

filterPresenceSensor

protected NumericSensor filterPresenceSensor

lockSensor

protected NumericSensor lockSensor

unlockSensor

protected NumericSensor unlockSensor

updatingState

protected volatile boolean updatingState
This is used when we update the latch state with the values returned by the sensors.

Constructor Detail

FilterLatchModule

public FilterLatchModule()
Method Detail

getLatchActuator

public LatchActuatorModule getLatchActuator()

setLatchActuator

public void setLatchActuator(LatchActuatorModule latchActuator)

getFilterPresenceSensor

public NumericSensor getFilterPresenceSensor()

setFilterPresenceSensor

public void setFilterPresenceSensor(NumericSensor filterPresenceSensor)

getLockSensor

public NumericSensor getLockSensor()

setLockSensor

public void setLockSensor(NumericSensor lockSensor)

getUnlockSensor

public NumericSensor getUnlockSensor()

setUnlockSensor

public void setUnlockSensor(NumericSensor unlockSensor)

initModule

public void initModule()
Overrides:
initModule in class org.lsst.ccs.framework.Module

getLockStatus

public FcsEnumerations.LockStatus getLockStatus()

setLockStatus

public void setLockStatus(FcsEnumerations.LockStatus lockStatus)

getStatusData

public StatusDataPublishedByLatch getStatusData()

open

public String open()
            throws org.lsst.ccs.bus.BadCommandException,
                   org.lsst.ccs.bus.ErrorInCommandExecutionException,
                   HardwareErrorDetectedException
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareErrorDetectedException

close

public String close()
             throws org.lsst.ccs.bus.BadCommandException,
                    org.lsst.ccs.bus.ErrorInCommandExecutionException,
                    HardwareErrorDetectedException
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareErrorDetectedException

isLocked

public boolean isLocked()

isUnlocked

public boolean isUnlocked()

isFilterEngaged

public boolean isFilterEngaged()

isInError

public boolean isInError()

updateState

public void updateState(String hexaValue)


Copyright © 2012 LSST. All Rights Reserved.