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___*/