00001 #ifndef ARCDRV_COMMANDS_H
00002 #define ARCDRV_COMMANDS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifdef __cplusplus
00024 extern C {
00025 #endif
00026
00027
00028
00029
00030
00031 #define arcdrvCMD_RSP 0x200
00032 #define arcdrvCMD_RSC 0x201
00033
00034 #define arcdrvCMD_SDM 0x202
00035
00036
00037
00038
00039 #define arcdrvCMD_GDM 0x203
00040
00041
00042
00043
00044 #define arcdrvCMD_CMA 0x204
00045
00046
00047
00048
00049
00050
00051 #define arcdrvCMD_CBA 0x205
00052
00053
00054
00055
00056
00057 #define arcdrvCMD_DLD 0x206
00058
00059
00060
00061
00062
00063 #define arcdrvCMD_DMS 0x207
00064
00065
00066
00067
00068 #define arcdrvCMD_PRG 0x208
00069
00070
00071
00072
00073
00074
00075 #define arcdrvCMD_AEX 0x100
00076 #define arcdrvCMD_CLR 0x101
00077 #define arcdrvCMD_HGN 0x102
00078
00079
00080
00081
00082
00083 #define arcdrvCMD_LDA 0x103
00084
00085
00086
00087
00088 #define arcdrvCMD_LGN 0x104
00089
00090
00091
00092
00093
00094 #define arcdrvCMD_MPP 0x105
00095
00096
00097
00098
00099 #define arcdrvCMD_POF 0x106
00100 #define arcdrvCMD_PON 0x107
00101 #define arcdrvCMD_RCC 0x108
00102 #define arcdrvCMD_RDI 0x109
00103 #define arcdrvCMD_RDM 0x10a
00104
00105
00106
00107
00108 #define arcdrvCMD_RET 0x10b
00109 #define arcdrvCMD_SB1 0x10c
00110
00111
00112
00113
00114
00115
00116 #define arcdrvCMD_SB2 0x10d
00117
00118
00119
00120
00121
00122
00123 #define arcdrvCMD_SBV 0x10e
00124 #define arcdrvCMD_SET 0x10f
00125
00126
00127
00128
00129 #define arcdrvCMD_SEX 0x110
00130 #define arcdrvCMD_SGN 0x111
00131
00132
00133
00134
00135
00136 #define arcdrvCMD_SRM 0x112
00137
00138
00139
00140
00141 #define arcdrvCMD_SSP 0x113
00142
00143
00144
00145
00146
00147
00148 #define arcdrvCMD_SSS 0x114
00149
00150
00151
00152
00153
00154
00155 #define arcdrvCMD_TDL 0x115
00156
00157
00158
00159
00160 #define arcdrvCMD_WRM 0x116
00161
00162 #define arcdrvCMD_CSH 0x117
00163 #define arcdrvCMD_OSH 0x118
00164 #define arcdrvCMD_PEX 0x119
00165 #define arcdrvCMD_REX 0x11a
00166
00167 #define arcdrvCMD_SOS 0x11b
00168
00169
00170
00171
00172 #define arcdrvCMD_SPT 0x11c
00173
00174
00175
00176
00177 #define arcdrvCMD_IDL 0x11d
00178 #define arcdrvCMD_STP 0x11e
00179 #define arcdrvCMD_ABR 0x11f
00180 #define arcdrvCMD_RRN 0x120
00181 #define arcdrvCMD_SDL 0x121
00182 #define arcdrvCMD_SUL 0x122
00183
00184 #define arcdrvCMD_CBN 0x123
00185 #define arcdrvCMD_RBN 0x124
00186
00187
00188
00189
00190
00191 #define arcdrvCMD_RESET_PCI arcdrvCMD_RSP
00192 #define arcdrvCMD_RESET_CONTROLLER arcdrvCMD_RSC
00193 #define arcdrvCMD_SET_DMA_ADDRESS arcdrvCMD_SDM
00194 #define arcdrvCMD_GET_DMA_ADDRESS arcdrvCMD_GDM
00195 #define arcdrvCMD_CONTROLLER_MASTER arcdrvCMD_CMA
00196 #define arcdrvCMD_SET_CALLBACK_FUNCTION arcdrvCMD_CBA
00197 #define arcdrvCMD_DOWNLOAD_PCI arcdrvCMD_DLD
00198
00199 #define arcdrvCMD_ABORT_EXPOSURE arcdrvCMD_AEX
00200 #define arcdrvCMD_CLEAR_ARRAY arcdrvCMD_CLR
00201 #define arcdrvCMD_WIPE_CHIP arcdrvCMD_CLR
00202 #define arcdrvCMD_HIGH_GAIN arcdrvCMD_HGN
00203 #define arcdrvCMD_LOAD_APPLICATION arcdrvCMD_LDA
00204 #define arcdrvCMD_LOW_GAIN arcdrvCMD_LGN
00205 #define arcdrvCMD_MULTI_PP_MODE arcdrvCMD_MPP
00206 #define arcdrvCMD_POWER_OFF arcdrvCMD_POF
00207 #define arcdrvCMD_POWER_ON arcdrvCMD_PON
00208 #define arcdrvCMD_READ_CONFIGURATION arcdrvCMD_RCC
00209 #define arcdrvCMD_READ_IMAGE arcdrvCMD_RDI
00210 #define arcdrvCMD_READ_MEMORY arcdrvCMD_RDM
00211 #define arcdrvCMD_READ_ELAPSED arcdrvCMD_RET
00212 #define arcdrvCMD_SET_BIAS_NUM1 arcdrvCMD_SB1
00213 #define arcdrvCMD_SET_BIAS_NUM2 arcdrvCMD_SB2
00214 #define arcdrvCMD_SET_BIAS_VOLT arcdrvCMD_SBV
00215 #define arcdrvCMD_SET_EXPOSURE_TIME arcdrvCMD_SET
00216 #define arcdrvCMD_START_EXPOSURE arcdrvCMD_SEX
00217 #define arcdrvCMD_SET_GAIN arcdrvCMD_SGN
00218 #define arcdrvCMD_SET_READOUT arcdrvCMD_SRM
00219 #define arcdrvCMD_SET_SUBARRAY_POSITION arcdrvCMD_SSP
00220 #define arcdrvCMD_SET_SUBARRAY_SIZE arcdrvCMD_SSS
00221 #define arcdrvCMD_TEST_DATA_LINK arcdrvCMD_TDL
00222 #define arcdrvCMD_WRITE_MEMORY arcdrvCMD_WRM
00223
00224 #define arcdrvCMD_CLOSE_SHUTTER arcdrvCMD_CSH
00225 #define arcdrvCMD_OPEN_SHUTTER arcdrvCMD_OSH
00226 #define arcdrvCMD_PAUSE_EXPOSURE arcdrvCMD_PEX
00227 #define arcdrvCMD_RESUME_EXPOSURE arcdrvCMD_REX
00228
00229 #define arcdrvCMD_SET_OUTPUT_SRC arcdrvCMD_SOS
00230 #define arcdrvCMD_SET_PATH_THROUGH arcdrvCMD_SPT
00231 #define arcdrvCMD_IDLE arcdrvCMD_IDL
00232 #define arcdrvCMD_STOP_IDLE arcdrvCMD_STP
00233 #define arcdrvCMD_ABORT_READOUT arcdrvCMD_ABR
00234 #define arcdrvCMD_GET_REVISION arcdrvCMD_RRN
00235 #define arcdrvCMD_SHIFT_DOWN_LINES arcdrvCMD_SDL
00236 #define arcdrvCMD_SHIFT_UP_LINES arcdrvCMD_SUL
00237 #define arcdrvCMD_ROW_BINNING arcdrvCMD_RBN
00238 #define arcdrvCMD_COLUMN_BINNING arcdrvCMD_CBN
00239
00240
00241
00242
00243
00244
00245
00246 #define arcdrvMAX_ARGS 5
00247
00248
00249 #define arcdrvMAX_REPLYS 1
00250
00251
00252
00253
00254
00255
00256
00257 typedef struct
00258 {
00259 int arg1;
00260 int arg2;
00261 int arg3;
00262 int arg4;
00263 int arg5;
00264 int reply;
00265 } arcdrvARG_STRUCT ;
00266
00267 typedef arcdrvARG_STRUCT* arcdrvARG_STRUCT_PTR;
00268
00269
00270
00271 typedef int arcdrvARG_LIST[arcdrvMAX_ARGS + arcdrvMAX_REPLYS];
00272
00273 typedef arcdrvARG_LIST* arcdrvARG_LIST_PTR;
00274
00275
00276
00277 #define arcdrvIDX_ARG1 0
00278 #define arcdrvIDX_ARG2 1
00279 #define arcdrvIDX_ARG3 2
00280 #define arcdrvIDX_ARG4 3
00281 #define arcdrvIDX_ARG5 4
00282 #define arcdrvIDX_REPL 5
00283
00284
00285
00286
00287 #define arcdrvAMPLIFIER_A 0x5F5F41
00288 #define arcdrvAMPLIFIER_B 0x5F5F42
00289 #define arcdrvAMPLIFIER_C 0x5F5F43
00290 #define arcdrvAMPLIFIER_D 0x5F5F44
00291 #define arcdrvAMPLIFIER_L 0x5F5F4C
00292 #define arcdrvAMPLIFIER_R 0x5F5F52
00293 #define arcdrvAMPLIFIER_LR 0x5F4C52
00294 #define arcdrvAMPLIFIER_AB 0x5F4142
00295 #define arcdrvAMPLIFIER_CD 0x5F4344
00296 #define arcdrvAMPLIFIER_ALL 0x414C4C
00297
00298 #define arcdrvNO_PASS_THROUGH 0
00299 #define arcdrvPASS_THROUGH 1
00300
00301
00302
00303
00304 #define arcdrvGAIN_ONE 1
00305 #define arcdrvGAIN_TWO 2
00306 #define arcdrvGAIN_FIVE 5
00307 #define arcdrvGAIN_TEN 10
00308
00309 #define arcdrvSPEED_SLOW 0
00310 #define arcdrvSPEED_FAST 1
00311
00312 #define arcdrvRESET_GLOBAL 0
00313 #define arcdrvRESET_ROWBYROW 1
00314
00315 #define arcdrvDAC_A 1
00316 #define arcdrvDAC_B 3
00317
00318
00319 #define arcdrvMIN_APPLICATION_NUMBER 0
00320 #define arcdrvMAX_APPLICATION_NUMBER 3
00321
00322 #define arcdrvMIN_VIDEO_OFFSET_BOARD 1
00323 #define arcdrvMAX_VIDEO_OFFSET_BOARD 16
00324
00325 #define arcdrvMIN_VIDEO_OFFSET_VOLTAGE 0
00326 #define arcdrvMAX_VIDEO_OFFSET_VOLTAGE 4095
00327
00328 #define arcdrvMIN_COADDS 1
00329 #define arcdrvMAX_COADDS 65535
00330
00331 #define arcdrvMIN_SAMPLES 1
00332 #define arcdrvMAX_SAMPLES 65535
00333
00334 #define arcdrvMIN_RAMPS 2
00335 #define arcdrvMAX_RAMPS 65535
00336
00337 #define arcdrvMIN_DMA_BLOCKSIZE 1024
00338 #define arcdrvMAX_DMA_BLOCKSIZE 262144
00339
00340
00341
00342
00343
00344 #define CPUBOARD_PMC_SLOT1 0x00
00345 #define CPUBOARD_PMC_SLOT2 0x01
00346
00347
00348
00349
00350
00351
00352 #define arcdrvBoard_PCI 0x01
00353 #define arcdrvBoard_TIM 0x02
00354 #define arcdrvBoard_UTL 0x03
00355
00356
00357
00358
00359 #define arcdrvMEMORY_P 0x100000
00360 #define arcdrvMEMORY_X 0x200000
00361 #define arcdrvMEMORY_Y 0x400000
00362 #define arcdrvMEMORY_R 0x800000
00363
00364
00365 #ifdef __cplusplus
00366 }
00367 #endif
00368
00369 #endif