stella.ccd
Class JanosDriver

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by io.AbstractDriver
                  extended by ccd.AbstractCcdDriver<T>
                      extended by ccd.AsynchronousCcdDriver<File>
                          extended by stella.ccd.JanosDriver
All Implemented Interfaces:
CcdDriver<File>, Driver, Cloneable, Asynchronous, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying

public class JanosDriver
extends AsynchronousCcdDriver<File>
implements ExitCleaning

The class to work with Janos Bartus's implementation of the Kopenhagen ccd.


Nested Class Summary
static class JanosDriver.Abort
          A test class.
static class JanosDriver.Bias
          A test class.
static class JanosDriver.Flats
          A test class.
static class JanosDriver.Test
          A test class.
 
Nested classes/interfaces inherited from class ccd.AsynchronousCcdDriver
AsynchronousCcdDriver.ExposureThread, AsynchronousCcdDriver.Readout
 
Nested classes/interfaces inherited from class ccd.AbstractCcdDriver
AbstractCcdDriver.Endurance, AbstractCcdDriver.Exposure, AbstractCcdDriver.Shot
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private  SesCamClient ccdclient
          RPC client instance.
static String CCDTEMP
          The keyword for the CCD temperature.
private static boolean DEFAUTOCLEAR
          Default property value.
private static boolean DEFAUTOREADOUT
          Default property value.
private static boolean DEFAUTOSHUTTER
          Default property value.
private static long DEFBIASTIME
          Default property value.
static String DEFDRIVERNAME
          Default name of the fechner ccd driver.
private static int DEFMAXTRANSFER
          Default property value.
private static long DEFQUERYCYCLE
          Default property value.
private static String DEFREADOUTDIRECTION
          Default property value.
private static int DEFRETRYCOUNT
          Default property value.
private static long DEFRETRYTIME
          Default property value.
private static int DEFRPCTIMEOUT
          Default property value.
private static String DEFSERVERNAME
          Default property value.
private static String DEFSERVERPATH
          Default property value.
private static boolean DEFSETREADOUT
          Default property value.
private static boolean DEFSUPPORTDARK
          Default property value.
private static int DEFXCHIPSIZE
          Default property value.
private static int DEFXORIGIN
          Default property value.
private static int DEFYCHIPSIZE
          Default property value.
private static int DEFYORIGIN
          Default property value.
static String KEY_AUTOCLEAR
          Auto clear behaviour.
static String KEY_AUTOREADOUT
          Auto readout behaviour.
static String KEY_AUTOSHUTTER
          Auto shutter behaviour.
static String KEY_BIASTIME
          The exposure time to mimic bias exposures.
static String KEY_QUERYCYCLE
          The time intervall at which the status is queried.
static String KEY_READOUTDIRECTION
          The amplifiers read-out direction as a string .
static String KEY_RETRYCOUNT
          The maximum number of tries to set values in the Copenhagen contr.
static String KEY_RETRYTIME
          The time in ms to wait for retry of auto-shutter etc..
static String KEY_RPCTIMEOUT
          The RPC time-out in millisecond.
static String KEY_SERVERNAME
          FCDN of the host where the guider rpc server is running.
static String KEY_SERVERPATH
          The path where the server should store its fits.
static String KEY_SETREADOUT
          If false, read-out direction is not changed.
static String LN2TEMP
          The keyword for the CCD temperature.
private static int OK
          The return-value for successfule set co0mmands.
static String PRESSURE
          The keyword for the head pressure.
static String REFTEMP
          The keyword for the CCD temperature.
private  File use
          The full path of the data fits file.
 
Fields inherited from class ccd.AsynchronousCcdDriver
KEY_MAXTRANSFER
 
Fields inherited from class ccd.AbstractCcdDriver
KEY_AMPLIFIERS, KEY_AREAREADOUT, KEY_COLUMNPOST, KEY_COLUMNPRIOR, KEY_COLUMNREADOUT, KEY_FIXEDREADOUT, KEY_INITSIZE, KEY_ROWPOST, KEY_ROWPRIOR, KEY_ROWREADOUT, KEY_XBINNING, KEY_XCHIPSIZE, KEY_XORIGIN, KEY_XSIZE, KEY_YBINNING, KEY_YCHIPSIZE, KEY_YORIGIN, KEY_YSIZE
 
Fields inherited from class io.AbstractDriver
KEY_DRIVERNAME
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface ccd.CcdDriver
FITSEXTENSION
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
JanosDriver(Map info)
          Constructor.
 
Method Summary
protected  boolean abort()
          Aborts an ongoing exposure.
 boolean close()
          Close the RPC communication.
 void exit()
          On exit, we close.
protected  boolean getAutoClear()
          Returns true if auto-clean is set.
protected  boolean getAutoReadout()
          Returns the autoreadout setting.
protected  boolean getAutoWindmillShutter()
          Returns the autoshutter setting.
 Dimension getBinning()
          Gets the current active binning on the server side as a object, the width being x-binning, the height the y-binning.
 Class<File> getBufferType()
          Returns the class-type this ccd works on.
private  int getCameraMode()
          Returns the camera mode integer.
 Map getCcdInfo()
          Returns information known to the CCD in a map.
private  int getCCDTemp()
          Returns CCD temperature.
 File getDataBuffer()
          Returns the last data buffer set.
 long getExposureTime()
          Returns the current active exposure time in ms.
protected  long getExposureTimeLeft()
          Returns the remaining exposure time in ms.
private  int getFrameType()
          Returns the image frame type integer.
private  int getLn2Temp()
          Returns the LN2 temperature.
protected  Dimension getMaxPixel()
          Get the max_pixel values for x (columns) and y (rows).
private  boolean getMppMode()
          Returns true if the camera is in mpp mode?
private  int getPressure()
          Returns the camera head pressure value.
private  int getReadoutDirection()
          Returns an integer corresponding to the readout direction.
protected  AsynchronousCcdDriver.Readout getReadoutStatus()
          Returns the camera readout status.
private  int getRefTemp()
          Returns the reference temperature.
private  int getTcla()
          Returns camera pixel clamp time in ms.
private  int getTsam()
          Returns the camera pixel sampling time in ms.
 Rectangle getWindow()
          Returns the current readout window or the size of the entire chip.
 boolean isOpen()
          We consider the driver to be open if the ccdclient is initialized.
protected  boolean openController()
          Initializes the fechner driver.
 boolean reset()
          Makes a format reset on the camera.
protected  boolean setAutoClear(boolean enabled)
          Enable/disable if the camera should autoclear before exposure.
protected  boolean setAutoReadout(boolean enabled)
          Enable/disable if camera should start readout automatically after exposure.
protected  boolean setAutoWindmillShutter(boolean enabled)
          Enable/disable automatic shutter control.
 boolean setBinning(int xbin, int ybin)
          Sets a new binning factor on the server side.
 boolean setDataBuffer(File usename)
          Sets a data buffer where the CCD-data should be stored in.
 boolean setExposureTime(long ms)
          Sets the exposure time in milliseconds.
private  boolean setReadoutDirection(String dir)
          Sets the readout direction.
private  boolean setTcla(int time_ms)
          Sets camera pixel clamp time in ms.
private  boolean setTsam(int time_ms)
          Sets the camera pixel sampling time in ms.
 boolean setWindow(Rectangle window)
          Sets a new readout window.
protected  boolean startBias()
          Starts a bias exposure, which is a dark with small integration time.
protected  boolean startDark()
          Start a dark exposure, exposure time was set before.
protected  boolean startScience()
          Start an exposure, exposure time was set before.
private  boolean toggleMppMode()
          Toggles the camera mpp mode.
private  boolean writeFits(String fitspath)
          Write the FITS file in the specified full path.
 
Methods inherited from class ccd.AsynchronousCcdDriver
ensureReady, expose, exposeBias, exposeDark, interruptProcess, interruptProcess, isExposing, threadedBiasExpose, threadedDarkExpose, threadedExpose
 
Methods inherited from class ccd.AbstractCcdDriver
getChipSize, getReadoutTime, init, open
 
Methods inherited from class io.AbstractDriver
createDriver, equals, getDriverName, hashCode
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
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, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface io.Driver
getDriverName
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, 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, stringProperties
 

Field Detail

PRESSURE

public static final String PRESSURE
The keyword for the head pressure.

See Also:
Constant Field Values

CCDTEMP

public static final String CCDTEMP
The keyword for the CCD temperature.

See Also:
Constant Field Values

LN2TEMP

public static final String LN2TEMP
The keyword for the CCD temperature.

See Also:
Constant Field Values

REFTEMP

public static final String REFTEMP
The keyword for the CCD temperature.

See Also:
Constant Field Values

KEY_SERVERNAME

public static final String KEY_SERVERNAME
FCDN of the host where the guider rpc server is running.

See Also:
Constant Field Values

KEY_SERVERPATH

public static final String KEY_SERVERPATH
The path where the server should store its fits.

See Also:
Constant Field Values

KEY_AUTOCLEAR

public static final String KEY_AUTOCLEAR
Auto clear behaviour.

See Also:
Constant Field Values

KEY_AUTOREADOUT

public static final String KEY_AUTOREADOUT
Auto readout behaviour.

See Also:
Constant Field Values

KEY_AUTOSHUTTER

public static final String KEY_AUTOSHUTTER
Auto shutter behaviour.

See Also:
Constant Field Values

KEY_SETREADOUT

public static final String KEY_SETREADOUT
If false, read-out direction is not changed.

See Also:
Constant Field Values

KEY_READOUTDIRECTION

public static final String KEY_READOUTDIRECTION
The amplifiers read-out direction as a string .

See Also:
Constant Field Values

KEY_QUERYCYCLE

public static final String KEY_QUERYCYCLE
The time intervall at which the status is queried.

See Also:
Constant Field Values

KEY_RETRYCOUNT

public static final String KEY_RETRYCOUNT
The maximum number of tries to set values in the Copenhagen contr.

See Also:
Constant Field Values

KEY_RETRYTIME

public static final String KEY_RETRYTIME
The time in ms to wait for retry of auto-shutter etc..

See Also:
Constant Field Values

KEY_RPCTIMEOUT

public static final String KEY_RPCTIMEOUT
The RPC time-out in millisecond.

See Also:
Constant Field Values

KEY_BIASTIME

public static final String KEY_BIASTIME
The exposure time to mimic bias exposures.

See Also:
Constant Field Values

OK

private static final int OK
The return-value for successfule set co0mmands.

See Also:
Constant Field Values

DEFDRIVERNAME

public static final String DEFDRIVERNAME
Default name of the fechner ccd driver.

See Also:
Constant Field Values

DEFSETREADOUT

private static final boolean DEFSETREADOUT
Default property value.

See Also:
Constant Field Values

DEFREADOUTDIRECTION

private static final String DEFREADOUTDIRECTION
Default property value.

See Also:
Constant Field Values

DEFAUTOCLEAR

private static final boolean DEFAUTOCLEAR
Default property value.

See Also:
Constant Field Values

DEFAUTOREADOUT

private static final boolean DEFAUTOREADOUT
Default property value.

See Also:
Constant Field Values

DEFAUTOSHUTTER

private static final boolean DEFAUTOSHUTTER
Default property value.

See Also:
Constant Field Values

DEFXORIGIN

private static final int DEFXORIGIN
Default property value.

See Also:
Constant Field Values

DEFYORIGIN

private static final int DEFYORIGIN
Default property value.

See Also:
Constant Field Values

DEFXCHIPSIZE

private static final int DEFXCHIPSIZE
Default property value.

See Also:
Constant Field Values

DEFYCHIPSIZE

private static final int DEFYCHIPSIZE
Default property value.

See Also:
Constant Field Values

DEFSERVERNAME

private static final String DEFSERVERNAME
Default property value.

See Also:
Constant Field Values

DEFSERVERPATH

private static final String DEFSERVERPATH
Default property value.

See Also:
Constant Field Values

DEFSUPPORTDARK

private static final boolean DEFSUPPORTDARK
Default property value.

See Also:
Constant Field Values

DEFQUERYCYCLE

private static final long DEFQUERYCYCLE
Default property value.

See Also:
Constant Field Values

DEFMAXTRANSFER

private static final int DEFMAXTRANSFER
Default property value.

See Also:
Constant Field Values

DEFRETRYCOUNT

private static final int DEFRETRYCOUNT
Default property value.

See Also:
Constant Field Values

DEFRETRYTIME

private static final long DEFRETRYTIME
Default property value.

See Also:
Constant Field Values

DEFRPCTIMEOUT

private static final int DEFRPCTIMEOUT
Default property value.

See Also:
Constant Field Values

DEFBIASTIME

private static final long DEFBIASTIME
Default property value.

See Also:
Constant Field Values

ccdclient

private SesCamClient ccdclient
RPC client instance.


use

private File use
The full path of the data fits file.

Constructor Detail

JanosDriver

public JanosDriver(Map info)
Constructor. Does not open the connection, this is done in AbstractCcdDriver.init().

Method Detail

openController

protected boolean openController()
                          throws IOException
Initializes the fechner driver. Tries to connect to the server and sets default values for binning, maximum size of the chip and read-out window. Returns true if initialization was successful.

Specified by:
openController in class AbstractCcdDriver<File>
Throws:
IOException - If controller connection fails.

isOpen

public boolean isOpen()
We consider the driver to be open if the ccdclient is initialized.

Specified by:
isOpen in interface Driver
Returns:
True, if a previous initialization was successful

close

public boolean close()
              throws IOException
Close the RPC communication.

Specified by:
close in interface Driver
Returns:
True if clean-up was successful.
Throws:
IOException

exit

public void exit()
On exit, we close.

Specified by:
exit in interface ExitCleaning

setBinning

public boolean setBinning(int xbin,
                          int ybin)
                   throws IOException
Sets a new binning factor on the server side.

Specified by:
setBinning in interface CcdDriver<File>
Parameters:
xbin - New binning factor in x.
ybin - New binning factor in y.
Returns:
True if successful.
Throws:
IOException - Any subclass of IOException

getBinning

public Dimension getBinning()
                     throws IOException
Gets the current active binning on the server side as a object, the width being x-binning, the height the y-binning.

Specified by:
getBinning in interface CcdDriver<File>
Returns:
x-binning in width, y-binning in height.
Throws:
IOException - Any subclass of IOException.

setWindow

public boolean setWindow(Rectangle window)
                  throws IOException
Sets a new readout window. Any subsequent call to AsynchronousCcdDriver.expose(), AsynchronousCcdDriver.exposeBias() or AsynchronousCcdDriver.exposeDark() will be affected. If binning is active, it is ignored in the sense that this method always affects physical pixels. On CCD that do not support windowing mode, an UnsupportedOperationException may be thrown.

Specified by:
setWindow in interface CcdDriver<File>
Parameters:
window - New readout window in true pixels.
Returns:
True if successful.
Throws:
IOException - Any subclass of IOException.
UnsupportedOperationException - If windowing is not supported.

getWindow

public Rectangle getWindow()
                    throws IOException
Returns the current readout window or the size of the entire chip.

Specified by:
getWindow in interface CcdDriver<File>
Returns:
The geometry of the current readout window.
Throws:
IOException - Any subclass of IOException.

setExposureTime

public boolean setExposureTime(long ms)
                        throws IOException
Sets the exposure time in milliseconds.

Specified by:
setExposureTime in interface CcdDriver<File>
Parameters:
ms - The exposure time in ms.
Returns:
True if successful.
Throws:
IOException - Any subclass of IOException.

getExposureTime

public long getExposureTime()
                     throws IOException
Returns the current active exposure time in ms.

Specified by:
getExposureTime in interface CcdDriver<File>
Returns:
The exposure time in ms.
Throws:
IOException - Any subclass of IOException.

setDataBuffer

public boolean setDataBuffer(File usename)
Sets a data buffer where the CCD-data should be stored in. This method takes a general object as an argument, which might be a file (then, data is stored in a file of the given name), or an array of primitives, where the data is then pushed into. Note that is highly implementation depending, which type of arguemnts are supported. In case this method is called with an argument that is not supported, a runtime exception should be thrown.

Specified by:
setDataBuffer in interface CcdDriver<File>
Parameters:
file - A fully specified path, either string, file, or url
Returns:
True if successful.
Throws:
IOException - Any subclass of IOException.
RuntimeException - If the buffer is not applicable for this driver.

getDataBuffer

public File getDataBuffer()
                   throws IOException
Returns the last data buffer set. This is a File. Can only be called after an exposure finished.

Specified by:
getDataBuffer in interface CcdDriver<File>
Throws:
IOException - Any subclass of IOException.

getBufferType

public Class<File> getBufferType()
Description copied from interface: CcdDriver
Returns the class-type this ccd works on. Possible values are Fits.class, File.class, String.class etc.

Specified by:
getBufferType in interface CcdDriver<File>

getCcdInfo

public Map getCcdInfo()
               throws IOException
Returns information known to the CCD in a map. This mapping can readily be used in FITS header info. This method returns temperatures and pressures.

Specified by:
getCcdInfo in interface CcdDriver<File>
Throws:
IOException

reset

public boolean reset()
              throws IOException
Makes a format reset on the camera.

Returns:
1 on success.
Throws:
IOException

abort

protected boolean abort()
                 throws IOException
Aborts an ongoing exposure.

Specified by:
abort in class AsynchronousCcdDriver<File>
Returns:
1 on success.
Throws:
IOException

startScience

protected boolean startScience()
                        throws IOException
Start an exposure, exposure time was set before.

Specified by:
startScience in class AsynchronousCcdDriver<File>
Throws:
IOException

startDark

protected boolean startDark()
                     throws IOException
Start a dark exposure, exposure time was set before.

Specified by:
startDark in class AsynchronousCcdDriver<File>
Throws:
IOException

startBias

protected boolean startBias()
                     throws IOException
Starts a bias exposure, which is a dark with small integration time.

Specified by:
startBias in class AsynchronousCcdDriver<File>
Throws:
IOException

getMaxPixel

protected Dimension getMaxPixel()
                         throws IOException
Get the max_pixel values for x (columns) and y (rows).

Returns:
A dimension object, where the size in x is the width.
Throws:
IOException

setAutoClear

protected boolean setAutoClear(boolean enabled)
                        throws IOException
Enable/disable if the camera should autoclear before exposure.

Throws:
IOException

getAutoClear

protected boolean getAutoClear()
                        throws IOException
Returns true if auto-clean is set.

Throws:
IOException

setAutoReadout

protected boolean setAutoReadout(boolean enabled)
                          throws IOException
Enable/disable if camera should start readout automatically after exposure.

Throws:
IOException

getAutoReadout

protected boolean getAutoReadout()
                          throws IOException
Returns the autoreadout setting.

Throws:
IOException

setAutoWindmillShutter

protected boolean setAutoWindmillShutter(boolean enabled)
                                  throws IOException
Enable/disable automatic shutter control.

Throws:
IOException

getAutoWindmillShutter

protected boolean getAutoWindmillShutter()
                                  throws IOException
Returns the autoshutter setting.

Throws:
IOException

getReadoutStatus

protected AsynchronousCcdDriver.Readout getReadoutStatus()
                                                  throws IOException
Returns the camera readout status. After sending the expose (or dark) commands this method should be used to check if the camera is still integrating (ie. if the method returns 2).

Specified by:
getReadoutStatus in class AsynchronousCcdDriver<File>
Returns:
the readout-status
Throws:
IOException

getExposureTimeLeft

protected long getExposureTimeLeft()
                            throws IOException
Returns the remaining exposure time in ms.

Returns:
exposure time in milliseconds.
Throws:
IOException

toggleMppMode

private boolean toggleMppMode()
                       throws IOException
Toggles the camera mpp mode.

Returns:
True, if new mode is mpp?
Throws:
IOException

getMppMode

private boolean getMppMode()
                    throws IOException
Returns true if the camera is in mpp mode?

Throws:
IOException

setTsam

private boolean setTsam(int time_ms)
                 throws IOException
Sets the camera pixel sampling time in ms.

Parameters:
time_ms - time in milliseconds.
Returns:
True on success.
Throws:
IOException

getTsam

private int getTsam()
             throws IOException
Returns the camera pixel sampling time in ms.

Returns:
sampling time in milliseconds.
Throws:
IOException

setTcla

private boolean setTcla(int time_ms)
                 throws IOException
Sets camera pixel clamp time in ms.

Parameters:
time_ms - time in milliseconds.
Returns:
True on success.
Throws:
IOException

getTcla

private int getTcla()
             throws IOException
Returns camera pixel clamp time in ms.

Returns:
pixel clamp time in milliseconds.
Throws:
IOException

getCameraMode

private int getCameraMode()
                   throws IOException
Returns the camera mode integer. Do not use, unreliable results.

Returns:
camera mode integer:
Throws:
IOException

getFrameType

private int getFrameType()
                  throws IOException
Returns the image frame type integer.

Returns:
frame type integer:
Throws:
IOException

getPressure

private int getPressure()
                 throws IOException
Returns the camera head pressure value. To convert this value in mbar, use p[mabr]=exp(value/1678-26.11)

Returns:
pressure as int.
Throws:
IOException

getCCDTemp

private int getCCDTemp()
                throws IOException
Returns CCD temperature.

Returns:
tempereture in 1/100th C.
Throws:
IOException

getLn2Temp

private int getLn2Temp()
                throws IOException
Returns the LN2 temperature.

Returns:
tempereture in 1/100th C.
Throws:
IOException

getRefTemp

private int getRefTemp()
                throws IOException
Returns the reference temperature.

Returns:
tempereture in 1/100th C.
Throws:
IOException

setReadoutDirection

private boolean setReadoutDirection(String dir)
                             throws IOException
Sets the readout direction. Be carefull using it (or setting other than A) because it could cause amplifier malfunctioning. Especially setting combined (AB) readout dirs. In case of problems CCD controller switch out/on would probably help.

Parameters:
dir - readout direction string ("A", "B" or "AB").
Returns:
true on success, false if nonexisting readout dir was specified.
Throws:
IOException

getReadoutDirection

private int getReadoutDirection()
                         throws IOException
Returns an integer corresponding to the readout direction.

Returns:
readout dir identifier integer.
Throws:
IOException

writeFits

private boolean writeFits(String fitspath)
                   throws IOException
Write the FITS file in the specified full path. This method is a bit different from that of defined in native SESCamera class. Instead of simply writing the FITS file of the data stored in memory its task is also to read out the data from the CCD, to transfer it to the PCBoard and to transfer it on to the computer memory. Then the actual FITS writing takes place. Because of its more complex task takes this method longer time to accomplish. The possible return value is extended with -2, which corresponds to the case when error occured during the data transfer from the PCBoard to the computer memory.

Parameters:
fitspath - string of the full path of the FITS file.
Returns:
True on success.
Throws:
IOException