00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00013
00014 #pragma once
00015 #if !defined(_WIN32) && !defined(MATLAB_PREPROC)
00016 typedef short __wchar_t;
00017 typedef int HWND;
00018 typedef unsigned short WORD;
00019 typedef unsigned long DWORD;
00020 #endif
00021
00024
00027 enum ModulationFrq {MF_40MHz=0,
00028 MF_30MHz,
00029 MF_21MHz,
00030 MF_20MHz,
00031 MF_19MHz,
00032 MF_60MHz,
00033 MF_15MHz,
00034 MF_10MHz,
00035 MF_29MHz,
00036 MF_31MHz,
00037 MF_14_5MHz,
00038 MF_15_5MHz,
00039 MF_LAST};
00040
00047 enum AcquireMode {
00048 AM_COR_FIX_PTRN=0x01,
00049 AM_MEDIAN=0x04,
00050 AM_TOGGLE_FRQ=0x08,
00051 AM_CONV_GRAY=0x10,
00052 AM_SW_ANF=0x20,
00053 AM_RESERVED0=0x40,
00054 AM_RESERVED1=0x80,
00055 AM_CONF_MAP=0x0100,
00056 AM_HW_TRIGGER=0x0200,
00057 AM_SW_TRIGGER=0x0400,
00058 AM_DENOISE_ANF=0x0800,
00059 AM_MEDIANCROSS=0x1000,
00060 };
00061
00073 enum IPBArg {
00074 IPB_SETUP_GUI,
00075 IPB_SETUP_CONV,
00076 IPB_SETUP_BINARIZE,
00077 IPB_HISTOGRAM,
00078 IPB_CONV0,
00079 IPB_CONV1,
00080 IPB_IN_THRESHOLD_MIN,
00081 IPB_IN_THRESHOLD_MAX,
00082 IPB_OUT_THRESHOLD_MIN,
00083 IPB_OUT_THRESHOLD_MAX,
00084 };
00085
00091 enum IPConvSetup{
00092 IPCS_SRC_DIST=0x00,
00093 IPCS_SRC_AMPL=0x80,
00094 IPCS_OPP_ADD=0x00,
00095 IPCS_OPP_SUB=0x20,
00096 IPCS_OPP_ABS=0x10,
00097 };
00098
00104 enum IPBinatizeSetup{
00105 IPBS_BINARIZE_IN =0x01,
00106 IPBS_BINARIZE_OUT=0x02,
00107 };
00108
00110 enum FSCmd{
00111 FS_JMP_FRAME_REL,
00112 FS_JMP_FRAME_BEGIN,
00113 FS_JMP_FRAME_END,
00114 FS_GET_NUM_FRAME
00115 };
00116
00117
00118 #pragma pack(push,r1,4)
00119
00120 typedef struct _ImgEntry
00121 {
00127
00128 #ifndef MATLAB_PREPROC
00129
00130 enum ImgType {
00131 IT_DISTANCE,
00132
00133 IT_AMPLITUDE,
00134 IT_INTENSITY,
00135 IT_TAP0,
00136 IT_TAP1,
00137 IT_TAP2,
00138 IT_TAP3,
00139 IT_SUM_DIFF ,
00140 IT_CONF_MAP,
00141 IT_UNDEFINED,
00142 IT_LAST
00143 };
00145 enum DataType {
00146 DT_NONE,
00147 DT_UCHAR,
00148 DT_CHAR,
00149 DT_USHORT,
00150 DT_SHORT,
00151 DT_UINT,
00152 DT_INT,
00153 DT_FLOAT,
00154 DT_DOUBLE
00155 };
00156 #endif
00157 enum ImgType imgType;
00158 enum DataType dataType;
00159 void* data;
00160 WORD width;
00161 WORD height;
00162 }ImgEntry;
00163
00164 #pragma pack(pop,r1)
00165
00166 #ifndef MATLAB_PREPROC
00167 #ifndef __cplusplus
00168 struct _CMesaDevice;
00170 typedef struct _CMesaDevice *SRCAM;
00171 #else
00172 class CMesaDevice;
00173 typedef CMesaDevice* SRCAM;
00174 #endif
00175 #endif
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 typedef int (SR_FuncCB)(SRCAM srCam, unsigned int msg, unsigned int param, void* data);
00214
00215
00216 #define CM_MSG_DISPLAY 0x0001 //!< \#define for \ref SR_FuncCB
00217
00218 #define CM_SRS_FILE 0x0002 //!< \#define for \ref SR_FuncCB
00219
00220 #define CP_SRS_EOF 0x0001 //!< \#define for \ref SR_FuncCB
00221 #define CP_SRS_FRAMEPOS 0x0002 //!< \#define for \ref SR_FuncCB
00222
00223 #define CM_CHANGING 0x0010 //!< \#define for \ref SR_FuncCB
00224 #define CM_CHANGED 0x0011 //!< \#define for \ref SR_FuncCB
00225
00226 #define CP_AFFECTS_BUFFER 0x0001 //!< \#define for \ref SR_FuncCB
00227
00228 #define CM_PROGRESS 0x0020 //!< \#define for \ref SR_FuncCB
00229
00230 #define CP_UNKNOWN 0x0000 //!< \#define for \ref SR_FuncCB
00231 #define CP_FLASH_ERASE 0x0001 //!< \#define for \ref SR_FuncCB
00232 #define CP_FLASH_WRITE 0x0002 //!< \#define for \ref SR_FuncCB
00233 #define CP_FLASH_READ 0x0003 //!< \#define for \ref SR_FuncCB
00234 #define CP_FPGA_BOOT 0x0004 //!< \#define for \ref SR_FuncCB
00235 #define CP_CAM_REBOOT 0x0005 //!< \#define for \ref SR_FuncCB
00236 #define CP_DONE 0x0006 //!< \#define for \ref SR_FuncCB
00237
00238
00239
00240 #define CM_CAM_SELECT 0x0030 //!< \#define for \ref SR_FuncCB
00241
00242 #define CP_CS_OPENDLG 0x0000 //!< \#define for \ref SR_FuncCB
00243 #define CP_SCAN_CAM 0x0001 //!< \#define for \ref SR_FuncCB
00244 #define CP_FOUND_CAM 0x0002 //!< \#define for \ref SR_FuncCB
00245 #define CP_FIND_DONE 0x0003 //!< \#define for \ref SR_FuncCB
00246 #define CP_CONNECT 0x0004 //!< \#define for \ref SR_FuncCB
00247 #define CP_CS_CLOSEDLG 0x0005 //!< \#define for \ref SR_FuncCB
00248 #define CP_GET_FILENAME 0x0006 //!< \#define for \ref SR_FuncCB
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259 typedef struct _CSCamera
00260 {
00261 char devStr[256];
00262 void* reserved;
00263 struct _CSCamera *next;
00264 }CSCamera;
00265
00266
00267 typedef struct _CSData
00268 {
00269 HWND _parent;
00270 SRCAM srCam;
00271 CSCamera* camList;
00272 }CSData;
00273
00274
00276 enum SRMsgKind
00277 {
00278 MK_DEBUG_STRING=0x00,
00279 MK_BOX_INFO =0x01,
00280 MK_BOX_WARN =0x02,
00281 MK_BOX_ERR =0x03
00282 };
00283
00285 enum SRMsgCategory
00286 {
00287 MC_GENERAL =0x0000,
00288 MC_DLL_FUNC =0x0100,
00289 MC_CAM =0x0200,
00290 MC_USB =0x0300,
00291 MC_CONFIG =0x0400,
00292 MC_FIRMWARE =0x0500,
00293 MC_XML =0x0600,
00294 MC_CAM_DLG =0x0700,
00295 MC_HTTP =0x0800,
00296 MC_ETH =0x0900,
00297 MC_RESERVED =0x0a00,
00298 MC_FILEIO =0x0b00,
00299 MC_B_GIG_E =0x0c00
00300 };
00301
00302
00303 #pragma pack(push,r1,4)
00304
00305
00306 #ifndef MATLAB_PREPROC
00307
00308
00309 typedef struct _ParamVal
00310 {
00311 #ifndef MATLAB_PREPROC
00312
00313 enum ID {
00314 PR_ANF=1,
00315 PR_RESERVED0,
00316 PR_TEMPORAL_IIR,
00317 PR_RESERVED1,
00318 PR_RESERVED2,
00319 PR_CONF_MAP,
00320 PR_SET_FRQ
00321 };
00323 enum ParamType {
00324 PT_UINT8,
00325 PT_INT8,
00326 PT_UINT16,
00327 PT_INT16,
00328 PT_UINT32,
00329 PT_INT32,
00330 PT_FLOAT,
00331 PT_DOUBLE,
00332 PT_WCHAR,
00333 PT_PTR_UINT8,
00334 PT_PTR_WCHAR
00335 };
00336
00337 enum ParamType t;
00338 union
00339 {
00340 unsigned char u8;
00341 char s8;
00342 unsigned short u16;
00343 short s16;
00344 unsigned int u32;
00345 int s32;
00346 float f32;
00347 double f64;
00348 __wchar_t wc16;
00349 unsigned char* pu8;
00350 __wchar_t* pwc16;
00351 };
00352 #else
00353 ParamVal_ParamType t;
00354 double data;
00355 #endif
00356 }ParamVal;
00357 #pragma pack(pop,r1)
00358 #endif
00359
00361
00363
00365 enum IOmode {IO_USB_BULK=1,
00366 IO_FLASH_FX2,
00367 IO_FLASH_IPM,
00368 IO_FLASH_CIM_ETH,
00369 IO_SERIAL,
00370 IO_LAST
00371 };
00372
00374 enum CamType{CT_UNKNOWN=0,CT_SR2A,CT_SR2B,CT_SR3K_USB,CT_SR3K_ETH,CT_SR4K_USB,CT_SR4K_ETH,CT_SR4K_B_GIG_E,CT_ARTTS,CT_LAST};
00376
00380 typedef int (MessageCB)(int level, const char* string);
00381