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, org.lsst.ccs.framework.Configurable
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
 
Nested classes/interfaces inherited from interface org.lsst.ccs.framework.Configurable
org.lsst.ccs.framework.Configurable.Environment
 
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
environment, log, name, nObserverThreads, registry, tickMillis
 
Constructor Summary
FilterLatchModule()
           
 
Method Summary
 String close()
           
 NumericSensor getFilterPresenceSensor()
           
 CompactIOModule getFilterSensorsDIO()
           
 String getFilterSensorsDIOName()
           
 LatchActuatorModule getLatchActuator()
           
 NumericSensor getLockSensor()
           
 FcsEnumerations.LockStatus getLockStatus()
           
 FcsEnumerations.FilterPresenceInLatchStatus getPresenceStatus()
           
 StatusDataPublishedByLatch getStatusData()
           
 NumericSensor getUnlockSensor()
           
 void initModule()
           
 boolean isInError()
           
 boolean isLocked()
           
 boolean isUnlocked()
           
 String open()
           
 void publishTrendingData(StatusDataPublishedByLatch status)
          Broadcast the trending data on the status bus.
 void setFilterPresenceSensor(NumericSensor filterPresenceSensor)
           
 void setFilterSensorsDIO(CompactIOModule filterSensorsDIO)
           
 void setFilterSensorsDIOName(String filterSensorsDIOName)
           
 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, getChildren, getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, newConfigurationContext, notifyChange, notifyChangeWithoutPreliminaryChecks, processUpdate, publishData, publishData, publishData, publishData, register, register, sendToReply, sendToStatus, setBeanName, setContext, setEnvironment, 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)

getFilterSensorsDIO

public CompactIOModule getFilterSensorsDIO()

setFilterSensorsDIO

public void setFilterSensorsDIO(CompactIOModule filterSensorsDIO)

getFilterSensorsDIOName

public String getFilterSensorsDIOName()

setFilterSensorsDIOName

public void setFilterSensorsDIOName(String filterSensorsDIOName)

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)

getPresenceStatus

public FcsEnumerations.FilterPresenceInLatchStatus getPresenceStatus()

getStatusData

public StatusDataPublishedByLatch getStatusData()

open

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

close

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

isLocked

public boolean isLocked()

isUnlocked

public boolean isUnlocked()

isInError

public boolean isInError()

updateState

public void updateState(String hexaValue)

publishTrendingData

public void publishTrendingData(StatusDataPublishedByLatch status)
Broadcast the trending data on the status bus.

Parameters:
status -


Copyright © 2013 LSST. All Rights Reserved.