00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 #ifndef CCD_H
00069 #define CCD_H
00070
00071 #ifdef __cplusplus
00072 extern "C" {
00073 #endif
00074
00075
00076
00077
00078 #include "CCS.h"
00079 #include "cai.h"
00080
00081
00082
00083
00084 #include "ccdDbPublic.h"
00085 #include "ccdErrors.h"
00086 #include "ccdObj.h"
00087
00088
00089 #define ccdMODULE "ccd"
00090
00091
00092
00093
00094 #define ccdENV_LENV "CCDLENV"
00095 #define ccdENV_DID "CCDDID"
00096 #define ccdDID "CCDDCS"
00097 #define ccdCAT slxDETECTOR
00098 #define ccdEXP_NEXT -1
00099 #define ccdEXP_LAST 0
00100 #define ccdCAMERANAME_LEN 8
00101 #define ccdMAXLENFILE 63
00102 #define ccdMAXBINX 8
00103 #define ccdMAXBINY 8
00104 #define ccdFITSHIERSUFF "det"
00105 #define ccdFITSDATASUFF "fits"
00106 #define ccdDCSHEADLINES 21
00107 #define ccdDCSXTNDLINES 22
00108
00109
00110
00111 #define ccdCMD_ABORT "ABORT"
00112 #define ccdCMD_BIAS "BIAS"
00113 #define ccdCMD_CONTINUE "CONT"
00114 #define ccdCMD_DISPLAY "DISPLAY"
00115 #define ccdCMD_DUMP "DUMP"
00116 #define ccdCMD_END "END"
00117 #define ccdCMD_EXIT "EXIT"
00118 #define ccdCMD_FLAT "FLAT"
00119 #define ccdCMD_GRAB "GRAB"
00120 #define ccdCMD_INIT "INIT"
00121 #define ccdCMD_OFF "OFF"
00122 #define ccdCMD_ONLINE "ONLINE"
00123 #define ccdCMD_OPERATE "OPERATE"
00124 #define ccdCMD_PAUSE "PAUSE"
00125 #define ccdCMD_PDOWN "PDOWN"
00126 #define ccdCMD_SETUP "SETUP"
00127 #define ccdCMD_STAND_ALONE "STANDAL"
00128 #define ccdCMD_STANDBY "STANDBY"
00129 #define ccdCMD_START "START"
00130 #define ccdCMD_STARTAG "STARTAG"
00131 #define ccdCMD_STARTLP "STARTLP"
00132 #define ccdCMD_START_WIPE "STARTWP"
00133 #define ccdCMD_STARTTL "STARTTL"
00134 #define ccdCMD_STARTTM "STARTTM"
00135 #define ccdCMD_STATUS "STATUS"
00136 #define ccdCMD_STOP "STOP"
00137 #define ccdCMD_STOP_WAIT "STPWAIT"
00138 #define ccdCMD_STOP_WIPE "STOPWP"
00139 #define ccdCMD_STOPTL "STOPTL"
00140 #define ccdCMD_STOPTM "STOPTM"
00141 #define ccdCMD_VERS "VERSION"
00142 #define ccdCMD_WAIT "WAIT"
00143
00144
00145 #define ccdCMD_DISABLE "DISABLE"
00146 #define ccdCMD_ENABLE "ENABLE"
00147 #define ccdCMD_ENHANCE "ENHANCE"
00148 #define ccdCMD_PROCESS "PROCESS"
00149 #define ccdCMD_PXQUERY "PXQUERY"
00150 #define ccdCMD_SELFTST "SELFTST"
00151 #define ccdCMD_VERBOSE "VERBOSE"
00152
00153
00154 #define ccdCMD_CONFIG "CONFIG"
00155 #define ccdCMD_SIM "SIM"
00156 #define ccdCMD_STOPSIM "STOPSIM"
00157
00158
00159
00160 #define ccdPAR_STATUS_EXPOID "expoId"
00161 #define ccdPAR_STATUS_FUNCTION "function"
00162
00163
00164 #define ccdALL "all"
00165 #define ccdGLOBAL "global"
00166 #define ccdKEY_OPMODE "DET.MODE"
00167 #define ccdKEY_OPSTATE "DET.STATE"
00168 #define ccdKEY_SHTSTAT "DET.SHUT"
00169 #define ccdKEY_TMPSTAT "DET.TEMP"
00170 #define ccdKEY_TELSTAT "DET.TELE"
00171
00172
00173 #define ccdPAR_STATUS_EXPSTATUS "expStatus"
00174
00175 #define ccdPAR_STATUS_FUNCSTATUS "funcStatus"
00176
00177
00178 #define ccdPAR_SETUP_EXPOID "expoId"
00179 #define ccdPAR_SETUP_FILE "file"
00180 #define ccdPAR_SETUP_FUNCTION "function"
00181 #define ccdPAR_SETUP_CHECK "check"
00182
00183
00184 #define ccdPAR_START_AT "at"
00185
00186
00187 #define ccdEXP_TYPE "DET.EXP.TYPE"
00188
00189 #define ccdEXP_STEP_DEF "DET.WIN1.NDIT"
00190
00191 #define ccdTIME_DEF_IDEM "DET.WIN1.ASUIT1"
00192 #define ccdTIME_DEF_BASE "DET.WIN1.UIT"
00193 #define ccdTIME_DEFi "DET.WIN1.UIT%i"
00194 #define ccdTIME_DEF "DET.WIN1.UIT1"
00195
00196 #define ccdREPEAT_DEF "DET.EXP.NREP"
00197
00198 #define ccdDO_WIPE "DET.EXP.WIPETIM"
00199 #define ccdTIME_REP "DET.EXP.TIMEREP"
00200 #define ccdFILE_UNC "DET.FRAM.FITSUNC"
00201 #define ccdDISK_SAVE "DET.FRAM.FITSMTD"
00202 #define ccdXFER_SYNC "DET.FRAM.XFERSYN"
00203
00204 #define ccdSAMPLE "DET.FRAM.SAMPLE"
00205 #define ccdDISPLAY "DET.DISPLAY"
00206
00207 #define ccdREAD_CLOCK "DET.READ.CLKIND"
00208 #define ccdREAD_GAIN "DET.OUT1.GAININD"
00209 #define ccdREAD_FRAME_TYPE "DET.FRAM.TYPE"
00210
00211 #define ccdREAD_SHIFT_TYPE "DET.READ.SHIFTYP"
00212 #define ccdREAD_SHIFT_BASE "DET.READ.SHIFT"
00213 #define ccdREAD_SHIFTi "DET.READ.SHIFT%i"
00214
00215 #define ccdREAD_IMAGE_SIM "DET.READ.SIMIMG"
00216
00217
00218
00219
00220 #define ccdREAD_WIN1_BIN_X "DET.WIN1.BINX"
00221 #define ccdREAD_WIN1_BIN_Y "DET.WIN1.BINY"
00222 #define ccdREAD_WIN1_ENAB "DET.WIN1.ST"
00223 #define ccdREAD_WIN1_FIR_X "DET.WIN1.STRX"
00224 #define ccdREAD_WIN1_DIM_X "DET.WIN1.NX"
00225 #define ccdREAD_WIN1_FIR_Y "DET.WIN1.STRY"
00226 #define ccdREAD_WIN1_DIM_Y "DET.WIN1.NY"
00227 #define ccdPROC_WIN1_MINMAX "DET.WIN1.MINMAX"
00228 #define ccdPROC_WIN1_BIAS "DET.WIN1.BIAS"
00229 #define ccdPROC_WIN1_FLAT "DET.WIN1.FLATF"
00230 #define ccdPROC_WIN1_CENTROID "DET.WIN1.CENTROID"
00231
00232 #define ccdPROC_WIN1_REF_X "DET.WIN1.REFX"
00233 #define ccdPROC_WIN1_REF_Y "DET.WIN1.REFY"
00234 #define ccdPROC_WIN1_USERFUNC "DET.WIN1.IPFUNC"
00235 #define ccdPROC_WIN1_USERBUFF "DET.WIN1.IPBUFF"
00236 #define ccdPROC_WIN1_THRMIN "DET.WIN1.THRMIN"
00237 #define ccdPROC_WIN1_THRMAX "DET.WIN1.THRMAX"
00238 #define ccdPROC_WIN1_BACKGND "DET.WIN1.BACKGND"
00239 #define ccdPROC_WIN1_IPLLX "DET.WIN1.IPLLX"
00240 #define ccdPROC_WIN1_IPLLY "DET.WIN1.IPLLY"
00241 #define ccdPROC_WIN1_IPURX "DET.WIN1.IPURX"
00242 #define ccdPROC_WIN1_IPURY "DET.WIN1.IPURY"
00243
00244
00245
00246
00247 #define ccdREAD_WIN2_BIN_X "DET.WIN2.BINX"
00248 #define ccdREAD_WIN2_BIN_Y "DET.WIN2.BINY"
00249 #define ccdREAD_WIN2_ENAB "DET.WIN2.ST"
00250 #define ccdREAD_WIN2_FIR_X "DET.WIN2.STRX"
00251 #define ccdREAD_WIN2_DIM_X "DET.WIN2.NX"
00252 #define ccdREAD_WIN2_FIR_Y "DET.WIN2.STRY"
00253 #define ccdREAD_WIN2_DIM_Y "DET.WIN2.NY"
00254 #define ccdPROC_WIN2_MINMAX "DET.WIN2.MINMAX"
00255 #define ccdPROC_WIN2_BIAS "DET.WIN2.BIAS"
00256 #define ccdPROC_WIN2_FLAT "DET.WIN2.FLATF"
00257 #define ccdPROC_WIN2_CENTROID "DET.WIN2.CENTROID"
00258
00259 #define ccdPROC_WIN2_REF_X "DET.WIN2.REFX"
00260 #define ccdPROC_WIN2_REF_Y "DET.WIN2.REFY"
00261 #define ccdPROC_WIN2_USERFUNC "DET.WIN2.IPFUNC"
00262 #define ccdPROC_WIN2_USERBUFF "DET.WIN2.IPBUFF"
00263 #define ccdPROC_WIN2_THRMIN "DET.WIN2.THRMIN"
00264 #define ccdPROC_WIN2_THRMAX "DET.WIN2.THRMAX"
00265 #define ccdPROC_WIN2_BACKGND "DET.WIN2.BACKGND"
00266 #define ccdPROC_WIN2_IPLLX "DET.WIN2.IPLLX"
00267 #define ccdPROC_WIN2_IPLLY "DET.WIN2.IPLLY"
00268 #define ccdPROC_WIN2_IPURX "DET.WIN2.IPURX"
00269 #define ccdPROC_WIN2_IPURY "DET.WIN2.IPURY"
00270
00271
00272 #define ccdREADPIX "DET.READ.NO"
00273 #define ccdMPPMODE "DET.READ.MODE"
00274 #define ccdFILE_COM "DET.FRAM.FITSCMP"
00275
00276
00277 #define ccdPAR_START_EXPOID "expoId"
00278
00279
00280 #define ccdPAR_VERS_CCDVERS "ccdVersion"
00281
00282
00283 #define ccdPAR_STANDAL_ON "on"
00284 #define ccdPAR_STANDAL_ARC "archive"
00285
00286
00287
00288
00289 #define ccdEXP_NONE 0
00290 #define ccdEXP_INACTIVE 1
00291 #define ccdEXP_PENDING 2
00292 #define ccdEXP_INTEGRATING 4
00293 #define ccdEXP_PAUSED 8
00294 #define ccdEXP_READING 16
00295 #define ccdEXP_PROCESSING 32
00296 #define ccdEXP_TRANSFERING 64
00297 #define ccdEXP_COMPLETED 128
00298 #define ccdEXP_FAILED 256
00299 #define ccdEXP_ABORTED 512
00300 #define ccdEXP_LOOP_FINITE 1024
00301 #define ccdEXP_LOOP_INFINITE 2048
00302
00303 #define ccdEXP_DONE \
00304 (ccdEXP_COMPLETED | ccdEXP_FAILED | ccdEXP_ABORTED)
00305 #define ccdEXP_RUNNING \
00306 (ccdEXP_PENDING | ccdEXP_INTEGRATING | ccdEXP_PAUSED | \
00307 ccdEXP_READING | ccdEXP_PROCESSING | ccdEXP_TRANSFERING )
00308 #define ccdEXP_LOOP \
00309 (ccdEXP_LOOP_FINITE | ccdEXP_LOOP_INFINITE)
00310
00311
00312
00313
00314 #define ccdREPEAT_FOREVER 0
00315
00316
00317
00318
00319 #define ccdNO_DISPLAY -1
00320
00321
00322
00323
00324 #define ccdWAIT_SINGLE 0
00325 #define ccdWAIT_GLOBAL 1
00326
00327 #define ccdWAIT_SINGLE_STR "Single"
00328 #define ccdWAIT_GLOBAL_STR "Global"
00329
00330
00331 typedef enum
00332 {
00333 ccdEXP_NORMAL = 1,
00334 ccdEXP_DARK,
00335 ccdEXP_MULTI
00336 } ccdEXPTYPE;
00337 #define ccdEXP_NORMAL_STR "Normal"
00338 #define ccdEXP_DARK_STR "Dark"
00339 #define ccdEXP_MULTI_STR "Multiple"
00340
00341 typedef char ccdCAMERANAME[ccdCAMERANAME_LEN + 1];
00342
00343
00344 typedef enum
00345 {
00346 ccdNOT_AVAILABLE = 1,
00347 ccdNORMAL,
00348 ccdSIM_WS,
00349 ccdSIM_LCU,
00350 ccdSIM_ACE
00351 } ccdOPMODE;
00352
00353
00354
00355
00356 typedef enum {
00357 ccdUNKNOWN = ccsSTATE_UNK,
00358 ccdOFF = ccsSTATE_OFF,
00359 ccdLOADED = ccsSTATE_LOADED,
00360 ccdSTANDBY = ccsSTATE_STANDBY,
00361 ccdONLINE = ccsSTATE_ONLINE,
00362 } ccdSTATE;
00363
00364 #define ccdOPERATING ccsSTATE_ONLINE
00365
00366
00367
00368
00369 typedef enum
00370 {
00371 ccdSHT_ERROR = -1,
00372 ccdSHT_CLOSED,
00373 ccdSHT_OPENED,
00374 ccdSHT_CLOSING,
00375 ccdSHT_OPENING
00376 } ccdSHT_STATUS;
00377
00378
00379 typedef enum
00380 {
00381 ccdDISK_NONE = 0,
00382 ccdDISK_COMPRESS,
00383 ccdDISK_UNCOMPRESS,
00384 ccdDISK_BOTH
00385 } ccdDISKSAVE;
00386
00387 #define ccdDISK_NONE_STR "None"
00388 #define ccdDISK_COMPRESS_STR "Compress"
00389 #define ccdDISK_UNCOMPRESS_STR "Uncompress"
00390 #define ccdDISK_BOTH_STR "Both"
00391
00392
00393
00394
00395 #define ccdFRAME_NORMAL "Normal"
00396 #define ccdFRAME_BIAS "Bias"
00397 #define ccdFRAME_DARK "Dark"
00398 #define ccdFRAME_FLAT "FF"
00399
00400 typedef enum
00401 {
00402 ccdFRM_NORMAL = 0,
00403 ccdFRM_BIAS,
00404 ccdFRM_DARK,
00405 ccdFRM_FLAT
00406 } ccdFRMTYPE;
00407
00408
00409
00410
00411 #define ccdEXPTIME_IDEM ccsTRUE
00412 #define ccdEXPTIME_LIST ccsFALSE
00413
00414
00415
00416
00417
00418 typedef enum
00419 {
00420 ccdLINE_SHIFT_ALT = -1,
00421
00422 ccdLINE_SHIFT_IDEM = 0,
00423
00424 ccdLINE_SHIFT_LIST = 1
00425 } ccdLINESHIFT_TYPE;
00426
00427 #define ccdLINE_SHIFT_ALT_STR "alternate"
00428 #define ccdLINE_SHIFT_IDEM_STR "idem"
00429 #define ccdLINE_SHIFT_LIST_STR "list"
00430
00431
00432
00433
00434 typedef enum
00435 {
00436 ccdCENTROID_NONE = 0,
00437 ccdCENTROID_STANDARD,
00438 ccdCENTROID_THRESHOLD
00439 } ccdCENTYPE;
00440
00441 #define ccdCEN_NONE_STR "none"
00442 #define ccdCEN_STANDARD_STR "standard"
00443 #define ccdCEN_THRESHOLD_STR "threshold"
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464 #define ccdTHRMIN_3SIGMA_WINDOW_SELF -3
00465 #define ccdTHRMIN_3SIGMA_WINDOW_PREV -13
00466 #define ccdTHRMIN_5SIGMA_WINDOW_SELF -5
00467 #define ccdTHRMIN_5SIGMA_WINDOW_PREV -15
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482 #define ccdBCKGND_FLUX_WINDOW_SELF -1
00483 #define ccdBCKGND_FLUX_WINDOW_PREV -11
00484
00485
00486 #define ccdIP_NO_USER_FUN "None"
00487 #define ccdIP_NO_USER_BUF "None"
00488
00489
00490
00491
00492
00493
00494
00495 typedef struct
00496 {
00497
00498
00499
00500
00501 ccdEXPTYPE expType;
00502 vltINT32 stepsDef;
00503 ccsTIMEVAL wipeStart;
00504 vltDOUBLE wipeTime;
00505 ccsTIMEVAL expStart;
00506 vltDOUBLE expTime;
00507 vltDOUBLE expTimeMulti[ccdMAXINTEGR];
00508 vltINT32 shiftLine[ccdMAXINTEGR];
00509 ccsTIMEVAL shiftStart[ccdMAXINTEGR];
00510 vltDOUBLE shiftTime;
00511 ccsTIMEVAL readStart;
00512 vltDOUBLE readTime;
00513 ccsTIMEVAL procStart;
00514 } ccdIPEXPOSURE;
00515
00516
00517 typedef enum
00518 {
00519 ccdIMAGE_CHAR = 0,
00520 ccdIMAGE_INT,
00521 ccdIMAGE_FLOAT
00522 } ccdIMAGE_REP;
00523
00524 typedef struct
00525 {
00526
00527
00528
00529
00530
00531
00532
00533
00534 vltINT32 winNum;
00535 ccdIMAGE_REP pixelRep;
00536 vltINT32 xPos,yPos;
00537 vltINT32 xDim,yDim;
00538 void *data;
00539 } ccdIPWINDOW;
00540
00541 typedef struct
00542 {
00543
00544
00545
00546
00547 vltINT32 llx,lly;
00548 vltINT32 urx,ury;
00549 vltDOUBLE xRef,yRef;
00550 vltDOUBLE minThr,maxThr;
00551 vltDOUBLE bckGnd;
00552 } ccdIPSETUP;
00553
00554 typedef struct
00555 {
00556
00557
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571 vltDOUBLE max;
00572 vltDOUBLE xMax,yMax;
00573 vltDOUBLE min;
00574 vltDOUBLE xMin,yMin;
00575 vltDOUBLE flux;
00576 vltDOUBLE sigma;
00577 vltINT32 numSpot;
00578 vltINT32 numPix;
00579
00580 vltDOUBLE cen;
00581 vltDOUBLE xCen,yCen;
00582 vltDOUBLE xErr,yErr;
00583 vltDOUBLE SNR;
00584 vltDOUBLE xFWHM,yFWHM;
00585
00586 vltDOUBLE xFWHM_SD,yFWHM_SD;
00587 vltDOUBLE ObjAngle,ObjAngle_SD;
00588
00589 vltDOUBLE BckGnd,BckGnd_SD;
00590 } ccdIPRESULT;
00591
00592 typedef struct
00593 {
00594 ccdIPEXPOSURE exposure;
00595 ccdIPWINDOW window;
00596 ccdIPSETUP setup[ccdMAXWINDOW];
00597 ccdIPRESULT result[ccdMAXWINDOW];
00598 } ccdIPIMAGE;
00599
00600
00601 typedef ccsCOMPL_STAT (* ccdIPUSERFUNC)(ccdIPIMAGE *,void *,ccsERROR *);
00602
00603
00604 typedef struct
00605 {
00606 vltLOGICAL available;
00607 vltINT32 xLocation;
00608 vltINT32 yLocation;
00609 } ccdCONFCHIP;
00610
00611
00612 typedef struct
00613 {
00614 vltLOGICAL available;
00615 vltINT32 chipIndex;
00616 vltINT32 xLocation;
00617 vltINT32 yLocation;
00618 vltINT32 leftToRight;
00619 vltINT32 downToUp;
00620 vltINT32 xPrescan;
00621 vltINT32 yPrescan;
00622 vltINT32 xPix;
00623 vltINT32 yPix;
00624 vltINT32 xOverscan;
00625 vltINT32 yOverscan;
00626 } ccdCONFOUTPUT;
00627
00628
00629 typedef struct
00630 {
00631 vltBYTES16 description;
00632 vltINT32 firstOutput;
00633 vltINT32 gainIndex;
00634 vltINT32 nWindows;
00635 vltINT32 adcTime;
00636 vltINT32 lineShiftMode;
00637 vltLOGICAL outEnab[ccdMAXOUTPUT];
00638 vltDOUBLE elAdu[ccdMAXOUTPUT];
00639 } ccdCONFCLOCK;
00640
00641
00642 typedef struct
00643 {
00644 vltLOGICAL available;
00645 } ccdCONFSHUTTER;
00646
00647
00648 typedef struct
00649 {
00650 ccdCAMERANAME name;
00651 ccsENVNAME envName;
00652 } ccdCAMERA;
00653
00654
00655 typedef struct
00656 {
00657 vltLOGICAL frameTransfer;
00658 vltLOGICAL skipper;
00659 vltLOGICAL mpp;
00660 vltINT32 xPixels;
00661 vltINT32 yPixels;
00662 vltINT32 bitsPixel;
00663 vltINT32 numOutputs;
00664 ccdCONFCHIP chip[ccdMAXCHIPS];
00665 ccdCONFOUTPUT output[ccdMAXOUTPUT];
00666 ccdCONFCLOCK clock[ccdMAXCLOCKS];
00667 ccdCONFSHUTTER shutter;
00668 } ccdCONFIG;
00669
00670
00671 typedef struct
00672 {
00673 vltLOGICAL enabled;
00674 vltLOGICAL idem;
00675 vltINT32 xBinning;
00676 vltINT32 yBinning;
00677 vltINT32 xFirst;
00678 vltINT32 xDim;
00679 vltINT32 yFirst;
00680 vltINT32 yDim;
00681 } ccdWINDOW;
00682
00683
00684 typedef struct
00685 {
00686 vltLOGICAL minMax;
00687 vltLOGICAL bias;
00688 vltLOGICAL dark;
00689 vltLOGICAL flat;
00690 vltINT32 averageN;
00691 vltINT32 centroiding;
00692 vltDOUBLE centrRefX;
00693 vltDOUBLE centrRefY;
00694 vltDOUBLE centrThreshMin;
00695 vltDOUBLE centrThreshMax;
00696 vltDOUBLE backGround;
00697 vltBYTES32 userFuncName;
00698 vltBYTES32 userBuffName;
00699 vltINT32 procLLX,procLLY;
00700 vltINT32 procURX,procURY;
00701
00702 } ccdPROCESS;
00703
00704
00705 typedef struct
00706 {
00707 ccdEXPTYPE expType;
00708 vltINT32 stepsDef;
00709 vltINT32 repeatDef;
00710 vltINT32 wipeTime;
00711 ccdFRMTYPE frameType;
00712 vltLOGICAL timeDefIdem;
00713 vltDOUBLE timeDef;
00714 vltDOUBLE timeDefMulti[ccdMAXINTEGR];
00715
00716 vltDOUBLE timeRepeat;
00717 vltLOGICAL fitsInfoCollect;
00718 vltLOGICAL tempExp;
00719 vltINT32 tempSecs;
00720 vltLOGICAL teleExp;
00721 vltINT32 teleSecs;
00722
00723 ccdDISKSAVE diskSave;
00724 vltBYTES64 fileNameUnComp;
00725 vltBYTES64 fileNameComp;
00726 vltINT32 pixRepr;
00727 vltINT32 bitShift;
00728 vltINT32 compression;
00729 vltINT32 sampling;
00730 vltLOGICAL itSync;
00731
00732 vltINT32 frameId;
00733
00734 ccdPROCESS process[ccdMAXWINDOW];
00735
00736 vltINT32 linesToShiftType;
00737 vltINT32 linesToShift;
00738 vltINT32 linesToShiftMulti[ccdMAXINTEGR];
00739
00740 vltINT32 readPixelN;
00741 vltLOGICAL mpp;
00742 vltINT32 clockIndex;
00743 vltINT32 gainIndex;
00744 vltBYTES64 fileNameSimu;
00745 ccdWINDOW window[ccdMAXWINDOW];
00746 } ccdSETUP;
00747
00748
00749 typedef struct
00750 {
00751 vltLOGICAL changed;
00752 vltLOGICAL doTransfer;
00753 vltLOGICAL doProcess;
00754 vltDOUBLE readTime;
00755 vltDOUBLE wipeTime;
00756 } ccdSETUPRES;
00757
00758
00759
00760
00761
00762
00763
00764
00765
00766 ccsCOMPL_STAT ccdGetConf ( ccdCAMERA *camera, ccdCONFIG *config,
00767 ccsERROR *error);
00768
00769
00770 ccsCOMPL_STAT ccdCheckSetup ( ccdCONFIG *config, ccdSETUP *setup,
00771 ccdSETUPRES *results, ccsERROR *error);
00772
00773
00774 ccsCOMPL_STAT ccdCheckSetupWindow ( ccdCONFIG *config, ccdSETUP *setup,
00775 ccdSETUPRES *results, ccsERROR *error);
00776
00777
00778 void ccdGetCIName ( ccdCAMERANAME camera, ccsPROCNAME procName );
00779
00780
00781 vltINT32 ccdGetIndexFromId ( vltINT32 expId );
00782
00783 #ifdef __cplusplus
00784 }
00785 #endif
00786
00787 #endif