
public class ShutterMain
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.
| Constructor and Description |
|---|
ShutterMain(String name)
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(ShutterSide side)
Gets one of the two BladeSet objects.
|
BladePositionResult |
getBladeSetPositions()
Gets the current relative position of both blade sets.
|
double |
getMinApproach()
Gets the current minimum approach distance for the blade sets (absolute position).
|
double |
getPosTolerance(ShutterSide side)
Gets the tolerance used when comparing blade set position against a known position.
|
void |
initModule()
Requires that both blade sets controllers are present and that all required configuration
is present and checked.
|
void |
moveToPosition(ShutterSide side,
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 ShutterMain(String name)
name - the component name (module name)bladeSets - a map of BladeSet objects, one per shutter side.public 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(ShutterSide side)
side - selects the desired BladeSetpublic double getBladeMovementTime()
public double getPosTolerance(ShutterSide side)
public double getMinApproach()
@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="side",description="Selects the blade set (MINUSX or PLUSX)") ShutterSide side, @Argument(name="targetPosition",description="The desired relative position of the blade set") double targetPosition)
Engineering mode only. Blocks until movement is complete.
side - The side 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.