Since XmCCD uses Motif, the libraries and include files must be available.
Imakefile should find them and create a suitable makefile for your system.
If Motif is not included in your Linux system, you will need to install
it first.  See

http://www.lesstif.org/

for Lesstif which is GNU Public Licensed and works well with XmCCD.
  

Untar the file xmccd-#.#.tar.gz .  By default it will create a directory 
xmccd-#.# with the command

  tar -xvzf xmccd-#.#.tar
  

Set your current working directory to xmccd-#.#

  cd xmccd-#.#
  

Note that libsbigudrv.a is in the sbig subdirectory.  Should you update 
the library, copy the new version to this directory. The library name 
should be same, beginning with "lib".

By default a parallel camera is assumed to be connected to port 0x378. 
This is the hardware address for the single parallel port on most
newer Intel-based PC's with one parallel port.  Before compiling,
if a different interface or port is needed, change the lines in xmccd.c 
accordingly.  For the parallel ports, the value for the port variable
is set in a line such as

int port = 0x378;            /* camera connected to this port */

In the next version of xmccd the interface will be user-selectable from
the control panel.


Create a Makefile from Imakefile 

  xmkmf 
  

Build xmccd

  make
  

Once the program has compiled properly, it must be run `SUID' root, since
it requires access to the kernel.  As root user,  issue these commands

chown root.root xmccd
chmod u+s xmccd

to set the permissions.  For "ls -l" you should see something like this

-rwsr-xr-x    1 root     root       281883 Mar 10 01:08 xmccd

Move xmccd to a directory in your search path such as /usr/local/bin 

  mv xmccd /usr/local/bin    
  

xmccd will use ds9 for image display if it is present.  The complete
distribution for SAOds9 is available from

http://hea-www.harvard.edu/RD/ds9/

Install it from their distribution.  If you build it from source, the
result will include the XPA binaries as well.  Should you download the 
binaries instead of building from source, also obtain binaries for
XPA and install them.  XPA provides the communication between ds9
and XmCCD.


The appropriate kernel modules must be loaded before running xmccd.
For a dedicated system you may add module loading to the startup scripts,
but these vary with Linux distributions.  In Slackware, for example,
look for /etc/rc.d/rc.local and use it to install the modules.  You
may also start them from the command line by running as root. Once the
kernel modules are loaded they will remain until the system is rebooted
unless they are unloaded.  Instructions on installing the modules,
and setting the system for use of USB cameras, are in the sbig directory.

As a normal user start the program with the command line 

  xmccd
  
The program will accept the standard Motif options to change geometry
and title.  It is not yet sensitive to an app-defaults file. It will
spawn ds9, and make a connection to the camera if it is available.

ds9 will attempt to display track.fits and image.fits, the default
image and track ccd files.  These files should be present in the
working directory from which you start XmCCD.  If not, they will be
created when you take an exposure.  The files created by default will have
root ownership, but if you have them present already with user ownership,
they will retain it.  This is generally convenient, so it is advisable
to set aside a directory from which you will run xmccd and in which
the image files will be kept.

Once an image is acquired and visible in ds9, you should save it with the
ds9 file menu to whatever name you prefer.  Each subsequent exposure will
overwrite the previous image.fits and track.fits files. Future versions
may provide for archiving image files serially in a backup directory, but
for now this has to be done by the user for each exposure.  The image
fits header contains only minimal file information, and a separate observing
log should be maintained if date, time, exposure, or object coordinates
are needed.

The library routines may disrupt the system clock.  It is advisable to
install and run an ntp daemon or a GPS device to keep the clock 
synchronized with coordinated universal time.  

This version of XmCCD has been tested with ST-7, and ST-8 parallel 
interface cameras, the ST-9XE USB camera, the ethernet adapter, the AO 
accessory,  a CFW-8 filter wheel, and Celestron GPS 11-inch and Meade 
16-inch LX200 telescopes for the guiding interface.  

If you experience problems, please send comments to 
kielkopf@louisville.edu, but note the terms of the LICENSE.

XmCCD will attempt to take tracking exposures during a long image
exposure.  Since it takes a few seconds to download and display a
tracking CCD image, this is useful only for imaging exposures greater
than about 10 seconds.  The tracking image will be updated in the ds9 display
during the longer image exposure, and may be used with the control panel
for manual guiding.

Future versions of XmCCD will automate the guiding process, and implement a
selection for feedback to the telescope drive system or to the SBIG AO-7
adaptive optical device.

Have fun.  Let us know if there are features we could add that would make
this software more useful for you.


John Kielkopf (kielkopf@louisville.edu)
May 23, 2004








  
