/* -------------------------------------------------------------------------- */
/* -               Astronomical CCD Camera Control                          - */
/* -                         Header File                                    - */
/* -------------------------------------------------------------------------- */
/*                                                                            */
/* Copyright (c) 2004-2012 John Kielkopf                                      */
/* kielkopf@louisville.edu                                                    */
/*                                                                            */
/* This file is part of XmCCD.                                                */
/*                                                                            */
/*                                                                            */
/* XmCCD is free software: you can redistribute it and/or modify              */
/* it under the terms of the GNU General Public License as published by       */
/* the Free Software Foundation, either version 3 of the License, or          */
/* (at your option) any later version.                                        */
/*                                                                            */
/* XmCCD is distributed in the hope that it will be useful,                   */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of             */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              */
/* GNU General Public License for more details.                               */
/*                                                                            */
/*                                                                            */
/* Date: June 9, 2012                                                         */
/* Version: 4.0                                                               */
                                                                         
/* XmCCD user inteface parameters are defined here */
/* The camera header defines hardware parameters */

/* Useful values */

#ifndef FALSE
#define FALSE 0
#endif

#ifndef TRUE
#define TRUE 1
#endif

/* Configuration file */

#define CONFIGFILE "/usr/local/observatory/prefs/prefs.ccd"
#define MAXPATHLEN  100

/* Filter wheel support */

#define NO_FILTER_WHEEL  0
#define EXT_FILTER_WHEEL 1
#define INT_FILTER_WHEEL 2


/* Set default filter wheel here */
/* These may be changed in the configuration file */

#define FILTER_START  3
#define FILTER_MAX    10
#define FILTER_WHEEL  2


/* Map sky to +x=1, -x=2, +y=4, -y=8 relays */

#define EAST      1 
#define WEST      2
#define NORTH     4
#define SOUTH     8 
 
/* Diagnostic flag */
/* Set to 0 to disable, higher values to turn on more reporting */

#define DIAGNOSTICS     0            

/* Menu identifiers */

#define OK                   1
#define CANCEL               2
#define FILESCRIPT           3
#define FILECONFIG           4
#define FILEEXIT             5

#define SETIMAGEEXPOSURE     6  
#define SETIMAGENUMBER       7 
#define SETFRAMECOUNTMULTI   8 
#define SETREGION            9  
#define SETCCDTEMPERATURE   10
#define FITSNAME            11
#define FITSTARGET          12
#define FITSTELESCOPE       13
#define FITSINSTRUMENT      14


#define MODESINGLE          15
#define MODEFOCUS           16
#define MODEMULTI           17

#define TYPELIGHT           18
#define TYPEDARK            19
#define TYPEBIAS            20
#define TYPEFLAT            21  

#define PROCSCRIPTING       23

/* Filter radio toggle flags */

#define FILTER1   101
#define FILTER2   102
#define FILTER3   103
#define FILTER4   104
#define FILTER5   105
#define FILTER6   106
#define FILTER7   107
#define FILTER8   108
#define FILTER9   109
#define FILTER10  110


/* Cooling dialog flags */

#define COOL_ON   1
#define COOL_OFF  0


/* Region dialog flags */

#define REGION_ON   1
#define REGION_OFF  0


/* Acquisition modes */

#define FRAMECOUNTMULTI  100    /* Maximum number of frames in multi mode */

#define SINGLE       0          /* One exposure only                      */ 
#define FOCUS        1          /* Repeated exposures with no storage     */
#define MULTI        2          /* Repeated exposures with storage        */


/* User interface polling */

#define	POLLMS      1000        /* Poll period, ms */


/* Startup parameters */

#define	MAXEXP   3600.          /* Maximum image ccd exposure            */
#define	MINEXP   0.001          /* Minimum image ccd exposure            */
#define	DEFEXP   1.0            /* Default image exposure (seconds)      */
#define RELAYONTIME 1.0         /* Guide relay time in seconds           */


