public final class SesMaster extends MagellanMaster implements SesControlling, Reloadable
CcdDriver which itself is based on a C++ rpc call to thomas fechner's
controller. This controller allows no notification when readout starts (or,
when the exposure has finished). To circumvent this but still have some
handle of control, we send an acknowledge command after the exposure time
plus the value stated in #KEY_EXPOSURESAFETY which should be set
rather conservatively, i.e. to a few seconds at least.
The following commands are supported by the CCD, additionally to the four
default commands AbortCcd, ResetCcd, ParkCcd, and
StatusCcd.
GeometryCcd: Defines the active area on the CCD. Is valid for
all consecuetive CCD-readouts until the geometry is changed again with
a new GeometryCcd command.BiasCcd: Takes a bias frame. If a fits-filename is provided, the
data is writtn to the fits file, otherwise the data is deleted.DarkCcd: Takes a dark exposure. The exposure time is specified on
the second command line. If a fits-filename is provided, the data is writtn
to the fits file, otherwise the data is deleted.ScientificCcd: Takes a scientific exposure. The exposure time is
specified on the second command line. If a fits-filename is provided, the
data is writtn to the fits file, otherwise the data is deleted.ExposureAbortCcd: Aborts current read-out. If a fits-filename is
provided, the data collected so far is writtn to the fits file, otherwise the
data is deleted.FitsCcd: Adds parameters to the fits header information. As the
parameter value changes, so may the data writtn to the header.SesControlling interface.CameraMaster.CardInfo, CameraMaster.WhenGenericMaster.StandaloneReceiverTorso.CommandHandlerPropertyResources.Load, PropertyResources.URLResource| Modifier and Type | Field and Description |
|---|---|
private static boolean |
DEFALWAYSZERO
Default shutter zero positioning after science exposures.
|
private static File |
DEFARCHIVEPATH
The default path where the archive host stores fits files.
|
private static String |
DEFBINDNAME
The default binding name for this master.
|
private static boolean |
DEFCAMERABIAS
Default ccd driver does support bias.
|
private static boolean |
DEFCAMERADARK
Default ccd driver does support dark.
|
private static boolean |
DEFDELETEFITS
Default operation of the shutter by the master.
|
private static long |
DEFENABLEWATCH
If set to any time other than zero, this is the watch intervall.
|
private static String |
DEFEXPOSURETRIGGER
The default exposure-trigger name
|
private static String |
DEFFITSKEYS
Default fits keys and their parameter and remark mapping.
|
private static String |
DEFFIXFITSKEYS
Default fixed fits keys.
|
private static boolean |
DEFMANUALSHUTTER
Default operation of the shutter by the master.
|
private static File |
DEFMASTERPATH
Default path where the CCDMaster host can access the ccd host file.
|
private static long |
DEFMINEXPOSURE
The default minimal exposure time
|
private static long |
DEFREADOUTTIME
The default multiplier for read-out time.
|
private static String |
DEFSHUTTER
The name of the shutter driver.
|
private static String |
DEFTRANSFERTRIGGER
The default exposure-trigger name
|
private static String |
FLATTYPE
The imagetype value for manual flats.
|
static String |
KEY_SHUTTER
The name of the SES-shutter driver, used only for initializiation.
|
private static String |
THARTYPE
The imagetype value for manual thar.
|
private Shutter |
windmill |
KEY_AUTOCLEARTIME, KEY_SELECTMODETIMEcamera, COMMENTSEPARATOR, DATENUMBERSEPARATOR, DEFSCIENCEFITS, fixfits, IMAGETYPE, KEY_ABORTEXPOSURETIME, KEY_ABORTFITS, KEY_ALWAYSZERO, KEY_ARCHIVEPATH, KEY_BIASFITS, KEY_BIASTIME, KEY_CAMERA, KEY_CAMERABIAS, KEY_CAMERADARK, KEY_CCDFITSKEYS, KEY_CCDWATCHMAXIMUM, KEY_CCDWATCHMINIMUM, KEY_DARKFITS, KEY_DATEFORMAT, KEY_DELETEFITS, KEY_ENABLEWATCH, KEY_EXPOSEBUFFER, KEY_EXPOSURETRIGGER, KEY_FITSKEYS, KEY_FITSTIME, KEY_FIXFITSKEYS, KEY_GEOMETRYTIME, KEY_LOGWATCH, KEY_MANUALSHUTTER, KEY_MASTERPATH, KEY_MAXEXPOSURE, KEY_MAXQUERIES, KEY_MINEXPOSURE, KEY_QUERYCYCLE, KEY_READOUTTIME, KEY_SAFETYTIME, KEY_SCIENCEFITS, KEY_TRANSFERTRIGGER, KEY_WATCHMAXVALUES, KEY_WATCHMINVALUES, KEY_WRITETIME, STRING, TYPEREMDEFUNIQUE, KEY_ABORTTIME, KEY_AUTOMATIC, KEY_COMMTIME, KEY_COMMUNICATOR, KEY_DRIVERS, KEY_HISTORYDB, KEY_INITTIME, KEY_NODB, KEY_OBSERVEDB, KEY_OVERRULEAUTO, KEY_PARKTIME, KEY_PERMISSIONDB, KEY_PROPOSALDB, KEY_QUITTIME, KEY_REAUTO, KEY_RESETTIME, KEY_SET, KEY_SHUTDOWNDELAY, KEY_STATUSTIME, KEY_TARGETDB, KEY_TASKDB, KEY_UNIQUE, KEY_USERDB, lastabort, lastinit, lastpark, lastreset, telescopeKEY_BIND, KEY_BINDNAME, KEY_COMMANDCASTER, KEY_ERRORCOOLKEY_ALIVE, KEY_EXPORTPORT, KEY_INIT, KEY_LISTENERNAME, KEY_RETRY, KEY_RETRYSLEEPKEY_NOINITONCREATE, POSTFIX_ALPHABET, POSTFIX_BYTES, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_MODTIME, POSTFIX_URLKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORNAMING_EXTENSIONNAMING_EXTENSIONKEY_INITDEPTHKEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOMECONFIG, KEY_CLASS| Constructor and Description |
|---|
SesMaster(Map<String,String> prop)
Constructs a new CCD master.
|
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
closeShutter()
For cameras with a 'manual' shutter, i.e., a shutter that is not
auto-operated by the CCD controller.
|
protected int |
getAcknowledgeNumber(CommandEvent cmd)
Returns the number of acknowledge events produced for each command.
|
protected long |
getCompletionTime(CommandEvent cmd,
int acknr)
Returns the individual completion times.
|
boolean |
getFlatExposure(String fits,
double time)
Takes a flat exposure.
|
boolean |
getThArExposure(String fits,
double time)
Takes a ThAr exposure.
|
protected void |
init2()
The main initialization section.
|
protected boolean |
initShutter()
If no explicit shutter action is required, simply return true here.
|
static void |
main(String[] arg)
Starts the ccd master with the given properties or directly accesses a
running CCD master.
|
protected boolean |
openShutter()
For cameras with a 'manual' shutter, i.e., a shutter that is not
auto-operated by the CCD controller.
|
protected String |
statusMaster(CommandEvent cmd)
Returns a status information of the camera as a string.
|
doMode, processCommand, selectReadoutMode, setAutoClearabortExposure, abortMaster, accepts, addFitsKey, exit, formatFitsName, getBiasExposure, getCcdCards, getDarkExposure, getFixedCards, getParameterCards, getScienceExposure, initializeMaster, initStep, parkMaster, quit, quitMaster, readout, removeAllFitsKeys, removeFitsKey, rescanned, reset, resetMaster, setFullFrame, setImageGeometry, takeExposure, writeFitsaddErrorListener, addRmiErrorListener, automatic, createCommunicator, createCommunicator, external, formatWithGlobals, getAllDrivers, getDriver, getHistorySql, getObserveSql, getOffsetCaster, getParameterByKey, getParameterByName, getParameterCluster, getParameterValueByKey, getParameterValueByName, getPermissionSql, getProposalSql, getStatus, getTargetSql, getTaskSql, getUnique, getUniqueId, getUserSql, initialize, isAlive, isAuto, isManual, isPassive, manual, park, reload, resetAlarm, resetAllDrivers, restartAllDrivers, revert, rmiAddParameter, rmiCommand, rmiGet, rmiGetAllParameterNames, rmiRemoveParameter, rmiSet, setLastError, setOff, setParameterValueByKey, setParameterValueByName, setPassive, shutdown, zeroAllOmcaddRmiAcknowledgeListener, addRmiDoneListener, bindDefault, containsRemoteProperty, deregisterAtCaster, equals, getLastError, getRemoteProperties, getRemoteProperty, hashCode, notifyAcknowledgeListener, notifyDoneListener, registerAtCaster, removeRmiAcknowledgeListener, removeRmiDoneListener, sendAllPrematureDone, sendPrematureDone, setRemoteProperty, toString, unbindDefaultbindToRegistry, getBindName, isValid, notifyErrorListener, removeErrorListener, removeRmiErrorListener, sendError, sendError, sendError, sendStatus, sendStatus, sendStatus, unbindFromRegistryallBound, blockBinding, blockBinding, disconnect, getIP, getListenerName, isConnected, listenerName, releaseBinding, releaseBinding, startBinding, startBindingclone, createFrom, createFrom, createFrom, createInstance, getApplet, getAsResources, getLocate, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, hasLocalURLs, initProperties, keyCreate, keyCreate, reload, setAppletaugment, augment, augment, augment, augment, 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, isNew, parseObject, parseObject, removeProperty, requires, setObject, setProperties, setProperty, stringPropertiesfinalize, getClass, notify, notifyAll, wait, wait, waitabortExposure, addFitsKey, getBiasExposure, getDarkExposure, getScienceExposure, removeAllFitsKeys, removeFitsKey, setFullFrame, setImageGeometryautomatic, external, getStatus, initialize, manual, park, quit, reset, setPassivereload, rescannedbindToRegistry, isValid, unbindFromRegistryremoveErrorListenergetListenerNamedisconnect, isConnecteddefaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringPropertiespublic static final String KEY_SHUTTER
private static final String DEFSHUTTER
private static final long DEFMINEXPOSURE
private static final String DEFEXPOSURETRIGGER
private static final String DEFTRANSFERTRIGGER
private static final String DEFFITSKEYS
private static final String DEFFIXFITSKEYS
private static final long DEFREADOUTTIME
private static final boolean DEFCAMERABIAS
private static final boolean DEFCAMERADARK
private static final File DEFMASTERPATH
private static final File DEFARCHIVEPATH
private static final String DEFBINDNAME
private static final boolean DEFALWAYSZERO
private static final boolean DEFMANUALSHUTTER
private static final boolean DEFDELETEFITS
private static final long DEFENABLEWATCH
private static final String FLATTYPE
private static final String THARTYPE
private Shutter windmill
public SesMaster(Map<String,String> prop) throws RemoteException
CameraMaster.KEY_CAMERA key is missing or the camera driver could not be
contructed out of the given property, construction fails with an
exception, see #initSesMaster. The keys GenericMaster.KEY_SET,
CameraMaster.KEY_FITSKEYS, #KEY_FITSPARAMETERS, and
#KEY_FITSCOMMENTS are optional keys. RemoteException#initprotected void init2()
GenericMaster.KEY_SET is present, a parameter cluster is constructed and the
camera driver is passed to the set. Additionally, the default fits header
table is constructed and loaded with values pointed to by the appropriate
keys. Whenever the construction of the camera driver is successful, the
fits tables are at least constructed, though maybe empty.init2 in class CameraMasterIllegalArgumentException - If the camera was not constructedpublic boolean getFlatExposure(String fits, double time) throws RemoteException
getFlatExposure in interface SesControllingtime - The exposure time in seconds.RemoteExceptionpublic boolean getThArExposure(String fits, double time) throws RemoteException
getThArExposure in interface SesControllingtime - The exposure time in seconds.RemoteExceptionprotected int getAcknowledgeNumber(CommandEvent cmd)
getAcknowledgeNumber in class MagellanMasterprotected long getCompletionTime(CommandEvent cmd, int acknr)
getCompletionTime in class MagellanMastercmd - The command to process.acknr - The number of the acknowledge that will be sent back.protected String statusMaster(CommandEvent cmd)
MainCamera#toString method.statusMaster in class MagellanMastercmd - Non-null in automatic mode.protected boolean initShutter()
CameraMasterinitShutter in class CameraMasterprotected boolean closeShutter()
CameraMastercloseShutter in class CameraMasterprotected boolean openShutter()
CameraMasteropenShutter in class CameraMasterpublic static void main(String[] arg) throws RemoteException
RemoteException