00001 /*****************************************************************************
00002 * E.S.O. - VLT Project
00003 *
00004 * "@(#) $Id: ccdcon.h,v 3.22 2003/10/09 12:32:10 vltsccm Exp $"
00005 *
00006 * who when what
00007 * -------------- -------- ---------------------------------------------------
00008 * N.Fiebig 08/06/94 first implementation
00009 * N.Fiebig 22/03/95 global data address removed
00010 * C.Cumani 10/05/95 shAvail added in ccdconGLOBALS structure
00011 * C.Cumani 27/06/95 ccdconSETUP.expType: vltUINT8 -> vltINT32
00012 * ccdconSETUP.repeatDef: vltUINT16 -> vltINT32
00013 * C.Cumani 28/06/95 expStatus: vltUINT32 -> vltINT32
00014 * ccdconIMAGELIST.xSize: vltUINT16 -> vltINT32
00015 * ccdconIMAGELIST.ySize: vltUINT16 -> vltINT32
00016 * ccdconIMAGELIST.expId: vltBYTES32 -> vltINT32
00017 * ccdconIMAGELIST.expRepeat: vltUINT16 -> vltINT32
00018 * ccdconIMAGELIST.acquisitionType: vltUINT16 ->
00019 * -> vltINT32
00020 * ccdconIMAGELIST.storageType: vltUINT16 -> vltINT32
00021 * ccdconWINDOW.enabled: vltUINT16 -> vltLOGICAL
00022 * ccdconWINDOW.xBinning: vltUINT16 -> vltINT32
00023 * ccdconWINDOW.yBinning: vltUINT16 -> vltINT32
00024 * ccdconWINDOW.xFirst: vltUINT16 -> vltINT32
00025 * ccdconWINDOW.xLast: vltUINT16 -> vltINT32
00026 * ccdconWINDOW.yFirst: vltUINT16 -> vltINT32
00027 * ccdconWINDOW.yLast: vltUINT16 -> vltINT32
00028 * C.Cumani 12/07/95 ccdconGLOBALS.expId added
00029 * ccdconGLOBALS.imageId: vltUINT32 -> vltINT32
00030 * C.Cumani 14/07/95 database exposure points and setup attributes added
00031 * ccdconGLOBALS: attrTables element added
00032 * C.Cumani 17/07/95 - fileNameUnComp,fileNameComp,readPixelN,mpp,
00033 * clockIndex,gainIndex elements added in ccdconSETUP
00034 * structure
00035 * - window element in ccdconSETUP structure changed
00036 * from scalar into vector
00037 * - comment in ccdconGLOBALS added, for next release
00038 * - ccdconSetIndexAttr() func. prot. added
00039 * - ccdconSetIndexFromId() func. prot. added
00040 * - ccdconSetExpValues() func. prot. added
00041 * C.Cumani 18/07/95 - ccdconFinishTimes() func. prototype modified
00042 * - ccdconReadSetup() func. prototype modified
00043 * - ccdconSendCmdAll() func. prototype modified
00044 * - ccdconUpdateTimes() func. prototype modified
00045 * - ccdconMonitorIntegration() func. prot. modified
00046 * C.Cumani 21/07/95 - ccdconWINDOW.xLast -> ccdconWINDOW.xDim
00047 * - ccdconWINDOW.yLast -> ccdconWINDOW.yDim
00048 * - ccdconNumPixels() function prototype modified
00049 * - ccdconGetAddr() function prototype added
00050 * - ccdconEXP_PTS definition added
00051 * - attrTables[] added in ccdconGlobals
00052 * C.Cumani 04/08/95 - ccdconAllocImBuf() func. prototype modified
00053 * C.Cumani 21/08/95 - ccdconGetIndexFromId() func. prototype deleted
00054 * (moved in ccdcon/ws/include/ccdInternal.h)
00055 * - ccdconSetIndexAttr() func. prototype deleted
00056 * (moved in ccdcon/ws/include/ccdInternal.h as
00057 * ccdSetIndexAttr)
00058 * C.Cumani 22/08/95 - ccdconSYSSTATUS -> ccdconSTATE
00059 * - ccdconINITIALISED added in ccdconSTATE
00060 * - ccdconGLOBALS.sysStatus -> ccdconGLOBALS.state
00061 * A.Longinotti 24/08/95 - ccdconWINDOW moved to ccd.h as ccdWINDOW
00062 * C.Cumani 24/08/95 - ccdconSETUP.window: ccdconWINDOW -> ccdWINDOW
00063 * - ccdconAllocImBuf func. pr. corrected:
00064 * window: ccdconWINDOW -> ccdWINDOW
00065 * A.Longinotti 04/09/95 ccdconNumPixels changed to ccdNumPixels and moved
00066 * to ccd.h
00067 * C.Cumani 19/09/95 - ccdconTransValue() func. prototype added
00068 * - ccdconHandleOff() func. prototype added
00069 * - ccdconHandleOnline() func. prototype added
00070 * - ccdconHandleStandby() func. prototype added
00071 * - ccdconHandleCont() func. prototype added
00072 * - ccdconHandleDump() func. prototype added
00073 * - ccdconHandleEnd() func. prototype added
00074 * - ccdconHandleExit() func. prototype added
00075 * - ccdconHandleInit() func. prototype added
00076 * - ccdconHandlePause() func. prototype added
00077 * - ccdconHandleSet() func. prototype added
00078 * - ccdconHandleStart() func. prototype added
00079 * - ccdconHandleStartWp() func. prototype added
00080 * - ccdconHandleStatus() func. prototype added
00081 * - ccdconHandleStopWp() func. prototype added
00082 * - ccdconHandleVersion() func. prototype added
00083 * C.Cumani 25/09/95 - ccdconInitDb() func. prototype added
00084 * - ccdSwitchAce() func. prototype added
00085 * P.Duhoux 27/09/95 - Added ccdconVERSION & ccdconVERSION_DATE
00086 * C.Cumani 10/10/95 - ccdconStartupCamera() func. prototype modified
00087 * C.Cumani 17/10/95 - ccdTestAce() func. prototype added
00088 * C.Cumani 18/10/95 - ccdKill() func. prototype added
00089 * P.Duhoux 14/11/95 - Added sysTimeout & devTimeout in ccdconGLOBALS
00090 * Added telAvail & tmpAvail in ccdconGLOBALS
00091 * P.Duhoux 15/11/95 Extension to support TEL & TMP subsystems
00092 * - define process priorities
00093 *
00094 *************************************************************************
00095 * P.Duhoux JAN/96 Redesign similar for CCD subsystem modules
00096 * New CCD include scheme
00097 * New signal handler interfaces for ccsInit
00098 * New design of CCD data structures
00099 * P.Duhoux 08/02/96 added ccdconHandleStop() function prototype
00100 * P.Duhoux 16/02/96 removed parts which were common to all sub-systems
00101 * added into ccdLcuInternal.h
00102 * P.Duhoux 04/03/96 modified interface ccdconAllocImBuf()
00103 * P.Duhoux 19/04/96 Added function prototypes for Timer Handler
00104 * P.Duhoux 24/05/96 Added function ccdconHandleWait
00105 * P.Duhoux 25/07/96 Added macros for ccdconSendCmd wait mode
00106 * P.Duhoux 07/08/96 Moved ccdconDB_RETRY_* to ccdLcuInternal.h
00107 * Moved ccdconReadAttr,ccdconWriteAttr to ccd/lcu
00108 * Moved ccdconInitDb to ccd/lcu
00109 * Moved ccdconStartupSubsystem to ccd/lcu
00110 * P.Duhoux 07/08/96 Moved ccdconCMD_WAIT_* to ccdLcuInternal.h
00111 * Moved ccd*Ace.c, ccdKill.c to ccd/lcu
00112 * Moved ccdconSendCmd*.c, ccdconWaitReply.c to ccd/lcu
00113 * P.Duhoux 21/08/96 Moved cai entry ccdDB_STA_IMAGELST to ccdDesc
00114 * Moved ccdconDB_IMG_LST to ccdLcuInternal.h
00115 * P.Duhoux 14/01/97 Defined ccdconVERSION_DATE = ccdVERSION_DATE
00116 * P.Duhoux 03/02/97 Removed Timer function prototypes (ccdLcuInternal.h)
00117 * P.Duhoux 27/02/97 Updated Number of Setup Attributes
00118 * P.Duhoux 15/05/97 added more attributes in caiTable
00119 * P.Duhoux 20/05/97 added fct prototype ccdconUpdateSetup()
00120 * P.Duhoux 10/06/97 split into ccdcon.h & ccdconInternal.h
00121 */
00122
00123 /*
00124 ****************************************************************************
00125 *
00126 * ccdcon.h - Exposure Server Interface File
00127 *
00128 ****************************************************************************
00129 */
00130
00131 #ifndef CCDCON_H
00132 #define CCDCON_H
00133
00134 #ifdef __cplusplus
00135 extern "C" {
00136 #endif
00137
00138 /*
00139 ****************************************************************************
00140 * Includes
00141 ****************************************************************************
00142 */
00143
00144 /*
00145 * CCD include files
00146 */
00147 #include "ccdLcuInternal.h"
00148
00149 /*
00150 * CCDCON include files
00151 */
00152 #include "ccdconDefines.h"
00153
00154 /*
00155 ****************************************************************************
00156 * Data Types and Literals
00157 ****************************************************************************
00158 */
00159 /* CCDCON module name */
00160 #define ccdconMODULE "ccdcon"
00161 #define ccdconMODULE_NAME "Exposure Control Module"
00162
00163 /* CCDCON module version */
00164 #define ccdconVERSION "$Revision: 3.22 $"
00165 #define ccdconVERSION_DATE ccdVERSION_DATE
00166
00167 /*
00168 ******************************************************************************
00169 * Function Prototypes
00170 ******************************************************************************
00171 */
00172 ccsCOMPL_STAT ccdconStartupCamera ( char *runStr );
00173
00174 /*
00175 ******************************************************************************
00176 * API Function Prototypes
00177 ******************************************************************************
00178 */
00179 ccsCOMPL_STAT ccdconAbort ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00180 ccsCOMPL_STAT ccdconCont ( ccdDESCRIPTION *ccdDesc, ccsTIMEVAL *utc,
00181 ccsERROR *error );
00182 ccsCOMPL_STAT ccdconDump ( ccdDESCRIPTION *ccdDesc, vltINT32 index,
00183 ccsERROR *error );
00184 ccsCOMPL_STAT ccdconEnd ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00185 ccsCOMPL_STAT ccdconExit ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00186 ccsCOMPL_STAT ccdconInit ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00187 ccsCOMPL_STAT ccdconOff ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00188 ccsCOMPL_STAT ccdconOnline ( ccdDESCRIPTION *ccdDesc, vltINT32 expId,
00189 ccsERROR *error );
00190 ccsCOMPL_STAT ccdconStandby ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00191 ccsCOMPL_STAT ccdconPause ( ccdDESCRIPTION *ccdDesc, ccsTIMEVAL *utc,
00192 ccsERROR *error );
00193 ccsCOMPL_STAT ccdconSet ( ccdDESCRIPTION *ccdDesc,
00194 dbSYMADDRESS attrName,
00195 vltINT32 attrIndex, char *valueStr,
00196 ccsERROR *error );
00197 ccsCOMPL_STAT ccdconSetRefPoint ( ccdDESCRIPTION *ccdDesc,
00198 vltINT32 winIdx, vltDOUBLE xRef[],
00199 vltDOUBLE yRef[], ccsERROR *error );
00200 ccsCOMPL_STAT ccdconStart ( ccdDESCRIPTION *ccdDesc, ccsTIMEVAL *utc,
00201 vltINT32 expId, ccsERROR *error );
00202 ccsCOMPL_STAT ccdconStartWipe ( ccdDESCRIPTION *ccdDesc, vltINT32 periodic,
00203 ccsERROR *error );
00204 ccsCOMPL_STAT ccdconStartTele ( ccdDESCRIPTION *ccdDesc, vltINT32 period,
00205 ccsERROR *error );
00206 ccsCOMPL_STAT ccdconStartTemp ( ccdDESCRIPTION *ccdDesc, vltINT32 period,
00207 ccsERROR *error );
00208 ccsCOMPL_STAT ccdconStatus ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00209 ccsCOMPL_STAT ccdconStop ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00210 ccsCOMPL_STAT ccdconStopWait ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00211 ccsCOMPL_STAT ccdconStopWipe ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00212 ccsCOMPL_STAT ccdconStopTele ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00213 ccsCOMPL_STAT ccdconStopTemp ( ccdDESCRIPTION *ccdDesc, ccsERROR *error );
00214 void ccdconVersion ( char *version );
00215 ccsCOMPL_STAT ccdconWait ( ccdDESCRIPTION *ccdDesc, msgMSG *msg,
00216 vltINT32 expId, vltINT32 waitMode,
00217 vltUINT32 *expStatus, ccsERROR *error );
00218 ccsCOMPL_STAT ccdconStopAbortWait ( ccdDESCRIPTION *ccdDesc,
00219 vltUINT32 *pExpStatus, ccsERROR *error );
00220 /*
00221 ******************************************************************************
00222 * Signal Handlers
00223 ******************************************************************************
00224 */
00225 void ccdconHandleBreak ( void );
00226 void ccdconHandleKill ( void );
00227
00228 #ifdef __cplusplus
00229 }
00230 #endif
00231
00232 #endif /* ! CCDCON_H */
00233
00234 /************************************************************************/
00235
00236 /*___o0o___*/
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001