public abstract class AsynchronousCcdDriver extends AbstractCcdDriver implements Asynchronous
#startExpose and
#startDarkExpose. The expose(), exposeBias(), and
exposeDark() methods are wrapped around these methods.SynchronousCcdDriver| Modifier and Type | Class and Description |
|---|---|
protected class |
AsynchronousCcdDriver.ExposureThread
An exposure thread start an exposure in its run method by calling the
appropriate driver method.
|
static class |
AsynchronousCcdDriver.Readout
The different stati of the driver.
|
AbstractCcdDriver.Endurance, AbstractCcdDriver.Exposure, AbstractCcdDriver.Shot| Modifier and Type | Field and Description |
|---|---|
private ExitThread |
busy
Indicates that a thread is running.
|
static String |
KEY_MAXTRANSFER
The maximum CCD to board memory transfer time.
|
static String |
KEY_QUERYCYCLE
The exposure time to mimic bias exposures.
|
KEY_AMPLIFIERS, KEY_AREAREADOUT, KEY_COLUMNPOST, KEY_COLUMNPRIOR, KEY_COLUMNREADOUT, KEY_FIXEDREADOUT, KEY_INITSIZE, KEY_MAXTIME, KEY_MINTIME, KEY_ROWPOST, KEY_ROWPRIOR, KEY_ROWREADOUT, KEY_XBINNING, KEY_XCHIPSIZE, KEY_XDETECTORSIZE, KEY_XORIGIN, KEY_XSIZE, KEY_YBINNING, KEY_YCHIPSIZE, KEY_YDETECTORSIZE, KEY_YORIGIN, KEY_YSIZEKEY_DRIVERNAMEKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORFITSEXTENSIONCONFIG, KEY_CLASS| Modifier | Constructor and Description |
|---|---|
protected |
AsynchronousCcdDriver(Map<String,String> info)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
abort()
Interrupts an ongoing exposure.
|
boolean |
ensureReady()
If the current read-out status of the CCD is not IDLE, we query until it
is.
|
int |
expose()
Make an exposure.
|
int |
exposeBias()
Makes a bias exposure.
|
int |
exposeDark()
Makes a dark exposure.
|
protected abstract AsynchronousCcdDriver.Readout |
getReadoutStatus()
Returns the readout-status of the ccd.
|
boolean |
interruptProcess()
Aborts the ongoing exposure.
|
boolean |
interruptProcess(Method any)
Aborts the ongoing exposure.
|
boolean |
isExposing()
We query the CCD if it is exposing.
|
protected abstract boolean |
startBias()
Starts a bias exposure.
|
protected abstract boolean |
startDark()
Starts a dark exposure, i.e.
|
protected abstract boolean |
startScience()
Starts a science exposure, i.e.
|
ExitThread |
threadedBiasExpose()
Returns a thread that exposes the ccd for a science exposure when
started.
|
ExitThread |
threadedDarkExpose()
Returns a thread that exposes the ccd for a science exposure when
started.
|
ExitThread |
threadedExpose()
Returns a thread that exposes the ccd for a science exposure when
started.
|
getDetectorSize, getMaximumExposureTime, getMinimumExposureTime, getReadoutMaximum, getReadoutTime, init, open, openControllercreateDriver, equals, getDriverName, hashCodeaugment, augment, augment, augment, augment, clone, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, initProperties, isNew, parseObject, parseObject, reload, reload, removeProperty, requires, rescanned, setObject, setProperties, setProperty, stringProperties, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitgetBinning, getCcdInfo, getData, getExposureTime, getWindow, isReadingOut, setBinning, setExposureTime, setWindowclose, getDriverName, isOpenpublic static final String KEY_QUERYCYCLE
public static final String KEY_MAXTRANSFER
private ExitThread busy
protected AsynchronousCcdDriver(Map<String,String> info)
AbstractCcdDriver.open().public boolean interruptProcess()
throws InterruptedException
interruptProcess in interface AsynchronousInterruptedExceptionpublic boolean interruptProcess(Method any) throws InterruptedException
interruptProcess in interface AsynchronousInterruptedExceptionprotected abstract boolean abort()
throws IOException
IOExceptionprotected abstract boolean startScience()
throws IOException
#startExpose is built around this method by this class.IOExceptionprotected abstract boolean startDark()
throws IOException
IOExceptionprotected abstract boolean startBias()
throws IOException
startDark()
with a small or zero exposure time.IOExceptionprotected abstract AsynchronousCcdDriver.Readout getReadoutStatus() throws IOException
IOExceptionpublic boolean isExposing()
throws IOException
isExposing in interface CcdDriverIOExceptionpublic boolean ensureReady()
throws IOException
ensureReady in interface CcdDriverIOExceptionpublic int expose()
throws IOException
expose in interface CcdDriverIOException - Any subclass of IOException.startExposepublic int exposeBias()
throws IOException
#KEY_SUPPORTBIAS key set to
false. In the latter case, this method thros an
UnsupportedOperationException.
The data buffer has to be set prior to a call to this method.
exposeBias in interface CcdDriverIOException - Any subclass of IOException.public int exposeDark()
throws IOException
#KEY_SUPPORTDARK key set to false. In the latter case, this
method thros an UnsupportedOperationException.
The data buffer has to be set prior to a call to this method.
exposeDark in interface CcdDriverIOException - Any subclass of IOException.public ExitThread threadedExpose()
threadedExpose in interface CcdDriverexposepublic ExitThread threadedDarkExpose()
threadedDarkExpose in interface CcdDriverexposepublic ExitThread threadedBiasExpose()
threadedBiasExpose in interface CcdDriverexpose