org.lsst.ccs.subsystems.shutter
Class ShutterModule

java.lang.Object
  extended by java.util.Observable
      extended by org.lsst.ccs.framework.Module
          extended by org.lsst.ccs.subsystems.shutter.ShutterModule
All Implemented Interfaces:
Serializable, Observer, org.lsst.ccs.framework.Configurable

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

Author:
azemoon
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
 
Fields inherited from class org.lsst.ccs.framework.Module
environment, log, name, nObserverThreads, registry, tickMillis
 
Constructor Summary
ShutterModule()
           
 
Method Summary
 void closeShutter()
           
 BladeSet getBladeSet(int index)
           
 double getBladeSetPosition(int index)
           
 double getExposureTimeSeconds()
          This time should on average be equal to the effective exposure time Any asymmetry, offset, should be calibrated and handled by the implementation
 double getMoveTimeSeconds()
           
 void initModule()
           
 void moveToPosition(int index, float targetPosition, float moveTimeSeconds)
           
 void moveToPosition(int index, float targetPosition, float moveTimeSeconds, boolean initialize)
           
 void setBladeSets(List<BladeSet> bladeSets)
           
 void setExposureTimeSeconds(double exposureTimeSeconds)
           
 void setMoveTimeSeconds(float moveTimeSeconds)
           
 void takeExposure(float exposureTimeSeconds)
           
 void takeImage()
           
 void takeImage(float moveTimeSeconds, float exposureTimeSeconds)
           
 void takeImage(int firstBladeSetIndex, float moveTimeSeconds, float exposureTimeSeconds)
          Takes a single exposure
 void tick()
          What has to be done for each tick of the timer.
 
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, shutdownNow, start, startTicking, 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
 

Constructor Detail

ShutterModule

public ShutterModule()
Method Detail

setBladeSets

public void setBladeSets(List<BladeSet> bladeSets)

getBladeSet

public BladeSet getBladeSet(int index)

initModule

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

tick

public void tick()
What has to be done for each tick of the timer. We have to notify our observers we have changed and give them the new values of the update data.

Overrides:
tick in class org.lsst.ccs.framework.Module

getExposureTimeSeconds

public double getExposureTimeSeconds()
This time should on average be equal to the effective exposure time Any asymmetry, offset, should be calibrated and handled by the implementation

Returns:
the exposure time

setExposureTimeSeconds

public void setExposureTimeSeconds(double exposureTimeSeconds)

getMoveTimeSeconds

public double getMoveTimeSeconds()

setMoveTimeSeconds

public void setMoveTimeSeconds(float moveTimeSeconds)

getBladeSetPosition

public double getBladeSetPosition(int index)

moveToPosition

public void moveToPosition(int index,
                           float targetPosition,
                           float moveTimeSeconds,
                           boolean initialize)

moveToPosition

public void moveToPosition(int index,
                           float targetPosition,
                           float moveTimeSeconds)

takeImage

public void takeImage()
               throws InterruptedException,
                      IllegalArgumentException
Throws:
InterruptedException
IllegalArgumentException

takeExposure

public void takeExposure(float exposureTimeSeconds)
                  throws InterruptedException,
                         IllegalArgumentException
Throws:
InterruptedException
IllegalArgumentException

takeImage

public void takeImage(int firstBladeSetIndex,
                      float moveTimeSeconds,
                      float exposureTimeSeconds)
               throws InterruptedException,
                      IllegalArgumentException
Takes a single exposure

Parameters:
firstBladeSetIndex - index of the bladeSet to move first
exposureTimeSeconds - exposure time, on average is equal to the effective exposure time
moveTimeSeconds - time to open or close.
Throws:
InterruptedException
IllegalArgumentException

takeImage

public void takeImage(float moveTimeSeconds,
                      float exposureTimeSeconds)
               throws InterruptedException,
                      IllegalArgumentException
Throws:
InterruptedException
IllegalArgumentException

closeShutter

public void closeShutter()
                  throws InterruptedException
Throws:
InterruptedException


Copyright © 2013 LSST. All Rights Reserved.