public class ShutterModule
extends org.lsst.ccs.framework.Module
This module manages two objects that implement the BladeSet interface, one for each side of the shutter. Generally these will either both be instances of BladeSetSimulator or of BladeSetDrvr. Coordinated motions of one or both the blade sets are carried out in response to commands from the CCS command bus. Motion histories for the blade sets are published on the CCS status bus.
Configuration parameters:
| Constructor and Description |
|---|
ShutterModule(String name,
List<BladeSet> bladeSets)
Constructs the main module for the shutter subsystem.
|
| Modifier and Type | Method and Description |
|---|---|
void |
calibrate()
Does nothing at present.
|
void |
closeShutter()
Closes the shutter.
|
double |
getBladeMovementTime()
The default value for the number of seconds each blade set should take to move
when taking an exposure.
|
BladeSet |
getBladeSet(int index)
Gets one of the two BladeSet objects.
|
double |
getBladeSetApproachMin()
Gets the current minimum approach distance for the blade sets (relative position).
|
double |
getBladeSetEndTol()
Gets the tolerance used when comparing blade set position against 0 or 1.
|
BladePositionResult |
getBladeSetPositions()
Gets the current relative position of both blade sets.
|
void |
initModule()
Checks that the module has been constructed correctly.
|
void |
moveToPosition(int index,
double targetPosition)
Action command to move a single blade set.
|
void |
openShutter()
Opens the shutter.
|
void |
shutdownNow()
Shut down activity in this module.
|
void |
start()
Perform hardware initialization.
|
void |
takeExposure(double exposureTime)
An action command that opens the shutter for the given exposure time then closes it.
|
getComponentTree, getEnvironment, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, postStart, processUpdate, sendSignal, sendSignalWithTimeLimit, setEnvironment, setName, setNObserverThreads, setObservables, setTickMillis, signal, startTicking, tick, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchange, dropSubmittedChanges, getCheckedValueFromConfiguration, getChildren, getComponentByName, getParent, getParentObject, getSubmittedChanges, isParameterConfigurable, notifyChange, notifyChangeWithoutPreliminaryChecks, printConfigurableParameters, setBulkParameter, submitChange, submitChanges, validateBulkChangepublic void initModule()
initModule in class org.lsst.ccs.framework.Modulepublic void start()
public void shutdownNow()
shutdownNow in interface org.lsst.ccs.framework.ConfigurableshutdownNow in class org.lsst.ccs.framework.Modulepublic final BladeSet getBladeSet(int index)
index - selects the desired BladeSetIndexOutOfBoundsException - if the index is not zero or onepublic double getBladeMovementTime()
public double getBladeSetEndTol()
public double getBladeSetApproachMin()
@Command(type=ACTION,
level=0,
description="Gets the current relative positions of both blade sets")
public BladePositionResult getBladeSetPositions()
BladePosition. May
cause hardware operations.@Command(type=ACTION,
level=1,
description="Moves one of the blade sets")
public void moveToPosition(@Argument(name="index",description="The blade set index (0 or 1)")
int index,
@Argument(name="targetPosition",description="The desired relative position of the blade set")
double targetPosition)
Engineering mode only. Blocks until movement is complete.
index - The index of the blade set to move.targetPosition - The desired relative position after the move.@Command(type=ACTION,
level=0,
description="Performs a timed exposure (open, wait, close)")
public void takeExposure(@Argument(name="exposureTime",description="The duration of the exposure in seconds")
double exposureTime)
exposureTime - the exposure time in seconds@Command(type=ACTION,
level=1,
description="Closes the shutter")
public void closeShutter()
@Command(type=ACTION,
level=1,
description="Opens the shutter")
public void openShutter()
@Command(type=ACTION,
level=1,
description="Performs a shutter motion calibration")
public void calibrate()
Copyright © 2016 LSST. All rights reserved.