source: pacpusframework/branches/2.0-beta1/include/extlib/uEye/uEye.h@ 94

Last change on this file since 94 was 89, checked in by morasjul, 12 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 146.5 KB
Line 
1/*****************************************************************************/
2/*! \file uEye.h
3* \author (c) 2004-2010 by Imaging Development Systems GmbH
4* \date $Date: 2010/04/08 $
5* \version $PRODUCTVERSION: 3.70 $
6* \version $Revision: 70 $
7*
8* \brief Library interface for IDS uEye - camera family.
9* definition of exported API functions and constants
10*//***************************************************************************/
11
12#ifndef __IDS_HEADER__
13#define __IDS_HEADER__
14
15#pragma pack(push, 8)
16
17#ifdef __cplusplus
18extern "C" {
19#endif /* __cplusplus */
20
21// ----------------------------------------------------------------------------
22// uEye.h version
23// ----------------------------------------------------------------------------
24#ifndef UEYE_VERSION
25# define UEYE_VERSION(major, minor, build) (((major)<<24) + ((minor)<<16) + (build))
26#endif
27
28#ifndef UEYE_VERSION_CODE
29# define UEYE_VERSION_CODE UEYE_VERSION(3, 70, 0)
30#endif
31
32// ----------------------------------------------------------------------------
33// Driver name
34// ----------------------------------------------------------------------------
35
36#if defined(__linux__) || defined(__LINUX__)
37# define DRIVER_DLL_NAME "libueye_api.so"
38#elif defined (_WIN64)
39# define DRIVER_DLL_NAME "ueye_api_64.dll"
40#else
41# define DRIVER_DLL_NAME "ueye_api.dll"
42#endif
43
44
45// ----------------------------------------------------------------------------
46// Color modes
47// ----------------------------------------------------------------------------
48#define IS_COLORMODE_INVALID 0
49#define IS_COLORMODE_MONOCHROME 1
50#define IS_COLORMODE_BAYER 2
51#define IS_COLORMODE_CBYCRY 4
52
53// ----------------------------------------------------------------------------
54// Sensor Types
55// ----------------------------------------------------------------------------
56#define IS_SENSOR_INVALID 0x0000
57
58// CMOS Sensors
59#define IS_SENSOR_UI141X_M 0x0001 // VGA rolling shutter, monochrome
60#define IS_SENSOR_UI141X_C 0x0002 // VGA rolling shutter, color
61#define IS_SENSOR_UI144X_M 0x0003 // SXGA rolling shutter, monochrome
62#define IS_SENSOR_UI144X_C 0x0004 // SXGA rolling shutter, SXGA color
63
64#define IS_SENSOR_UI154X_M 0x0030 // SXGA rolling shutter, monochrome
65#define IS_SENSOR_UI154X_C 0x0031 // SXGA rolling shutter, color
66#define IS_SENSOR_UI145X_C 0x0008 // UXGA rolling shutter, color
67
68#define IS_SENSOR_UI146X_C 0x000a // QXGA rolling shutter, color
69#define IS_SENSOR_UI148X_M 0x000b // 5MP rolling shutter, monochrome
70#define IS_SENSOR_UI148X_C 0x000c // 5MP rolling shutter, color
71
72#define IS_SENSOR_UI121X_M 0x0010 // VGA global shutter, monochrome
73#define IS_SENSOR_UI121X_C 0x0011 // VGA global shutter, VGA color
74#define IS_SENSOR_UI122X_M 0x0012 // WVGA global shutter, monochrome
75#define IS_SENSOR_UI122X_C 0x0013 // WVGA global shutter, color
76
77#define IS_SENSOR_UI164X_C 0x0015 // SXGA rolling shutter, color
78
79#define IS_SENSOR_UI155X_C 0x0017 // UXGA rolling shutter, color
80
81#define IS_SENSOR_UI1223_M 0x0018 // WVGA global shutter, monochrome
82#define IS_SENSOR_UI1223_C 0x0019 // WVGA global shutter, color
83
84#define IS_SENSOR_UI149X_M 0x003E // 10MP rolling shutter, monochrome
85#define IS_SENSOR_UI149X_C 0x003F // 10MP rolling shutter, color
86
87// LE models with xxx5
88#define IS_SENSOR_UI1225_M 0x0022 // WVGA global shutter, monochrome, LE model
89#define IS_SENSOR_UI1225_C 0x0023 // WVGA global shutter, color, LE model
90
91#define IS_SENSOR_UI1645_C 0x0025 // SXGA rolling shutter, color, LE model
92#define IS_SENSOR_UI1555_C 0x0027 // UXGA rolling shutter, color, LE model
93#define IS_SENSOR_UI1545_M 0x0028 // SXGA rolling shutter, monochrome, LE model
94#define IS_SENSOR_UI1545_C 0x0029 // SXGA rolling shutter, color, LE model
95#define IS_SENSOR_UI1455_C 0x002B // UXGA rolling shutter, color, LE model
96#define IS_SENSOR_UI1465_C 0x002D // QXGA rolling shutter, color, LE model
97#define IS_SENSOR_UI1485_M 0x002E // 5MP rolling shutter, monochrome, LE model
98#define IS_SENSOR_UI1485_C 0x002F // 5MP rolling shutter, color, LE model
99#define IS_SENSOR_UI1495_M 0x0040 // 10MP rolling shutter, monochrome, LE model
100#define IS_SENSOR_UI1495_C 0x0041 // 10MP rolling shutter, color, LE model
101
102#define IS_SENSOR_UI112X_M 0x004A // 0768x576, HDR sensor, monochrome
103#define IS_SENSOR_UI112X_C 0x004B // 0768x576, HDR sensor, color
104
105#define IS_SENSOR_UI1008_M 0x004C
106#define IS_SENSOR_UI1008_C 0x004D
107
108#define IS_SENSOR_UI1240_M 0x0050 // SXGA global shutter, monochrome
109#define IS_SENSOR_UI1240_C 0x0051 // SXGA global shutter, color
110
111// custom board level designs
112#define IS_SENSOR_UI1543_M 0x0032 // SXGA rolling shutter, monochrome, single board
113#define IS_SENSOR_UI1543_C 0x0033 // SXGA rolling shutter, color, single board
114
115#define IS_SENSOR_UI1544_M 0x003A // SXGA rolling shutter, monochrome, single board
116#define IS_SENSOR_UI1544_C 0x003B // SXGA rolling shutter, color, single board
117#define IS_SENSOR_UI1543_M_WO 0x003C // SXGA rolling shutter, monochrome, single board
118#define IS_SENSOR_UI1543_C_WO 0x003D // SXGA rolling shutter, color, single board
119#define IS_SENSOR_UI1453_C 0x0035 // UXGA rolling shutter, color, single board
120#define IS_SENSOR_UI1463_C 0x0037 // QXGA rolling shutter, color, single board
121#define IS_SENSOR_UI1483_M 0x0038 // QSXG rolling shutter, monochrome, single board
122#define IS_SENSOR_UI1483_C 0x0039 // QSXG rolling shutter, color, single board
123#define IS_SENSOR_UI1493_M 0x004E // 10Mp rolling shutter, monochrome, single board
124#define IS_SENSOR_UI1493_C 0x004F // 10MP rolling shutter, color, single board
125
126#define IS_SENSOR_UI1463_M_WO 0x0044 // QXGA rolling shutter, monochrome, single board
127#define IS_SENSOR_UI1463_C_WO 0x0045 // QXGA rolling shutter, color, single board
128
129#define IS_SENSOR_UI1553_C_WN 0x0047 // UXGA rolling shutter, color, single board
130#define IS_SENSOR_UI1483_M_WO 0x0048 // QSXGA rolling shutter, monochrome, single board
131#define IS_SENSOR_UI1483_C_WO 0x0049 // QSXGA rolling shutter, color, single board
132
133// CCD Sensors
134#define IS_SENSOR_UI223X_M 0x0080 // Sony CCD sensor - XGA monochrome
135#define IS_SENSOR_UI223X_C 0x0081 // Sony CCD sensor - XGA color
136
137#define IS_SENSOR_UI241X_M 0x0082 // Sony CCD sensor - VGA monochrome
138#define IS_SENSOR_UI241X_C 0x0083 // Sony CCD sensor - VGA color
139
140#define IS_SENSOR_UI234X_M 0x0084 // Sony CCD sensor - SXGA monochrome
141#define IS_SENSOR_UI234X_C 0x0085 // Sony CCD sensor - SXGA color
142
143#define IS_SENSOR_UI233X_M 0x0086 // Kodak CCD sensor - 1MP mono
144#define IS_SENSOR_UI233X_C 0x0087 // Kodak CCD sensor - 1MP color
145
146#define IS_SENSOR_UI221X_M 0x0088 // Sony CCD sensor - VGA monochrome
147#define IS_SENSOR_UI221X_C 0x0089 // Sony CCD sensor - VGA color
148
149#define IS_SENSOR_UI231X_M 0x0090 // Sony CCD sensor - VGA monochrome
150#define IS_SENSOR_UI231X_C 0x0091 // Sony CCD sensor - VGA color
151
152#define IS_SENSOR_UI222X_M 0x0092 // Sony CCD sensor - CCIR / PAL monochrome
153#define IS_SENSOR_UI222X_C 0x0093 // Sony CCD sensor - CCIR / PAL color
154
155#define IS_SENSOR_UI224X_M 0x0096 // Sony CCD sensor - SXGA monochrome
156#define IS_SENSOR_UI224X_C 0x0097 // Sony CCD sensor - SXGA color
157
158#define IS_SENSOR_UI225X_M 0x0098 // Sony CCD sensor - UXGA monochrome
159#define IS_SENSOR_UI225X_C 0x0099 // Sony CCD sensor - UXGA color
160
161#define IS_SENSOR_UI214X_M 0x009A // Sony CCD sensor - SXGA monochrome
162#define IS_SENSOR_UI214X_C 0x009B // Sony CCD sensor - SXGA color
163
164// ----------------------------------------------------------------------------
165// error codes
166// ----------------------------------------------------------------------------
167#define IS_NO_SUCCESS -1 // function call failed
168#define IS_SUCCESS 0 // function call succeeded
169#define IS_INVALID_CAMERA_HANDLE 1 // camera handle is not valid or zero
170#define IS_INVALID_HANDLE 1 // a handle other than the camera handle is invalid
171
172#define IS_IO_REQUEST_FAILED 2 // an io request to the driver failed
173#define IS_CANT_OPEN_DEVICE 3 // returned by is_InitCamera
174#define IS_CANT_CLOSE_DEVICE 4
175#define IS_CANT_SETUP_MEMORY 5
176#define IS_NO_HWND_FOR_ERROR_REPORT 6
177#define IS_ERROR_MESSAGE_NOT_CREATED 7
178#define IS_ERROR_STRING_NOT_FOUND 8
179#define IS_HOOK_NOT_CREATED 9
180#define IS_TIMER_NOT_CREATED 10
181#define IS_CANT_OPEN_REGISTRY 11
182#define IS_CANT_READ_REGISTRY 12
183#define IS_CANT_VALIDATE_BOARD 13
184#define IS_CANT_GIVE_BOARD_ACCESS 14
185#define IS_NO_IMAGE_MEM_ALLOCATED 15
186#define IS_CANT_CLEANUP_MEMORY 16
187#define IS_CANT_COMMUNICATE_WITH_DRIVER 17
188#define IS_FUNCTION_NOT_SUPPORTED_YET 18
189#define IS_OPERATING_SYSTEM_NOT_SUPPORTED 19
190
191#define IS_INVALID_VIDEO_IN 20
192#define IS_INVALID_IMG_SIZE 21
193#define IS_INVALID_ADDRESS 22
194#define IS_INVALID_VIDEO_MODE 23
195#define IS_INVALID_AGC_MODE 24
196#define IS_INVALID_GAMMA_MODE 25
197#define IS_INVALID_SYNC_LEVEL 26
198#define IS_INVALID_CBARS_MODE 27
199#define IS_INVALID_COLOR_MODE 28
200#define IS_INVALID_SCALE_FACTOR 29
201#define IS_INVALID_IMAGE_SIZE 30
202#define IS_INVALID_IMAGE_POS 31
203#define IS_INVALID_CAPTURE_MODE 32
204#define IS_INVALID_RISC_PROGRAM 33
205#define IS_INVALID_BRIGHTNESS 34
206#define IS_INVALID_CONTRAST 35
207#define IS_INVALID_SATURATION_U 36
208#define IS_INVALID_SATURATION_V 37
209#define IS_INVALID_HUE 38
210#define IS_INVALID_HOR_FILTER_STEP 39
211#define IS_INVALID_VERT_FILTER_STEP 40
212#define IS_INVALID_EEPROM_READ_ADDRESS 41
213#define IS_INVALID_EEPROM_WRITE_ADDRESS 42
214#define IS_INVALID_EEPROM_READ_LENGTH 43
215#define IS_INVALID_EEPROM_WRITE_LENGTH 44
216#define IS_INVALID_BOARD_INFO_POINTER 45
217#define IS_INVALID_DISPLAY_MODE 46
218#define IS_INVALID_ERR_REP_MODE 47
219#define IS_INVALID_BITS_PIXEL 48
220#define IS_INVALID_MEMORY_POINTER 49
221
222#define IS_FILE_WRITE_OPEN_ERROR 50
223#define IS_FILE_READ_OPEN_ERROR 51
224#define IS_FILE_READ_INVALID_BMP_ID 52
225#define IS_FILE_READ_INVALID_BMP_SIZE 53
226#define IS_FILE_READ_INVALID_BIT_COUNT 54
227#define IS_WRONG_KERNEL_VERSION 55
228
229#define IS_RISC_INVALID_XLENGTH 60
230#define IS_RISC_INVALID_YLENGTH 61
231#define IS_RISC_EXCEED_IMG_SIZE 62
232
233// DirectDraw Mode errors
234#define IS_DD_MAIN_FAILED 70
235#define IS_DD_PRIMSURFACE_FAILED 71
236#define IS_DD_SCRN_SIZE_NOT_SUPPORTED 72
237#define IS_DD_CLIPPER_FAILED 73
238#define IS_DD_CLIPPER_HWND_FAILED 74
239#define IS_DD_CLIPPER_CONNECT_FAILED 75
240#define IS_DD_BACKSURFACE_FAILED 76
241#define IS_DD_BACKSURFACE_IN_SYSMEM 77
242#define IS_DD_MDL_MALLOC_ERR 78
243#define IS_DD_MDL_SIZE_ERR 79
244#define IS_DD_CLIP_NO_CHANGE 80
245#define IS_DD_PRIMMEM_NULL 81
246#define IS_DD_BACKMEM_NULL 82
247#define IS_DD_BACKOVLMEM_NULL 83
248#define IS_DD_OVERLAYSURFACE_FAILED 84
249#define IS_DD_OVERLAYSURFACE_IN_SYSMEM 85
250#define IS_DD_OVERLAY_NOT_ALLOWED 86
251#define IS_DD_OVERLAY_COLKEY_ERR 87
252#define IS_DD_OVERLAY_NOT_ENABLED 88
253#define IS_DD_GET_DC_ERROR 89
254#define IS_DD_DDRAW_DLL_NOT_LOADED 90
255#define IS_DD_THREAD_NOT_CREATED 91
256#define IS_DD_CANT_GET_CAPS 92
257#define IS_DD_NO_OVERLAYSURFACE 93
258#define IS_DD_NO_OVERLAYSTRETCH 94
259#define IS_DD_CANT_CREATE_OVERLAYSURFACE 95
260#define IS_DD_CANT_UPDATE_OVERLAYSURFACE 96
261#define IS_DD_INVALID_STRETCH 97
262
263#define IS_EV_INVALID_EVENT_NUMBER 100
264#define IS_INVALID_MODE 101
265#define IS_CANT_FIND_FALCHOOK 102
266#define IS_CANT_FIND_HOOK 102
267#define IS_CANT_GET_HOOK_PROC_ADDR 103
268#define IS_CANT_CHAIN_HOOK_PROC 104
269#define IS_CANT_SETUP_WND_PROC 105
270#define IS_HWND_NULL 106
271#define IS_INVALID_UPDATE_MODE 107
272#define IS_NO_ACTIVE_IMG_MEM 108
273#define IS_CANT_INIT_EVENT 109
274#define IS_FUNC_NOT_AVAIL_IN_OS 110
275#define IS_CAMERA_NOT_CONNECTED 111
276#define IS_SEQUENCE_LIST_EMPTY 112
277#define IS_CANT_ADD_TO_SEQUENCE 113
278#define IS_LOW_OF_SEQUENCE_RISC_MEM 114
279#define IS_IMGMEM2FREE_USED_IN_SEQ 115
280#define IS_IMGMEM_NOT_IN_SEQUENCE_LIST 116
281#define IS_SEQUENCE_BUF_ALREADY_LOCKED 117
282#define IS_INVALID_DEVICE_ID 118
283#define IS_INVALID_BOARD_ID 119
284#define IS_ALL_DEVICES_BUSY 120
285#define IS_HOOK_BUSY 121
286#define IS_TIMED_OUT 122
287#define IS_NULL_POINTER 123
288#define IS_WRONG_HOOK_VERSION 124
289#define IS_INVALID_PARAMETER 125 // a parameter specified was invalid
290#define IS_NOT_ALLOWED 126
291#define IS_OUT_OF_MEMORY 127
292#define IS_INVALID_WHILE_LIVE 128
293#define IS_ACCESS_VIOLATION 129 // an internal exception occurred
294#define IS_UNKNOWN_ROP_EFFECT 130
295#define IS_INVALID_RENDER_MODE 131
296#define IS_INVALID_THREAD_CONTEXT 132
297#define IS_NO_HARDWARE_INSTALLED 133
298#define IS_INVALID_WATCHDOG_TIME 134
299#define IS_INVALID_WATCHDOG_MODE 135
300#define IS_INVALID_PASSTHROUGH_IN 136
301#define IS_ERROR_SETTING_PASSTHROUGH_IN 137
302#define IS_FAILURE_ON_SETTING_WATCHDOG 138
303#define IS_NO_USB20 139 // the usb port doesnt support usb 2.0
304#define IS_CAPTURE_RUNNING 140 // there is already a capture running
305
306#define IS_MEMORY_BOARD_ACTIVATED 141 // operation could not execute while mboard is enabled
307#define IS_MEMORY_BOARD_DEACTIVATED 142 // operation could not execute while mboard is disabled
308#define IS_NO_MEMORY_BOARD_CONNECTED 143 // no memory board connected
309#define IS_TOO_LESS_MEMORY 144 // image size is above memory capacity
310#define IS_IMAGE_NOT_PRESENT 145 // requested image is no longer present in the camera
311#define IS_MEMORY_MODE_RUNNING 146
312#define IS_MEMORYBOARD_DISABLED 147
313
314#define IS_TRIGGER_ACTIVATED 148 // operation could not execute while trigger is enabled
315#define IS_WRONG_KEY 150
316#define IS_CRC_ERROR 151
317#define IS_NOT_YET_RELEASED 152 // this feature is not available yet
318#define IS_NOT_CALIBRATED 153 // the camera is not calibrated
319#define IS_WAITING_FOR_KERNEL 154 // a request to the kernel exceeded
320#define IS_NOT_SUPPORTED 155 // operation mode is not supported
321#define IS_TRIGGER_NOT_ACTIVATED 156 // operation could not execute while trigger is disabled
322#define IS_OPERATION_ABORTED 157
323#define IS_BAD_STRUCTURE_SIZE 158
324#define IS_INVALID_BUFFER_SIZE 159
325#define IS_INVALID_PIXEL_CLOCK 160
326#define IS_INVALID_EXPOSURE_TIME 161
327#define IS_AUTO_EXPOSURE_RUNNING 162
328#define IS_CANNOT_CREATE_BB_SURF 163 // error creating backbuffer surface
329#define IS_CANNOT_CREATE_BB_MIX 164 // backbuffer mixer surfaces can not be created
330#define IS_BB_OVLMEM_NULL 165 // backbuffer overlay mem could not be locked
331#define IS_CANNOT_CREATE_BB_OVL 166 // backbuffer overlay mem could not be created
332#define IS_NOT_SUPP_IN_OVL_SURF_MODE 167 // function not supported in overlay surface mode
333#define IS_INVALID_SURFACE 168 // surface invalid
334#define IS_SURFACE_LOST 169 // surface has been lost
335#define IS_RELEASE_BB_OVL_DC 170 // error releasing backbuffer overlay DC
336#define IS_BB_TIMER_NOT_CREATED 171 // backbuffer timer could not be created
337#define IS_BB_OVL_NOT_EN 172 // backbuffer overlay has not been enabled
338#define IS_ONLY_IN_BB_MODE 173 // only possible in backbuffer mode
339#define IS_INVALID_COLOR_FORMAT 174 // invalid color format
340#define IS_INVALID_WB_BINNING_MODE 175 // invalid binning mode for AWB
341#define IS_INVALID_I2C_DEVICE_ADDRESS 176 // invalid I2C device address
342#define IS_COULD_NOT_CONVERT 177 // current image couldn't be converted
343#define IS_TRANSFER_ERROR 178 // transfer failed
344#define IS_PARAMETER_SET_NOT_PRESENT 179 // the parameter set is not present
345#define IS_INVALID_CAMERA_TYPE 180 // the camera type in the ini file doesn't match
346#define IS_INVALID_HOST_IP_HIBYTE 181 // HIBYTE of host address is invalid
347#define IS_CM_NOT_SUPP_IN_CURR_DISPLAYMODE 182 // color mode is not supported in the current display mode
348#define IS_NO_IR_FILTER 183
349#define IS_STARTER_FW_UPLOAD_NEEDED 184 // device starter firmware is not compatible
350
351#define IS_DR_LIBRARY_NOT_FOUND 185 // the DirectRender library could not be found
352#define IS_DR_DEVICE_OUT_OF_MEMORY 186 // insufficient graphics adapter video memory
353#define IS_DR_CANNOT_CREATE_SURFACE 187 // the image or overlay surface could not be created
354#define IS_DR_CANNOT_CREATE_VERTEX_BUFFER 188 // the vertex buffer could not be created
355#define IS_DR_CANNOT_CREATE_TEXTURE 189 // the texture could not be created
356#define IS_DR_CANNOT_LOCK_OVERLAY_SURFACE 190 // the overlay surface could not be locked
357#define IS_DR_CANNOT_UNLOCK_OVERLAY_SURFACE 191 // the overlay surface could not be unlocked
358#define IS_DR_CANNOT_GET_OVERLAY_DC 192 // cannot get the overlay surface DC
359#define IS_DR_CANNOT_RELEASE_OVERLAY_DC 193 // cannot release the overlay surface DC
360#define IS_DR_DEVICE_CAPS_INSUFFICIENT 194 // insufficient graphics adapter capabilities
361#define IS_INCOMPATIBLE_SETTING 195 // Operation is not possible because of another incompatible setting
362#define IS_DR_NOT_ALLOWED_WHILE_DC_IS_ACTIVE 196 // user App still has DC handle.
363
364// ----------------------------------------------------------------------------
365// common definitions
366// ----------------------------------------------------------------------------
367#define IS_OFF 0
368#define IS_ON 1
369#define IS_IGNORE_PARAMETER -1
370
371
372// ----------------------------------------------------------------------------
373// device enumeration
374// ----------------------------------------------------------------------------
375#define IS_USE_DEVICE_ID 0x8000L
376#define IS_ALLOW_STARTER_FW_UPLOAD 0x10000L
377
378// ----------------------------------------------------------------------------
379// AutoExit enable/disable
380// ----------------------------------------------------------------------------
381#define IS_GET_AUTO_EXIT_ENABLED 0x8000
382#define IS_DISABLE_AUTO_EXIT 0
383#define IS_ENABLE_AUTO_EXIT 1
384
385
386// ----------------------------------------------------------------------------
387// live/freeze parameters
388// ----------------------------------------------------------------------------
389#define IS_GET_LIVE 0x8000
390
391#define IS_WAIT 0x0001
392#define IS_DONT_WAIT 0x0000
393#define IS_FORCE_VIDEO_STOP 0x4000
394#define IS_FORCE_VIDEO_START 0x4000
395#define IS_USE_NEXT_MEM 0x8000
396
397
398// ----------------------------------------------------------------------------
399// video finish constants
400// ----------------------------------------------------------------------------
401#define IS_VIDEO_NOT_FINISH 0
402#define IS_VIDEO_FINISH 1
403
404
405// ----------------------------------------------------------------------------
406// bitmap render modes
407// ----------------------------------------------------------------------------
408#define IS_GET_RENDER_MODE 0x8000
409
410#define IS_RENDER_DISABLED 0
411#define IS_RENDER_NORMAL 1
412#define IS_RENDER_FIT_TO_WINDOW 2
413#define IS_RENDER_DOWNSCALE_1_2 4
414#define IS_RENDER_MIRROR_UPDOWN 16
415#define IS_RENDER_DOUBLE_HEIGHT 32
416#define IS_RENDER_HALF_HEIGHT 64
417
418#define IS_USE_AS_DC_HANDLE 0x8000
419
420// ----------------------------------------------------------------------------
421// external trigger modes
422// ----------------------------------------------------------------------------
423#define IS_GET_EXTERNALTRIGGER 0x8000
424#define IS_GET_TRIGGER_STATUS 0x8001
425#define IS_GET_TRIGGER_MASK 0x8002
426#define IS_GET_TRIGGER_INPUTS 0x8003
427#define IS_GET_SUPPORTED_TRIGGER_MODE 0x8004
428#define IS_GET_TRIGGER_COUNTER 0x8000
429
430// old defines for compatibility
431#define IS_SET_TRIG_OFF 0x0000
432#define IS_SET_TRIG_HI_LO 0x0001
433#define IS_SET_TRIG_LO_HI 0x0002
434#define IS_SET_TRIG_SOFTWARE 0x0008
435#define IS_SET_TRIG_HI_LO_SYNC 0x0010
436#define IS_SET_TRIG_LO_HI_SYNC 0x0020
437
438#define IS_SET_TRIG_MASK 0x0100
439
440#define IS_SET_TRIGGER_CONTINUOUS 0x1000
441#define IS_SET_TRIGGER_OFF IS_SET_TRIG_OFF
442#define IS_SET_TRIGGER_HI_LO (IS_SET_TRIGGER_CONTINUOUS | IS_SET_TRIG_HI_LO)
443#define IS_SET_TRIGGER_LO_HI (IS_SET_TRIGGER_CONTINUOUS | IS_SET_TRIG_LO_HI)
444#define IS_SET_TRIGGER_SOFTWARE (IS_SET_TRIGGER_CONTINUOUS | IS_SET_TRIG_SOFTWARE)
445#define IS_SET_TRIGGER_HI_LO_SYNC IS_SET_TRIG_HI_LO_SYNC
446#define IS_SET_TRIGGER_LO_HI_SYNC IS_SET_TRIG_LO_HI_SYNC
447
448#define IS_GET_TRIGGER_DELAY 0x8000
449#define IS_GET_MIN_TRIGGER_DELAY 0x8001
450#define IS_GET_MAX_TRIGGER_DELAY 0x8002
451#define IS_GET_TRIGGER_DELAY_GRANULARITY 0x8003
452
453// ----------------------------------------------------------------------------
454// Timing
455// ----------------------------------------------------------------------------
456// pixelclock
457#define IS_GET_PIXEL_CLOCK 0x8000
458#define IS_GET_DEFAULT_PIXEL_CLK 0x8001
459#define IS_GET_PIXEL_CLOCK_INC 0x8005
460
461// frame rate
462#define IS_GET_FRAMERATE 0x8000
463#define IS_GET_DEFAULT_FRAMERATE 0x8001
464
465// exposure
466#define IS_GET_EXPOSURE_TIME 0x8000
467#define IS_GET_DEFAULT_EXPOSURE 0x8001
468#define IS_GET_EXPOSURE_MIN_VALUE 0x8002
469#define IS_GET_EXPOSURE_MAX_VALUE 0x8003
470#define IS_GET_EXPOSURE_INCREMENT 0x8004
471#define IS_GET_EXPOSURE_FINE_INCREMENT 0x8005
472
473// ----------------------------------------------------------------------------
474// Gain definitions
475// ----------------------------------------------------------------------------
476#define IS_GET_MASTER_GAIN 0x8000
477#define IS_GET_RED_GAIN 0x8001
478#define IS_GET_GREEN_GAIN 0x8002
479#define IS_GET_BLUE_GAIN 0x8003
480#define IS_GET_DEFAULT_MASTER 0x8004
481#define IS_GET_DEFAULT_RED 0x8005
482#define IS_GET_DEFAULT_GREEN 0x8006
483#define IS_GET_DEFAULT_BLUE 0x8007
484#define IS_GET_GAINBOOST 0x8008
485#define IS_SET_GAINBOOST_ON 0x0001
486#define IS_SET_GAINBOOST_OFF 0x0000
487#define IS_GET_SUPPORTED_GAINBOOST 0x0002
488#define IS_MIN_GAIN 0
489#define IS_MAX_GAIN 100
490
491
492// ----------------------------------------------------------------------------
493// Gain factor definitions
494// ----------------------------------------------------------------------------
495#define IS_GET_MASTER_GAIN_FACTOR 0x8000
496#define IS_GET_RED_GAIN_FACTOR 0x8001
497#define IS_GET_GREEN_GAIN_FACTOR 0x8002
498#define IS_GET_BLUE_GAIN_FACTOR 0x8003
499#define IS_SET_MASTER_GAIN_FACTOR 0x8004
500#define IS_SET_RED_GAIN_FACTOR 0x8005
501#define IS_SET_GREEN_GAIN_FACTOR 0x8006
502#define IS_SET_BLUE_GAIN_FACTOR 0x8007
503#define IS_GET_DEFAULT_MASTER_GAIN_FACTOR 0x8008
504#define IS_GET_DEFAULT_RED_GAIN_FACTOR 0x8009
505#define IS_GET_DEFAULT_GREEN_GAIN_FACTOR 0x800a
506#define IS_GET_DEFAULT_BLUE_GAIN_FACTOR 0x800b
507#define IS_INQUIRE_MASTER_GAIN_FACTOR 0x800c
508#define IS_INQUIRE_RED_GAIN_FACTOR 0x800d
509#define IS_INQUIRE_GREEN_GAIN_FACTOR 0x800e
510#define IS_INQUIRE_BLUE_GAIN_FACTOR 0x800f
511
512
513// ----------------------------------------------------------------------------
514// Global Shutter definitions
515// ----------------------------------------------------------------------------
516#define IS_SET_GLOBAL_SHUTTER_ON 0x0001
517#define IS_SET_GLOBAL_SHUTTER_OFF 0x0000
518#define IS_GET_GLOBAL_SHUTTER 0x0010
519#define IS_GET_SUPPORTED_GLOBAL_SHUTTER 0x0020
520
521
522// ----------------------------------------------------------------------------
523// Black level definitions
524// ----------------------------------------------------------------------------
525#define IS_GET_BL_COMPENSATION 0x8000
526#define IS_GET_BL_OFFSET 0x8001
527#define IS_GET_BL_DEFAULT_MODE 0x8002
528#define IS_GET_BL_DEFAULT_OFFSET 0x8003
529#define IS_GET_BL_SUPPORTED_MODE 0x8004
530
531#define IS_BL_COMPENSATION_DISABLE 0
532#define IS_BL_COMPENSATION_ENABLE 1
533#define IS_BL_COMPENSATION_OFFSET 32
534
535#define IS_MIN_BL_OFFSET 0
536#define IS_MAX_BL_OFFSET 255
537
538// ----------------------------------------------------------------------------
539// hardware gamma definitions
540// ----------------------------------------------------------------------------
541#define IS_GET_HW_GAMMA 0x8000
542#define IS_GET_HW_SUPPORTED_GAMMA 0x8001
543
544#define IS_SET_HW_GAMMA_OFF 0x0000
545#define IS_SET_HW_GAMMA_ON 0x0001
546
547// ----------------------------------------------------------------------------
548// camera LUT
549// ----------------------------------------------------------------------------
550#define IS_ENABLE_CAMERA_LUT 0x0001
551#define IS_SET_CAMERA_LUT_VALUES 0x0002
552#define IS_ENABLE_RGB_GRAYSCALE 0x0004
553#define IS_GET_CAMERA_LUT_USER 0x0008
554#define IS_GET_CAMERA_LUT_COMPLETE 0x0010
555
556// ----------------------------------------------------------------------------
557// camera LUT presets
558// ----------------------------------------------------------------------------
559#define IS_CAMERA_LUT_IDENTITY 0x00000100
560#define IS_CAMERA_LUT_NEGATIV 0x00000200
561#define IS_CAMERA_LUT_GLOW1 0x00000400
562#define IS_CAMERA_LUT_GLOW2 0x00000800
563#define IS_CAMERA_LUT_ASTRO1 0x00001000
564#define IS_CAMERA_LUT_RAINBOW1 0x00002000
565#define IS_CAMERA_LUT_MAP1 0x00004000
566#define IS_CAMERA_LUT_COLD_HOT 0x00008000
567#define IS_CAMERA_LUT_SEPIC 0x00010000
568#define IS_CAMERA_LUT_ONLY_RED 0x00020000
569#define IS_CAMERA_LUT_ONLY_GREEN 0x00040000
570#define IS_CAMERA_LUT_ONLY_BLUE 0x00080000
571
572#define IS_CAMERA_LUT_64 64
573#define IS_CAMERA_LUT_128 128
574
575
576// ----------------------------------------------------------------------------
577// image parameters
578// ----------------------------------------------------------------------------
579// brightness
580#define IS_GET_BRIGHTNESS 0x8000
581#define IS_MIN_BRIGHTNESS 0
582#define IS_MAX_BRIGHTNESS 255
583#define IS_DEFAULT_BRIGHTNESS -1
584// contrast
585#define IS_GET_CONTRAST 0x8000
586#define IS_MIN_CONTRAST 0
587#define IS_MAX_CONTRAST 511
588#define IS_DEFAULT_CONTRAST -1
589// gamma
590#define IS_GET_GAMMA 0x8000
591#define IS_MIN_GAMMA 1
592#define IS_MAX_GAMMA 1000
593#define IS_DEFAULT_GAMMA -1
594// saturation (Falcon)
595#define IS_GET_SATURATION_U 0x8000
596#define IS_MIN_SATURATION_U 0
597#define IS_MAX_SATURATION_U 200
598#define IS_DEFAULT_SATURATION_U 100
599#define IS_GET_SATURATION_V 0x8001
600#define IS_MIN_SATURATION_V 0
601#define IS_MAX_SATURATION_V 200
602#define IS_DEFAULT_SATURATION_V 100
603// hue (Falcon)
604#define IS_GET_HUE 0x8000
605#define IS_MIN_HUE 0
606#define IS_MAX_HUE 255
607#define IS_DEFAULT_HUE 128
608
609
610// ----------------------------------------------------------------------------
611// Image position and size
612// ----------------------------------------------------------------------------
613#define IS_GET_IMAGE_SIZE_X 0x8000
614#define IS_GET_IMAGE_SIZE_Y 0x8001
615#define IS_GET_IMAGE_SIZE_X_INC 0x8002
616#define IS_GET_IMAGE_SIZE_Y_INC 0x8003
617#define IS_GET_IMAGE_SIZE_X_MIN 0x8004
618#define IS_GET_IMAGE_SIZE_Y_MIN 0x8005
619#define IS_GET_IMAGE_SIZE_X_MAX 0x8006
620#define IS_GET_IMAGE_SIZE_Y_MAX 0x8007
621
622#define IS_GET_IMAGE_POS_X 0x8001
623#define IS_GET_IMAGE_POS_Y 0x8002
624#define IS_GET_IMAGE_POS_X_ABS 0xC001
625#define IS_GET_IMAGE_POS_Y_ABS 0xC002
626#define IS_GET_IMAGE_POS_X_INC 0xC003
627#define IS_GET_IMAGE_POS_Y_INC 0xC004
628#define IS_GET_IMAGE_POS_X_MIN 0xC005
629#define IS_GET_IMAGE_POS_Y_MIN 0xC006
630#define IS_GET_IMAGE_POS_X_MAX 0xC007
631#define IS_GET_IMAGE_POS_Y_MAX 0xC008
632
633#define IS_SET_IMAGE_POS_X_ABS 0x00010000
634#define IS_SET_IMAGE_POS_Y_ABS 0x00010000
635
636// Compatibility
637#define IS_SET_IMAGEPOS_X_ABS 0x8000
638#define IS_SET_IMAGEPOS_Y_ABS 0x8000
639
640
641// ----------------------------------------------------------------------------
642// ROP effect constants
643// ----------------------------------------------------------------------------
644#define IS_GET_ROP_EFFECT 0x8000
645#define IS_GET_SUPPORTED_ROP_EFFECT 0x8001
646
647#define IS_SET_ROP_NONE 0
648#define IS_SET_ROP_MIRROR_UPDOWN 8
649#define IS_SET_ROP_MIRROR_UPDOWN_ODD 16
650#define IS_SET_ROP_MIRROR_UPDOWN_EVEN 32
651#define IS_SET_ROP_MIRROR_LEFTRIGHT 64
652
653
654// ----------------------------------------------------------------------------
655// Subsampling
656// ----------------------------------------------------------------------------
657#define IS_GET_SUBSAMPLING 0x8000
658#define IS_GET_SUPPORTED_SUBSAMPLING 0x8001
659#define IS_GET_SUBSAMPLING_TYPE 0x8002
660#define IS_GET_SUBSAMPLING_FACTOR_HORIZONTAL 0x8004
661#define IS_GET_SUBSAMPLING_FACTOR_VERTICAL 0x8008
662
663#define IS_SUBSAMPLING_DISABLE 0x00
664
665#define IS_SUBSAMPLING_2X_VERTICAL 0x0001
666#define IS_SUBSAMPLING_2X_HORIZONTAL 0x0002
667#define IS_SUBSAMPLING_4X_VERTICAL 0x0004
668#define IS_SUBSAMPLING_4X_HORIZONTAL 0x0008
669#define IS_SUBSAMPLING_3X_VERTICAL 0x0010
670#define IS_SUBSAMPLING_3X_HORIZONTAL 0x0020
671#define IS_SUBSAMPLING_5X_VERTICAL 0x0040
672#define IS_SUBSAMPLING_5X_HORIZONTAL 0x0080
673#define IS_SUBSAMPLING_6X_VERTICAL 0x0100
674#define IS_SUBSAMPLING_6X_HORIZONTAL 0x0200
675#define IS_SUBSAMPLING_8X_VERTICAL 0x0400
676#define IS_SUBSAMPLING_8X_HORIZONTAL 0x0800
677#define IS_SUBSAMPLING_16X_VERTICAL 0x1000
678#define IS_SUBSAMPLING_16X_HORIZONTAL 0x2000
679
680#define IS_SUBSAMPLING_COLOR 0x01
681#define IS_SUBSAMPLING_MONO 0x02
682
683#define IS_SUBSAMPLING_MASK_VERTICAL (IS_SUBSAMPLING_2X_VERTICAL | IS_SUBSAMPLING_4X_VERTICAL | IS_SUBSAMPLING_3X_VERTICAL | IS_SUBSAMPLING_5X_VERTICAL | IS_SUBSAMPLING_6X_VERTICAL | IS_SUBSAMPLING_8X_VERTICAL | IS_SUBSAMPLING_16X_VERTICAL)
684#define IS_SUBSAMPLING_MASK_HORIZONTAL (IS_SUBSAMPLING_2X_HORIZONTAL | IS_SUBSAMPLING_4X_HORIZONTAL | IS_SUBSAMPLING_3X_HORIZONTAL | IS_SUBSAMPLING_5X_HORIZONTAL | IS_SUBSAMPLING_6X_HORIZONTAL | IS_SUBSAMPLING_8X_HORIZONTAL | IS_SUBSAMPLING_16X_HORIZONTAL)
685
686// Compatibility
687#define IS_SUBSAMPLING_VERT IS_SUBSAMPLING_2X_VERTICAL
688#define IS_SUBSAMPLING_HOR IS_SUBSAMPLING_2X_HORIZONTAL
689
690
691// ----------------------------------------------------------------------------
692// Binning
693// ----------------------------------------------------------------------------
694#define IS_GET_BINNING 0x8000
695#define IS_GET_SUPPORTED_BINNING 0x8001
696#define IS_GET_BINNING_TYPE 0x8002
697#define IS_GET_BINNING_FACTOR_HORIZONTAL 0x8004
698#define IS_GET_BINNING_FACTOR_VERTICAL 0x8008
699
700#define IS_BINNING_DISABLE 0x00
701
702#define IS_BINNING_2X_VERTICAL 0x0001
703#define IS_BINNING_2X_HORIZONTAL 0x0002
704#define IS_BINNING_4X_VERTICAL 0x0004
705#define IS_BINNING_4X_HORIZONTAL 0x0008
706#define IS_BINNING_3X_VERTICAL 0x0010
707#define IS_BINNING_3X_HORIZONTAL 0x0020
708#define IS_BINNING_5X_VERTICAL 0x0040
709#define IS_BINNING_5X_HORIZONTAL 0x0080
710#define IS_BINNING_6X_VERTICAL 0x0100
711#define IS_BINNING_6X_HORIZONTAL 0x0200
712#define IS_BINNING_8X_VERTICAL 0x0400
713#define IS_BINNING_8X_HORIZONTAL 0x0800
714#define IS_BINNING_16X_VERTICAL 0x1000
715#define IS_BINNING_16X_HORIZONTAL 0x2000
716
717#define IS_BINNING_COLOR 0x01
718#define IS_BINNING_MONO 0x02
719
720#define IS_BINNING_MASK_VERTICAL (IS_BINNING_2X_VERTICAL | IS_BINNING_3X_VERTICAL | IS_BINNING_4X_VERTICAL | IS_BINNING_5X_VERTICAL | IS_BINNING_6X_VERTICAL | IS_BINNING_8X_VERTICAL | IS_BINNING_16X_VERTICAL)
721#define IS_BINNING_MASK_HORIZONTAL (IS_BINNING_2X_HORIZONTAL | IS_BINNING_3X_HORIZONTAL | IS_BINNING_4X_HORIZONTAL | IS_BINNING_5X_HORIZONTAL | IS_BINNING_6X_HORIZONTAL | IS_BINNING_8X_HORIZONTAL | IS_BINNING_16X_HORIZONTAL)
722
723// Compatibility
724#define IS_BINNING_VERT IS_BINNING_2X_VERTICAL
725#define IS_BINNING_HOR IS_BINNING_2X_HORIZONTAL
726
727// ----------------------------------------------------------------------------
728// Auto Control Parameter
729// ----------------------------------------------------------------------------
730#define IS_SET_ENABLE_AUTO_GAIN 0x8800
731#define IS_GET_ENABLE_AUTO_GAIN 0x8801
732#define IS_SET_ENABLE_AUTO_SHUTTER 0x8802
733#define IS_GET_ENABLE_AUTO_SHUTTER 0x8803
734#define IS_SET_ENABLE_AUTO_WHITEBALANCE 0x8804
735#define IS_GET_ENABLE_AUTO_WHITEBALANCE 0x8805
736#define IS_SET_ENABLE_AUTO_FRAMERATE 0x8806
737#define IS_GET_ENABLE_AUTO_FRAMERATE 0x8807
738#define IS_SET_ENABLE_AUTO_SENSOR_GAIN 0x8808
739#define IS_GET_ENABLE_AUTO_SENSOR_GAIN 0x8809
740#define IS_SET_ENABLE_AUTO_SENSOR_SHUTTER 0x8810
741#define IS_GET_ENABLE_AUTO_SENSOR_SHUTTER 0x8811
742#define IS_SET_ENABLE_AUTO_SENSOR_GAIN_SHUTTER 0x8812
743#define IS_GET_ENABLE_AUTO_SENSOR_GAIN_SHUTTER 0x8813
744#define IS_SET_ENABLE_AUTO_SENSOR_FRAMERATE 0x8814
745#define IS_GET_ENABLE_AUTO_SENSOR_FRAMERATE 0x8815
746#define IS_SET_ENABLE_AUTO_SENSOR_WHITEBALANCE 0x8816
747#define IS_GET_ENABLE_AUTO_SENSOR_WHITEBALANCE 0x8817
748
749
750
751
752
753
754#define IS_SET_AUTO_REFERENCE 0x8000
755#define IS_GET_AUTO_REFERENCE 0x8001
756#define IS_SET_AUTO_GAIN_MAX 0x8002
757#define IS_GET_AUTO_GAIN_MAX 0x8003
758#define IS_SET_AUTO_SHUTTER_MAX 0x8004
759#define IS_GET_AUTO_SHUTTER_MAX 0x8005
760#define IS_SET_AUTO_SPEED 0x8006
761#define IS_GET_AUTO_SPEED 0x8007
762#define IS_SET_AUTO_WB_OFFSET 0x8008
763#define IS_GET_AUTO_WB_OFFSET 0x8009
764#define IS_SET_AUTO_WB_GAIN_RANGE 0x800A
765#define IS_GET_AUTO_WB_GAIN_RANGE 0x800B
766#define IS_SET_AUTO_WB_SPEED 0x800C
767#define IS_GET_AUTO_WB_SPEED 0x800D
768#define IS_SET_AUTO_WB_ONCE 0x800E
769#define IS_GET_AUTO_WB_ONCE 0x800F
770#define IS_SET_AUTO_BRIGHTNESS_ONCE 0x8010
771#define IS_GET_AUTO_BRIGHTNESS_ONCE 0x8011
772#define IS_SET_AUTO_HYSTERESIS 0x8012
773#define IS_GET_AUTO_HYSTERESIS 0x8013
774#define IS_GET_AUTO_HYSTERESIS_RANGE 0x8014
775#define IS_SET_AUTO_WB_HYSTERESIS 0x8015
776#define IS_GET_AUTO_WB_HYSTERESIS 0x8016
777#define IS_GET_AUTO_WB_HYSTERESIS_RANGE 0x8017
778#define IS_SET_AUTO_SKIPFRAMES 0x8018
779#define IS_GET_AUTO_SKIPFRAMES 0x8019
780#define IS_GET_AUTO_SKIPFRAMES_RANGE 0x801A
781#define IS_SET_AUTO_WB_SKIPFRAMES 0x801B
782#define IS_GET_AUTO_WB_SKIPFRAMES 0x801C
783#define IS_GET_AUTO_WB_SKIPFRAMES_RANGE 0x801D
784#define IS_SET_SENS_AUTO_SHUTTER_PHOTOM 0x801E
785#define IS_SET_SENS_AUTO_GAIN_PHOTOM 0x801F
786#define IS_GET_SENS_AUTO_SHUTTER_PHOTOM 0x8020
787#define IS_GET_SENS_AUTO_GAIN_PHOTOM 0x8021
788#define IS_GET_SENS_AUTO_SHUTTER_PHOTOM_DEF 0x8022
789#define IS_GET_SENS_AUTO_GAIN_PHOTOM_DEF 0x8023
790#define IS_SET_SENS_AUTO_CONTRAST_CORRECTION 0x8024
791#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION 0x8025
792#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_RANGE 0x8026
793#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_INC 0x8027
794#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_DEF 0x8028
795#define IS_SET_SENS_AUTO_CONTRAST_FDT_AOI_ENABLE 0x8029
796#define IS_GET_SENS_AUTO_CONTRAST_FDT_AOI_ENABLE 0x8030
797#define IS_SET_SENS_AUTO_BACKLIGHT_COMP 0x8031
798#define IS_GET_SENS_AUTO_BACKLIGHT_COMP 0x8032
799#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_RANGE 0x8033
800#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_INC 0x8034
801#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_DEF 0x8035
802#define IS_SET_ANTI_FLICKER_MODE 0x8036
803#define IS_GET_ANTI_FLICKER_MODE 0x8037
804#define IS_GET_ANTI_FLICKER_MODE_DEF 0x8038
805
806
807
808// ----------------------------------------------------------------------------
809// Auto Control definitions
810// ----------------------------------------------------------------------------
811#define IS_MIN_AUTO_BRIGHT_REFERENCE 0
812#define IS_MAX_AUTO_BRIGHT_REFERENCE 255
813#define IS_DEFAULT_AUTO_BRIGHT_REFERENCE 128
814#define IS_MIN_AUTO_SPEED 0
815#define IS_MAX_AUTO_SPEED 100
816#define IS_DEFAULT_AUTO_SPEED 50
817
818#define IS_DEFAULT_AUTO_WB_OFFSET 0
819#define IS_MIN_AUTO_WB_OFFSET -50
820#define IS_MAX_AUTO_WB_OFFSET 50
821#define IS_DEFAULT_AUTO_WB_SPEED 50
822#define IS_MIN_AUTO_WB_SPEED 0
823#define IS_MAX_AUTO_WB_SPEED 100
824#define IS_MIN_AUTO_WB_REFERENCE 0
825#define IS_MAX_AUTO_WB_REFERENCE 255
826
827
828// ----------------------------------------------------------------------------
829// AOI types to set/get
830// ----------------------------------------------------------------------------
831#define IS_SET_AUTO_BRIGHT_AOI 0x8000
832#define IS_GET_AUTO_BRIGHT_AOI 0x8001
833#define IS_SET_IMAGE_AOI 0x8002
834#define IS_GET_IMAGE_AOI 0x8003
835#define IS_SET_AUTO_WB_AOI 0x8004
836#define IS_GET_AUTO_WB_AOI 0x8005
837
838
839// ----------------------------------------------------------------------------
840// color modes
841// ----------------------------------------------------------------------------
842#define IS_GET_COLOR_MODE 0x8000
843
844#define IS_SET_CM_RGB32 0
845#define IS_SET_CM_RGB24 1
846#define IS_SET_CM_RGB16 2
847#define IS_SET_CM_RGB15 3
848#define IS_SET_CM_Y8 6
849#define IS_SET_CM_RGB8 7
850#define IS_SET_CM_BAYER 11
851#define IS_SET_CM_UYVY 12
852#define IS_SET_CM_UYVY_MONO 13
853#define IS_SET_CM_UYVY_BAYER 14
854#define IS_SET_CM_CBYCRY 23
855
856#define IS_SET_CM_RGBY 24
857#define IS_SET_CM_RGB30 25
858#define IS_SET_CM_Y12 26
859#define IS_SET_CM_BAYER12 27
860#define IS_SET_CM_Y16 28
861#define IS_SET_CM_BAYER16 29
862
863#define IS_CM_MODE_MASK 0x007F
864
865// planar vs packed format
866#define IS_CM_FORMAT_PACKED 0x0000
867#define IS_CM_FORMAT_PLANAR 0x2000
868#define IS_CM_FORMAT_MASK 0x2000
869
870// BGR vs. RGB order
871#define IS_CM_ORDER_BGR 0x0000
872#define IS_CM_ORDER_RGB 0x0080
873#define IS_CM_ORDER_MASK 0x0080
874
875
876// define compliant color format names
877#define IS_CM_MONO8 IS_SET_CM_Y8 // occupies 8 Bit
878#define IS_CM_MONO12 IS_SET_CM_Y12 // occupies 16 Bit
879#define IS_CM_MONO16 IS_SET_CM_Y16 // occupies 16 Bit
880
881#define IS_CM_BAYER_RG8 IS_SET_CM_BAYER // occupies 8 Bit
882#define IS_CM_BAYER_RG12 IS_SET_CM_BAYER12 // occupies 16 Bit
883#define IS_CM_BAYER_RG16 IS_SET_CM_BAYER16 // occupies 16 Bit
884
885#define IS_CM_BGR555_PACKED (IS_SET_CM_RGB15 | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 16 Bit
886#define IS_CM_BGR565_PACKED (IS_SET_CM_RGB16 | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 16 Bit
887
888#define IS_CM_RGB8_PACKED (IS_SET_CM_RGB24 | IS_CM_ORDER_RGB | IS_CM_FORMAT_PACKED) // occupies 24 Bit
889#define IS_CM_BGR8_PACKED (IS_SET_CM_RGB24 | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 24 Bit
890#define IS_CM_RGBA8_PACKED (IS_SET_CM_RGB32 | IS_CM_ORDER_RGB | IS_CM_FORMAT_PACKED) // occupies 32 Bit
891#define IS_CM_BGRA8_PACKED (IS_SET_CM_RGB32 | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 32 Bit
892#define IS_CM_RGBY8_PACKED (IS_SET_CM_RGBY | IS_CM_ORDER_RGB | IS_CM_FORMAT_PACKED) // occupies 32 Bit
893#define IS_CM_BGRY8_PACKED (IS_SET_CM_RGBY | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 32 Bit
894#define IS_CM_RGB10V2_PACKED (IS_SET_CM_RGB30 | IS_CM_ORDER_RGB | IS_CM_FORMAT_PACKED) // occupies 32 Bit
895#define IS_CM_BGR10V2_PACKED (IS_SET_CM_RGB30 | IS_CM_ORDER_BGR | IS_CM_FORMAT_PACKED) // occupies 32 Bit
896
897#define IS_CM_YUV422_PACKED //no compliant version
898#define IS_CM_UYVY_PACKED (IS_SET_CM_UYVY | IS_CM_FORMAT_PACKED) // occupies 16 Bit
899#define IS_CM_UYVY_MONO_PACKED (IS_SET_CM_UYVY_MONO | IS_CM_FORMAT_PACKED)
900#define IS_CM_UYVY_BAYER_PACKED (IS_SET_CM_UYVY_BAYER | IS_CM_FORMAT_PACKED)
901#define IS_CM_CBYCRY_PACKED (IS_SET_CM_CBYCRY | IS_CM_FORMAT_PACKED) // occupies 16 Bit
902
903#define IS_CM_RGB8_PLANAR //no compliant version
904#define IS_CM_RGB12_PLANAR //no compliant version
905#define IS_CM_RGB16_PLANAR //no compliant version
906
907
908#define IS_CM_ALL_POSSIBLE 0xFFFF
909
910// ----------------------------------------------------------------------------
911// Hotpixel correction
912// ----------------------------------------------------------------------------
913#define IS_GET_BPC_MODE 0x8000
914#define IS_GET_BPC_THRESHOLD 0x8001
915#define IS_GET_BPC_SUPPORTED_MODE 0x8002
916
917#define IS_BPC_DISABLE 0
918#define IS_BPC_ENABLE_LEVEL_1 1
919#define IS_BPC_ENABLE_LEVEL_2 2
920#define IS_BPC_ENABLE_USER 4
921#define IS_BPC_ENABLE_SOFTWARE IS_BPC_ENABLE_LEVEL_2
922#define IS_BPC_ENABLE_HARDWARE IS_BPC_ENABLE_LEVEL_1
923
924#define IS_SET_BADPIXEL_LIST 0x01
925#define IS_GET_BADPIXEL_LIST 0x02
926#define IS_GET_LIST_SIZE 0x03
927
928
929// ----------------------------------------------------------------------------
930// color correction definitions
931// ----------------------------------------------------------------------------
932#define IS_GET_CCOR_MODE 0x8000
933#define IS_GET_SUPPORTED_CCOR_MODE 0x8001
934#define IS_GET_DEFAULT_CCOR_MODE 0x8002
935#define IS_GET_CCOR_FACTOR 0x8003
936#define IS_GET_CCOR_FACTOR_MIN 0x8004
937#define IS_GET_CCOR_FACTOR_MAX 0x8005
938#define IS_GET_CCOR_FACTOR_DEFAULT 0x8006
939
940#define IS_CCOR_DISABLE 0x0000
941#define IS_CCOR_ENABLE 0x0001
942#define IS_CCOR_ENABLE_NORMAL IS_CCOR_ENABLE
943#define IS_CCOR_ENABLE_BG40_ENHANCED 0x0002
944#define IS_CCOR_ENABLE_HQ_ENHANCED 0x0004
945#define IS_CCOR_SET_IR_AUTOMATIC 0x0080
946#define IS_CCOR_FACTOR 0x0100
947
948#define IS_CCOR_ENABLE_MASK (IS_CCOR_ENABLE_NORMAL | IS_CCOR_ENABLE_BG40_ENHANCED | IS_CCOR_ENABLE_HQ_ENHANCED)
949
950
951// ----------------------------------------------------------------------------
952// bayer algorithm modes
953// ----------------------------------------------------------------------------
954#define IS_GET_BAYER_CV_MODE 0x8000
955
956#define IS_SET_BAYER_CV_NORMAL 0x0000
957#define IS_SET_BAYER_CV_BETTER 0x0001
958#define IS_SET_BAYER_CV_BEST 0x0002
959
960
961// ----------------------------------------------------------------------------
962// color converter modes
963// ----------------------------------------------------------------------------
964#define IS_CONV_MODE_NONE 0x0000
965#define IS_CONV_MODE_SOFTWARE 0x0001
966#define IS_CONV_MODE_SOFTWARE_3X3 0x0002
967#define IS_CONV_MODE_SOFTWARE_5X5 0x0004
968#define IS_CONV_MODE_HARDWARE_3X3 0x0008
969
970
971// ----------------------------------------------------------------------------
972// Edge enhancement
973// ----------------------------------------------------------------------------
974#define IS_GET_EDGE_ENHANCEMENT 0x8000
975
976#define IS_EDGE_EN_DISABLE 0
977#define IS_EDGE_EN_STRONG 1
978#define IS_EDGE_EN_WEAK 2
979
980
981// ----------------------------------------------------------------------------
982// white balance modes
983// ----------------------------------------------------------------------------
984#define IS_GET_WB_MODE 0x8000
985
986#define IS_SET_WB_DISABLE 0x0000
987#define IS_SET_WB_USER 0x0001
988#define IS_SET_WB_AUTO_ENABLE 0x0002
989#define IS_SET_WB_AUTO_ENABLE_ONCE 0x0004
990
991#define IS_SET_WB_DAYLIGHT_65 0x0101
992#define IS_SET_WB_COOL_WHITE 0x0102
993#define IS_SET_WB_U30 0x0103
994#define IS_SET_WB_ILLUMINANT_A 0x0104
995#define IS_SET_WB_HORIZON 0x0105
996
997
998// ----------------------------------------------------------------------------
999// flash strobe constants
1000// ----------------------------------------------------------------------------
1001#define IS_GET_FLASHSTROBE_MODE 0x8000
1002#define IS_GET_FLASHSTROBE_LINE 0x8001
1003#define IS_GET_SUPPORTED_FLASH_IO_PORTS 0x8002
1004
1005#define IS_SET_FLASH_OFF 0
1006#define IS_SET_FLASH_ON 1
1007#define IS_SET_FLASH_LO_ACTIVE IS_SET_FLASH_ON
1008#define IS_SET_FLASH_HI_ACTIVE 2
1009#define IS_SET_FLASH_HIGH 3
1010#define IS_SET_FLASH_LOW 4
1011#define IS_SET_FLASH_LO_ACTIVE_FREERUN 5
1012#define IS_SET_FLASH_HI_ACTIVE_FREERUN 6
1013#define IS_SET_FLASH_IO_1 0x0010
1014#define IS_SET_FLASH_IO_2 0x0020
1015#define IS_SET_FLASH_IO_3 0x0040
1016#define IS_SET_FLASH_IO_4 0x0080
1017#define IS_FLASH_IO_PORT_MASK (IS_SET_FLASH_IO_1 | IS_SET_FLASH_IO_2 | IS_SET_FLASH_IO_3 | IS_SET_FLASH_IO_4)
1018
1019#define IS_GET_FLASH_DELAY -1
1020#define IS_GET_FLASH_DURATION -2
1021#define IS_GET_MAX_FLASH_DELAY -3
1022#define IS_GET_MAX_FLASH_DURATION -4
1023#define IS_GET_MIN_FLASH_DELAY -5
1024#define IS_GET_MIN_FLASH_DURATION -6
1025#define IS_GET_FLASH_DELAY_GRANULARITY -7
1026#define IS_GET_FLASH_DURATION_GRANULARITY -8
1027
1028// ----------------------------------------------------------------------------
1029// Digital IO constants
1030// ----------------------------------------------------------------------------
1031#define IS_GET_IO 0x8000
1032#define IS_GET_IO_MASK 0x8000
1033#define IS_GET_INPUT_MASK 0x8001
1034#define IS_GET_OUTPUT_MASK 0x8002
1035#define IS_GET_SUPPORTED_IO_PORTS 0x8004
1036
1037
1038// ----------------------------------------------------------------------------
1039// EEPROM defines
1040// ----------------------------------------------------------------------------
1041#define IS_EEPROM_MIN_USER_ADDRESS 0
1042#define IS_EEPROM_MAX_USER_ADDRESS 63
1043#define IS_EEPROM_MAX_USER_SPACE 64
1044
1045
1046// ----------------------------------------------------------------------------
1047// error report modes
1048// ----------------------------------------------------------------------------
1049#define IS_GET_ERR_REP_MODE 0x8000
1050#define IS_ENABLE_ERR_REP 1
1051#define IS_DISABLE_ERR_REP 0
1052
1053
1054// ----------------------------------------------------------------------------
1055// display mode selectors
1056// ----------------------------------------------------------------------------
1057#define IS_GET_DISPLAY_MODE 0x8000
1058#define IS_GET_DISPLAY_SIZE_X 0x8000
1059#define IS_GET_DISPLAY_SIZE_Y 0x8001
1060#define IS_GET_DISPLAY_POS_X 0x8000
1061#define IS_GET_DISPLAY_POS_Y 0x8001
1062
1063#define IS_SET_DM_DIB 1
1064#define IS_SET_DM_DIRECTDRAW 2
1065#define IS_SET_DM_DIRECT3D 4
1066#define IS_SET_DM_ALLOW_SYSMEM 0x40
1067#define IS_SET_DM_ALLOW_PRIMARY 0x80
1068
1069// -- overlay display mode ---
1070#define IS_GET_DD_OVERLAY_SCALE 0x8000
1071
1072#define IS_SET_DM_ALLOW_OVERLAY 0x100
1073#define IS_SET_DM_ALLOW_SCALING 0x200
1074#define IS_SET_DM_ALLOW_FIELDSKIP 0x400
1075#define IS_SET_DM_MONO 0x800
1076#define IS_SET_DM_BAYER 0x1000
1077#define IS_SET_DM_YCBCR 0x4000
1078
1079// -- backbuffer display mode ---
1080#define IS_SET_DM_BACKBUFFER 0x2000
1081
1082
1083// ----------------------------------------------------------------------------
1084// DirectRenderer commands
1085// ----------------------------------------------------------------------------
1086#define DR_GET_OVERLAY_DC 1
1087#define DR_GET_MAX_OVERLAY_SIZE 2
1088#define DR_GET_OVERLAY_KEY_COLOR 3
1089#define DR_RELEASE_OVERLAY_DC 4
1090#define DR_SHOW_OVERLAY 5
1091#define DR_HIDE_OVERLAY 6
1092#define DR_SET_OVERLAY_SIZE 7
1093#define DR_SET_OVERLAY_POSITION 8
1094#define DR_SET_OVERLAY_KEY_COLOR 9
1095#define DR_SET_HWND 10
1096#define DR_ENABLE_SCALING 11
1097#define DR_DISABLE_SCALING 12
1098#define DR_CLEAR_OVERLAY 13
1099#define DR_ENABLE_SEMI_TRANSPARENT_OVERLAY 14
1100#define DR_DISABLE_SEMI_TRANSPARENT_OVERLAY 15
1101#define DR_CHECK_COMPATIBILITY 16
1102#define DR_SET_VSYNC_OFF 17
1103#define DR_SET_VSYNC_AUTO 18
1104#define DR_SET_USER_SYNC 19
1105#define DR_GET_USER_SYNC_POSITION_RANGE 20
1106#define DR_LOAD_OVERLAY_FROM_FILE 21
1107#define DR_STEAL_NEXT_FRAME 22
1108#define DR_SET_STEAL_FORMAT 23
1109#define DR_GET_STEAL_FORMAT 24
1110#define DR_ENABLE_IMAGE_SCALING 25
1111#define DR_GET_OVERLAY_SIZE 26
1112#define DR_CHECK_COLOR_MODE_SUPPORT 27
1113
1114// ----------------------------------------------------------------------------
1115// DirectDraw keying color constants
1116// ----------------------------------------------------------------------------
1117#define IS_GET_KC_RED 0x8000
1118#define IS_GET_KC_GREEN 0x8001
1119#define IS_GET_KC_BLUE 0x8002
1120#define IS_GET_KC_RGB 0x8003
1121#define IS_GET_KC_INDEX 0x8004
1122#define IS_GET_KEYOFFSET_X 0x8000
1123#define IS_GET_KEYOFFSET_Y 0x8001
1124
1125// RGB-triple for default key-color in 15,16,24,32 bit mode
1126#define IS_SET_KC_DEFAULT 0xFF00FF // 0xbbggrr
1127// color index for default key-color in 8bit palette mode
1128#define IS_SET_KC_DEFAULT_8 253
1129
1130
1131// ----------------------------------------------------------------------------
1132// Memoryboard
1133// ----------------------------------------------------------------------------
1134#define IS_MEMORY_GET_COUNT 0x8000
1135#define IS_MEMORY_GET_DELAY 0x8001
1136#define IS_MEMORY_MODE_DISABLE 0x0000
1137#define IS_MEMORY_USE_TRIGGER 0xFFFF
1138
1139
1140// ----------------------------------------------------------------------------
1141// Test image modes
1142// ----------------------------------------------------------------------------
1143#define IS_GET_TEST_IMAGE 0x8000
1144
1145#define IS_SET_TEST_IMAGE_DISABLED 0x0000
1146#define IS_SET_TEST_IMAGE_MEMORY_1 0x0001
1147#define IS_SET_TEST_IMAGE_MEMORY_2 0x0002
1148#define IS_SET_TEST_IMAGE_MEMORY_3 0x0003
1149
1150
1151// ----------------------------------------------------------------------------
1152// Led settings
1153// ----------------------------------------------------------------------------
1154#define IS_SET_LED_OFF 0
1155#define IS_SET_LED_ON 1
1156#define IS_SET_LED_TOGGLE 2
1157#define IS_GET_LED 0x8000
1158
1159
1160// ----------------------------------------------------------------------------
1161// save options
1162// ----------------------------------------------------------------------------
1163#define IS_SAVE_USE_ACTUAL_IMAGE_SIZE 0x00010000
1164
1165// ----------------------------------------------------------------------------
1166// renumeration modes
1167// ----------------------------------------------------------------------------
1168#define IS_RENUM_BY_CAMERA 0
1169#define IS_RENUM_BY_HOST 1
1170
1171// ----------------------------------------------------------------------------
1172// event constants
1173// ----------------------------------------------------------------------------
1174#define IS_SET_EVENT_ODD 0
1175#define IS_SET_EVENT_EVEN 1
1176#define IS_SET_EVENT_FRAME 2
1177#define IS_SET_EVENT_EXTTRIG 3
1178#define IS_SET_EVENT_VSYNC 4
1179#define IS_SET_EVENT_SEQ 5
1180#define IS_SET_EVENT_STEAL 6
1181#define IS_SET_EVENT_VPRES 7
1182#define IS_SET_EVENT_TRANSFER_FAILED 8
1183#define IS_SET_EVENT_DEVICE_RECONNECTED 9
1184#define IS_SET_EVENT_MEMORY_MODE_FINISH 10
1185#define IS_SET_EVENT_FRAME_RECEIVED 11
1186#define IS_SET_EVENT_WB_FINISHED 12
1187#define IS_SET_EVENT_AUTOBRIGHTNESS_FINISHED 13
1188#define IS_SET_EVENT_OVERLAY_DATA_LOST 16
1189
1190#define IS_SET_EVENT_REMOVE 128
1191#define IS_SET_EVENT_REMOVAL 129
1192#define IS_SET_EVENT_NEW_DEVICE 130
1193
1194
1195// ----------------------------------------------------------------------------
1196// Window message defines
1197// ----------------------------------------------------------------------------
1198#define IS_UEYE_MESSAGE (WM_USER + 0x0100)
1199 #define IS_FRAME 0x0000
1200 #define IS_SEQUENCE 0x0001
1201 #define IS_TRIGGER 0x0002
1202 #define IS_TRANSFER_FAILED 0x0003
1203 #define IS_DEVICE_RECONNECTED 0x0004
1204 #define IS_MEMORY_MODE_FINISH 0x0005
1205 #define IS_FRAME_RECEIVED 0x0006
1206 #define IS_GENERIC_ERROR 0x0007
1207 #define IS_STEAL_VIDEO 0x0008
1208 #define IS_WB_FINISHED 0x0009
1209 #define IS_AUTOBRIGHTNESS_FINISHED 0x000A
1210 #define IS_OVERLAY_DATA_LOST 0x000B
1211
1212 #define IS_DEVICE_REMOVED 0x1000
1213 #define IS_DEVICE_REMOVAL 0x1001
1214 #define IS_NEW_DEVICE 0x1002
1215
1216
1217// ----------------------------------------------------------------------------
1218// camera id constants
1219// ----------------------------------------------------------------------------
1220#define IS_GET_CAMERA_ID 0x8000
1221
1222
1223// ----------------------------------------------------------------------------
1224// camera info constants
1225// ----------------------------------------------------------------------------
1226#define IS_GET_STATUS 0x8000
1227
1228#define IS_EXT_TRIGGER_EVENT_CNT 0
1229#define IS_FIFO_OVR_CNT 1
1230#define IS_SEQUENCE_CNT 2
1231#define IS_LAST_FRAME_FIFO_OVR 3
1232#define IS_SEQUENCE_SIZE 4
1233#define IS_VIDEO_PRESENT 5
1234#define IS_STEAL_FINISHED 6
1235#define IS_STORE_FILE_PATH 7
1236#define IS_LUMA_BANDWIDTH_FILTER 8
1237#define IS_BOARD_REVISION 9
1238#define IS_MIRROR_BITMAP_UPDOWN 10
1239#define IS_BUS_OVR_CNT 11
1240#define IS_STEAL_ERROR_CNT 12
1241#define IS_LOW_COLOR_REMOVAL 13
1242#define IS_CHROMA_COMB_FILTER 14
1243#define IS_CHROMA_AGC 15
1244#define IS_WATCHDOG_ON_BOARD 16
1245#define IS_PASSTHROUGH_ON_BOARD 17
1246#define IS_EXTERNAL_VREF_MODE 18
1247#define IS_WAIT_TIMEOUT 19
1248#define IS_TRIGGER_MISSED 20
1249#define IS_LAST_CAPTURE_ERROR 21
1250#define IS_PARAMETER_SET_1 22
1251#define IS_PARAMETER_SET_2 23
1252#define IS_STANDBY 24
1253#define IS_STANDBY_SUPPORTED 25
1254#define IS_QUEUED_IMAGE_EVENT_CNT 26
1255
1256// ----------------------------------------------------------------------------
1257// interface type defines
1258// ----------------------------------------------------------------------------
1259#define IS_INTERFACE_TYPE_USB 0x40
1260#define IS_INTERFACE_TYPE_ETH 0x80
1261
1262// ----------------------------------------------------------------------------
1263// board type defines
1264// ----------------------------------------------------------------------------
1265#define IS_BOARD_TYPE_FALCON 1
1266#define IS_BOARD_TYPE_EAGLE 2
1267#define IS_BOARD_TYPE_FALCON2 3
1268#define IS_BOARD_TYPE_FALCON_PLUS 7
1269#define IS_BOARD_TYPE_FALCON_QUATTRO 9
1270#define IS_BOARD_TYPE_FALCON_DUO 10
1271#define IS_BOARD_TYPE_EAGLE_QUATTRO 11
1272#define IS_BOARD_TYPE_EAGLE_DUO 12
1273#define IS_BOARD_TYPE_UEYE_USB (IS_INTERFACE_TYPE_USB + 0) // 0x40
1274#define IS_BOARD_TYPE_UEYE_USB_SE IS_BOARD_TYPE_UEYE_USB // 0x40
1275#define IS_BOARD_TYPE_UEYE_USB_RE IS_BOARD_TYPE_UEYE_USB // 0x40
1276#define IS_BOARD_TYPE_UEYE_USB_ME (IS_INTERFACE_TYPE_USB + 0x01) // 0x41
1277#define IS_BOARD_TYPE_UEYE_USB_LE (IS_INTERFACE_TYPE_USB + 0x02) // 0x42
1278#define IS_BOARD_TYPE_UEYE_USB_XS (IS_INTERFACE_TYPE_USB + 0x03) // 0x43
1279#define IS_BOARD_TYPE_UEYE_ETH IS_INTERFACE_TYPE_ETH // 0x80
1280#define IS_BOARD_TYPE_UEYE_ETH_HE IS_BOARD_TYPE_UEYE_ETH // 0x80
1281#define IS_BOARD_TYPE_UEYE_ETH_SE (IS_INTERFACE_TYPE_ETH + 0x01) // 0x81
1282#define IS_BOARD_TYPE_UEYE_ETH_RE IS_BOARD_TYPE_UEYE_ETH_SE // 0x81
1283
1284// ----------------------------------------------------------------------------
1285// camera type defines
1286// ----------------------------------------------------------------------------
1287#define IS_CAMERA_TYPE_UEYE_USB IS_BOARD_TYPE_UEYE_USB_SE
1288#define IS_CAMERA_TYPE_UEYE_USB_SE IS_BOARD_TYPE_UEYE_USB_SE
1289#define IS_CAMERA_TYPE_UEYE_USB_RE IS_BOARD_TYPE_UEYE_USB_RE
1290#define IS_CAMERA_TYPE_UEYE_USB_ME IS_BOARD_TYPE_UEYE_USB_ME
1291#define IS_CAMERA_TYPE_UEYE_USB_LE IS_BOARD_TYPE_UEYE_USB_LE
1292#define IS_CAMERA_TYPE_UEYE_ETH IS_BOARD_TYPE_UEYE_ETH_HE
1293#define IS_CAMERA_TYPE_UEYE_ETH_HE IS_BOARD_TYPE_UEYE_ETH_HE
1294#define IS_CAMERA_TYPE_UEYE_ETH_SE IS_BOARD_TYPE_UEYE_ETH_SE
1295#define IS_CAMERA_TYPE_UEYE_ETH_RE IS_BOARD_TYPE_UEYE_ETH_RE
1296
1297// ----------------------------------------------------------------------------
1298// readable operation system defines
1299// ----------------------------------------------------------------------------
1300#define IS_OS_UNDETERMINED 0
1301#define IS_OS_WIN95 1
1302#define IS_OS_WINNT40 2
1303#define IS_OS_WIN98 3
1304#define IS_OS_WIN2000 4
1305#define IS_OS_WINXP 5
1306#define IS_OS_WINME 6
1307#define IS_OS_WINNET 7
1308#define IS_OS_WINSERVER2003 8
1309#define IS_OS_WINVISTA 9
1310#define IS_OS_LINUX24 10
1311#define IS_OS_LINUX26 11
1312#define IS_OS_WIN7 12
1313
1314
1315// ----------------------------------------------------------------------------
1316// Bus speed
1317// ----------------------------------------------------------------------------
1318#define IS_USB_10 0x0001 // 1,5 Mb/s
1319#define IS_USB_11 0x0002 // 12 Mb/s
1320#define IS_USB_20 0x0004 // 480 Mb/s
1321#define IS_USB_30 0x0008 // 5000 Mb/s
1322#define IS_ETHERNET_10 0x0080 // 10 Mb/s
1323#define IS_ETHERNET_100 0x0100 // 100 Mb/s
1324#define IS_ETHERNET_1000 0x0200 // 1000 Mb/s
1325#define IS_ETHERNET_10000 0x0400 //10000 Mb/s
1326
1327#define IS_USB_LOW_SPEED 1
1328#define IS_USB_FULL_SPEED 12
1329#define IS_USB_HIGH_SPEED 480
1330#define IS_USB_SUPER_SPEED 5000
1331#define IS_ETHERNET_10Base 10
1332#define IS_ETHERNET_100Base 100
1333#define IS_ETHERNET_1000Base 1000
1334#define IS_ETHERNET_10GBase 10000
1335
1336// ----------------------------------------------------------------------------
1337// HDR
1338// ----------------------------------------------------------------------------
1339#define IS_HDR_NOT_SUPPORTED 0
1340#define IS_HDR_KNEEPOINTS 1
1341#define IS_DISABLE_HDR 0
1342#define IS_ENABLE_HDR 1
1343
1344
1345// ----------------------------------------------------------------------------
1346// Test images
1347// ----------------------------------------------------------------------------
1348#define IS_TEST_IMAGE_NONE 0x00000000
1349#define IS_TEST_IMAGE_WHITE 0x00000001
1350#define IS_TEST_IMAGE_BLACK 0x00000002
1351#define IS_TEST_IMAGE_HORIZONTAL_GREYSCALE 0x00000004
1352#define IS_TEST_IMAGE_VERTICAL_GREYSCALE 0x00000008
1353#define IS_TEST_IMAGE_DIAGONAL_GREYSCALE 0x00000010
1354#define IS_TEST_IMAGE_WEDGE_GRAY 0x00000020
1355#define IS_TEST_IMAGE_WEDGE_COLOR 0x00000040
1356#define IS_TEST_IMAGE_ANIMATED_WEDGE_GRAY 0x00000080
1357
1358#define IS_TEST_IMAGE_ANIMATED_WEDGE_COLOR 0x00000100
1359#define IS_TEST_IMAGE_MONO_BARS 0x00000200
1360#define IS_TEST_IMAGE_COLOR_BARS1 0x00000400
1361#define IS_TEST_IMAGE_COLOR_BARS2 0x00000800
1362#define IS_TEST_IMAGE_GREYSCALE1 0x00001000
1363#define IS_TEST_IMAGE_GREY_AND_COLOR_BARS 0x00002000
1364#define IS_TEST_IMAGE_MOVING_GREY_AND_COLOR_BARS 0x00004000
1365#define IS_TEST_IMAGE_ANIMATED_LINE 0x00008000
1366
1367#define IS_TEST_IMAGE_ALTERNATE_PATTERN 0x00010000
1368#define IS_TEST_IMAGE_VARIABLE_GREY 0x00020000
1369#define IS_TEST_IMAGE_MONOCHROME_HORIZONTAL_BARS 0x00040000
1370#define IS_TEST_IMAGE_MONOCHROME_VERTICAL_BARS 0x00080000
1371#define IS_TEST_IMAGE_CURSOR_H 0x00100000
1372#define IS_TEST_IMAGE_CURSOR_V 0x00200000
1373#define IS_TEST_IMAGE_COLDPIXEL_GRID 0x00400000
1374#define IS_TEST_IMAGE_HOTPIXEL_GRID 0x00800000
1375
1376#define IS_TEST_IMAGE_VARIABLE_RED_PART 0x01000000
1377#define IS_TEST_IMAGE_VARIABLE_GREEN_PART 0x02000000
1378#define IS_TEST_IMAGE_VARIABLE_BLUE_PART 0x04000000
1379#define IS_TEST_IMAGE_SHADING_IMAGE 0x08000000
1380#define IS_TEST_IMAGE_WEDGE_GRAY_SENSOR 0x10000000
1381#define IS_TEST_IMAGE_ANIMATED_WEDGE_GRAY_SENSOR 0x20000000
1382#define IS_TEST_IMAGE_RAMPING_PATTERN 0x40000000
1383// 0x80000000
1384
1385
1386// ----------------------------------------------------------------------------
1387// Sensor scaler
1388// ----------------------------------------------------------------------------
1389#define IS_ENABLE_SENSOR_SCALER 1
1390#define IS_ENABLE_ANTI_ALIASING 2
1391
1392
1393// ----------------------------------------------------------------------------
1394// Timeouts
1395// ----------------------------------------------------------------------------
1396#define IS_TRIGGER_TIMEOUT 0
1397
1398
1399// ----------------------------------------------------------------------------
1400// Auto pixel clock modes
1401// ----------------------------------------------------------------------------
1402#define IS_BEST_PCLK_RUN_ONCE 0
1403
1404// ----------------------------------------------------------------------------
1405// sequence flags
1406// ----------------------------------------------------------------------------
1407#define IS_LOCK_LAST_BUFFER 0x8002
1408#define IS_GET_ALLOC_ID_OF_THIS_BUF 0x8004
1409#define IS_GET_ALLOC_ID_OF_LAST_BUF 0x8008
1410#define IS_USE_ALLOC_ID 0x8000
1411#define IS_USE_CURRENT_IMG_SIZE 0xC000
1412
1413// ----------------------------------------------------------------------------
1414// Image files types
1415// ----------------------------------------------------------------------------
1416#define IS_IMG_BMP 0
1417#define IS_IMG_JPG 1
1418#define IS_IMG_PNG 2
1419#define IS_IMG_RAW 4
1420#define IS_IMG_TIF 8
1421
1422// ----------------------------------------------------------------------------
1423// I2C defines
1424// nRegisterAddr | IS_I2C_16_BIT_REGISTER
1425// ----------------------------------------------------------------------------
1426#define IS_I2C_16_BIT_REGISTER 0x10000000
1427
1428// ----------------------------------------------------------------------------
1429// DirectDraw steal video constants (Falcon)
1430// ----------------------------------------------------------------------------
1431#define IS_INIT_STEAL_VIDEO 1
1432#define IS_EXIT_STEAL_VIDEO 2
1433#define IS_INIT_STEAL_VIDEO_MANUAL 3
1434#define IS_INIT_STEAL_VIDEO_AUTO 4
1435#define IS_SET_STEAL_RATIO 64
1436#define IS_USE_MEM_IMAGE_SIZE 128
1437#define IS_STEAL_MODES_MASK 7
1438#define IS_SET_STEAL_COPY 0x1000
1439#define IS_SET_STEAL_NORMAL 0x2000
1440
1441// ----------------------------------------------------------------------------
1442// AGC modes (Falcon)
1443// ----------------------------------------------------------------------------
1444#define IS_GET_AGC_MODE 0x8000
1445#define IS_SET_AGC_OFF 0
1446#define IS_SET_AGC_ON 1
1447
1448
1449// ----------------------------------------------------------------------------
1450// Gamma modes (Falcon)
1451// ----------------------------------------------------------------------------
1452#define IS_GET_GAMMA_MODE 0x8000
1453#define IS_SET_GAMMA_OFF 0
1454#define IS_SET_GAMMA_ON 1
1455
1456
1457// ----------------------------------------------------------------------------
1458// sync levels (Falcon)
1459// ----------------------------------------------------------------------------
1460#define IS_GET_SYNC_LEVEL 0x8000
1461#define IS_SET_SYNC_75 0
1462#define IS_SET_SYNC_125 1
1463
1464
1465// ----------------------------------------------------------------------------
1466// color bar modes (Falcon)
1467// ----------------------------------------------------------------------------
1468#define IS_GET_CBARS_MODE 0x8000
1469#define IS_SET_CBARS_OFF 0
1470#define IS_SET_CBARS_ON 1
1471
1472
1473// ----------------------------------------------------------------------------
1474// horizontal filter defines (Falcon)
1475// ----------------------------------------------------------------------------
1476#define IS_GET_HOR_FILTER_MODE 0x8000
1477#define IS_GET_HOR_FILTER_STEP 0x8001
1478
1479#define IS_DISABLE_HOR_FILTER 0
1480#define IS_ENABLE_HOR_FILTER 1
1481#define IS_HOR_FILTER_STEP(_s_) ((_s_ + 1) << 1)
1482#define IS_HOR_FILTER_STEP1 2
1483#define IS_HOR_FILTER_STEP2 4
1484#define IS_HOR_FILTER_STEP3 6
1485
1486
1487// ----------------------------------------------------------------------------
1488// vertical filter defines (Falcon)
1489// ----------------------------------------------------------------------------
1490#define IS_GET_VERT_FILTER_MODE 0x8000
1491#define IS_GET_VERT_FILTER_STEP 0x8001
1492
1493#define IS_DISABLE_VERT_FILTER 0
1494#define IS_ENABLE_VERT_FILTER 1
1495#define IS_VERT_FILTER_STEP(_s_) ((_s_ + 1) << 1)
1496#define IS_VERT_FILTER_STEP1 2
1497#define IS_VERT_FILTER_STEP2 4
1498#define IS_VERT_FILTER_STEP3 6
1499
1500
1501// ----------------------------------------------------------------------------
1502// scaler modes (Falcon)
1503// ----------------------------------------------------------------------------
1504#define IS_GET_SCALER_MODE (float) 1000
1505#define IS_SET_SCALER_OFF (float) 0
1506#define IS_SET_SCALER_ON (float) 1
1507
1508#define IS_MIN_SCALE_X (float) 6.25
1509#define IS_MAX_SCALE_X (float) 100.00
1510#define IS_MIN_SCALE_Y (float) 6.25
1511#define IS_MAX_SCALE_Y (float) 100.00
1512
1513
1514// ----------------------------------------------------------------------------
1515// video source selectors (Falcon)
1516// ----------------------------------------------------------------------------
1517#define IS_GET_VIDEO_IN 0x8000
1518#define IS_GET_VIDEO_PASSTHROUGH 0x8000
1519#define IS_GET_VIDEO_IN_TOGGLE 0x8001
1520#define IS_GET_TOGGLE_INPUT_1 0x8000
1521#define IS_GET_TOGGLE_INPUT_2 0x8001
1522#define IS_GET_TOGGLE_INPUT_3 0x8002
1523#define IS_GET_TOGGLE_INPUT_4 0x8003
1524
1525#define IS_SET_VIDEO_IN_1 0x00
1526#define IS_SET_VIDEO_IN_2 0x01
1527#define IS_SET_VIDEO_IN_S 0x02
1528#define IS_SET_VIDEO_IN_3 0x03
1529#define IS_SET_VIDEO_IN_4 0x04
1530#define IS_SET_VIDEO_IN_1S 0x10
1531#define IS_SET_VIDEO_IN_2S 0x11
1532#define IS_SET_VIDEO_IN_3S 0x13
1533#define IS_SET_VIDEO_IN_4S 0x14
1534#define IS_SET_VIDEO_IN_EXT 0x40
1535#define IS_SET_TOGGLE_OFF 0xFF
1536#define IS_SET_VIDEO_IN_SYNC 0x4000
1537
1538
1539// ----------------------------------------------------------------------------
1540// video crossbar selectors (Falcon)
1541// ----------------------------------------------------------------------------
1542#define IS_GET_CROSSBAR 0x8000
1543
1544#define IS_CROSSBAR_1 0
1545#define IS_CROSSBAR_2 1
1546#define IS_CROSSBAR_3 2
1547#define IS_CROSSBAR_4 3
1548#define IS_CROSSBAR_5 4
1549#define IS_CROSSBAR_6 5
1550#define IS_CROSSBAR_7 6
1551#define IS_CROSSBAR_8 7
1552#define IS_CROSSBAR_9 8
1553#define IS_CROSSBAR_10 9
1554#define IS_CROSSBAR_11 10
1555#define IS_CROSSBAR_12 11
1556#define IS_CROSSBAR_13 12
1557#define IS_CROSSBAR_14 13
1558#define IS_CROSSBAR_15 14
1559#define IS_CROSSBAR_16 15
1560#define IS_SELECT_AS_INPUT 128
1561
1562
1563// ----------------------------------------------------------------------------
1564// video format selectors (Falcon)
1565// ----------------------------------------------------------------------------
1566#define IS_GET_VIDEO_MODE 0x8000
1567
1568#define IS_SET_VM_PAL 0
1569#define IS_SET_VM_NTSC 1
1570#define IS_SET_VM_SECAM 2
1571#define IS_SET_VM_AUTO 3
1572
1573
1574// ----------------------------------------------------------------------------
1575// capture modes (Falcon)
1576// ----------------------------------------------------------------------------
1577#define IS_GET_CAPTURE_MODE 0x8000
1578
1579#define IS_SET_CM_ODD 0x0001
1580#define IS_SET_CM_EVEN 0x0002
1581#define IS_SET_CM_FRAME 0x0004
1582#define IS_SET_CM_NONINTERLACED 0x0008
1583#define IS_SET_CM_NEXT_FRAME 0x0010
1584#define IS_SET_CM_NEXT_FIELD 0x0020
1585#define IS_SET_CM_BOTHFIELDS (IS_SET_CM_ODD | IS_SET_CM_EVEN | IS_SET_CM_NONINTERLACED)
1586#define IS_SET_CM_FRAME_STEREO 0x2004
1587
1588
1589// ----------------------------------------------------------------------------
1590// display update mode constants (Falcon)
1591// ----------------------------------------------------------------------------
1592#define IS_GET_UPDATE_MODE 0x8000
1593#define IS_SET_UPDATE_TIMER 1
1594#define IS_SET_UPDATE_EVENT 2
1595
1596
1597// ----------------------------------------------------------------------------
1598// sync generator mode constants (Falcon)
1599// ----------------------------------------------------------------------------
1600#define IS_GET_SYNC_GEN 0x8000
1601#define IS_SET_SYNC_GEN_OFF 0
1602#define IS_SET_SYNC_GEN_ON 1
1603
1604
1605// ----------------------------------------------------------------------------
1606// decimation modes (Falcon)
1607// ----------------------------------------------------------------------------
1608#define IS_GET_DECIMATION_MODE 0x8000
1609#define IS_GET_DECIMATION_NUMBER 0x8001
1610
1611#define IS_DECIMATION_OFF 0
1612#define IS_DECIMATION_CONSECUTIVE 1
1613#define IS_DECIMATION_DISTRIBUTED 2
1614
1615
1616// ----------------------------------------------------------------------------
1617// hardware watchdog defines (Falcon)
1618// ----------------------------------------------------------------------------
1619#define IS_GET_WATCHDOG_TIME 0x2000
1620#define IS_GET_WATCHDOG_RESOLUTION 0x4000
1621#define IS_GET_WATCHDOG_ENABLE 0x8000
1622
1623#define IS_WATCHDOG_MINUTES 0
1624#define IS_WATCHDOG_SECONDS 0x8000
1625#define IS_DISABLE_WATCHDOG 0
1626#define IS_ENABLE_WATCHDOG 1
1627#define IS_RETRIGGER_WATCHDOG 2
1628#define IS_ENABLE_AUTO_DEACTIVATION 4
1629#define IS_DISABLE_AUTO_DEACTIVATION 8
1630#define IS_WATCHDOG_RESERVED 0x1000
1631
1632
1633// ----------------------------------------------------------------------------
1634// typedefs
1635// ----------------------------------------------------------------------------
1636#ifdef __LINUX__
1637 #include <stdint.h>
1638
1639 // aliases for common Win32 types
1640 typedef int32_t BOOLEAN;
1641 typedef int32_t BOOL;
1642 typedef int32_t INT;
1643 typedef uint32_t UINT;
1644 typedef int32_t LONG;
1645 typedef void VOID;
1646 typedef void* LPVOID;
1647 typedef uint32_t ULONG;
1648
1649 typedef uint64_t UINT64;
1650 typedef int64_t __int64;
1651 typedef int64_t LONGLONG;
1652 typedef uint32_t DWORD;
1653 typedef uint16_t WORD;
1654
1655 typedef unsigned char BYTE;
1656 typedef char CHAR;
1657 typedef char TCHAR;
1658 typedef unsigned char UCHAR;
1659
1660 typedef int8_t* LPTSTR;
1661 typedef const int8_t* LPCTSTR;
1662 typedef const int8_t* LPCSTR;
1663 typedef uint32_t WPARAM;
1664 typedef uint32_t LPARAM;
1665 typedef uint32_t LRESULT;
1666 typedef uint32_t HRESULT;
1667
1668 typedef void* HWND;
1669 typedef void* HGLOBAL;
1670 typedef void* HINSTANCE;
1671 typedef void* HDC;
1672 typedef void* HMODULE;
1673 typedef void* HKEY;
1674 typedef void* HANDLE;
1675
1676 typedef BYTE* LPBYTE;
1677 typedef DWORD* PDWORD;
1678 typedef VOID* PVOID;
1679 typedef CHAR* PCHAR;
1680
1681
1682 #ifndef FALSE
1683 #define FALSE 0
1684 #endif
1685 #ifndef TRUE
1686 #define TRUE 1
1687 #endif
1688
1689 #ifndef HIBYTE
1690 #define HIBYTE(_x_) ( (_x_)>>8 )
1691 #endif
1692
1693 #ifndef LOBYTE
1694 #define LOBYTE(_x_) ( (_x_)&0x00ff )
1695 #endif
1696
1697 #ifndef HIWORD
1698 #define HIWORD(_x_) ( (_x_)>>16 )
1699 #endif
1700
1701 #ifndef LOWORD
1702 #define LOWORD(_x_) ( (_x_)&0x0000ffff )
1703 #endif
1704
1705 #ifndef min
1706 #define min( _x_, _y_ ) ( (_x_)<(_y_) ? (_x_) : (_y_) )
1707 #endif
1708
1709 #ifndef max
1710 #define max( _x_, _y_ ) ( (_x_)>(_y_) ? (_x_) : (_y_) )
1711 #endif
1712
1713 #ifndef WM_USER
1714 #define WM_USER 0x400
1715 #endif
1716
1717 // unknown stuff for Linux
1718 #define WINAPI
1719 #define CALLBACK
1720 #undef UNICODE
1721 #define __stdcall
1722
1723 //#define IDSEXP EXTERNC __attribute__((cdecl)) INT
1724 //#define IDSEXPUL EXTERNC __attribute__((cdecl)) ULONG
1725 #define IDSEXP __attribute__((cdecl)) INT
1726 #define IDSEXPUL __attribute__((cdecl)) ULONG
1727
1728 typedef long (*WNDPROC) (HWND, UINT, WPARAM, LPARAM);
1729
1730 typedef union _LARGE_INTEGER
1731 {
1732 struct
1733 {
1734 DWORD LowPart;
1735 LONG HighPart;
1736 };
1737 struct
1738 {
1739 DWORD LowPart;
1740 LONG HighPart;
1741 } u;
1742 LONGLONG QuadPart;
1743 } LARGE_INTEGER, *PLARGE_INTEGER;
1744
1745 //useful structs that were in windows.h
1746 typedef struct tagRECT
1747 {
1748 long left;
1749 long top;
1750 long right;
1751 long bottom;
1752 } RECT, *PRECT, *LPRECT;
1753
1754 typedef struct tagRGNDATAHEADER
1755 {
1756 DWORD dwSize;
1757 DWORD iType;
1758 DWORD nCount;
1759 DWORD nRgnSize;
1760 RECT rcBound;
1761 } RGNDATAHEADER, *PRGNDATAHEADER;
1762
1763 typedef struct tagRGNDATA
1764 {
1765 RGNDATAHEADER rdh;
1766 char Buffer[1];
1767 } RGNDATA, *PRGNDATA, *LPRGNDATA;
1768
1769
1770 typedef struct tagBITMAPINFOHEADER
1771 {
1772 DWORD biSize;
1773 long biWidth;
1774 long biHeight;
1775 WORD biPlanes;
1776 WORD biBitCount;
1777 DWORD biCompression;
1778 DWORD biSizeImage;
1779 long biXPelsPerMeter;
1780 long biYPelsPerMeter;
1781 DWORD biClrUsed;
1782 DWORD biClrImportant;
1783 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
1784
1785 typedef struct tagRGBQUAD
1786 {
1787 BYTE rgbBlue;
1788 BYTE rgbGreen;
1789 BYTE rgbRed;
1790 BYTE rgbReserved;
1791 } RGBQUAD;
1792
1793 typedef struct tagBITMAPINFO
1794 {
1795 BITMAPINFOHEADER bmiHeader;
1796 RGBQUAD bmiColors[1];
1797 } BITMAPINFO, *PBITMAPINFO, *LPBITMAPINFO;
1798
1799 #define ZeroMemory(a,b) memset((a), 0, (b))
1800 #define OutputDebugString(s) fprintf(stderr, s)
1801
1802
1803 #define INFINITE -1
1804#else
1805
1806#include <windows.h>
1807
1808#if defined (_MSC_VER) || defined (__BORLANDC__) || defined (_WIN32_WCE)
1809 #if defined (_PURE_C) && !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT)
1810 #define IDSEXP extern __declspec(dllimport) INT __cdecl
1811 #define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
1812 #elif defined (__STDC__) && !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT)
1813 #define IDSEXP extern __declspec(dllimport) INT __cdecl
1814 #define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
1815 #elif !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT) // using the DLL, not creating one
1816 #define IDSEXP extern "C" __declspec(dllimport) INT __cdecl
1817 #define IDSEXPUL extern "C" __declspec(dllimport) ULONG __cdecl
1818 #elif defined (_IDS_VBSTD) || defined (_FALC_VBSTD) // for creating stdcall dll
1819 #define IDSEXP extern __declspec(dllexport) INT __stdcall
1820 #define IDSEXPUL extern __declspec(dllexport) ULONG __stdcall
1821 #else // for creating cdecl dll
1822 #define IDSEXP extern __declspec(dllexport) INT __cdecl
1823 #define IDSEXPUL extern __declspec(dllexport) ULONG __cdecl
1824 #endif
1825#elif !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT) // using the DLL, not creating one
1826 #define IDSEXP extern __declspec(dllimport) INT __cdecl
1827 #define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
1828#endif
1829
1830typedef int INT;
1831
1832#endif // Linux
1833
1834#ifdef _WIN32_WCE
1835 typedef TCHAR IS_CHAR;
1836#else
1837 typedef char IS_CHAR;
1838#endif
1839
1840
1841// ----------------------------------------------------------------------------
1842// typedefs
1843// ----------------------------------------------------------------------------
1844typedef DWORD HIDS;
1845typedef DWORD HCAM;
1846typedef DWORD HFALC;
1847
1848// ----------------------------------------------------------------------------
1849// info struct
1850// ----------------------------------------------------------------------------
1851#define FALCINFO BOARDINFO
1852#define PFALCINFO PBOARDINFO
1853#define CAMINFO BOARDINFO
1854#define PCAMINFO PBOARDINFO
1855
1856typedef struct
1857{
1858 char SerNo[12]; // e.g. "1234512345" (11 char)
1859 char ID[20]; // e.g. "IDS GmbH"
1860 char Version[10]; // e.g. "V2.10" (9 char)
1861 char Date[12]; // e.g. "24.01.2006" (11 char)
1862 unsigned char Select; // contains board select number for multi board support
1863 unsigned char Type; // e.g. IS_BOARD_TYPE_UEYE_USB
1864 char Reserved[8]; // (7 char)
1865} BOARDINFO, *PBOARDINFO;
1866
1867
1868typedef struct _SENSORINFO
1869{
1870 WORD SensorID; // e.g. IS_SENSOR_UI224X_C
1871 IS_CHAR strSensorName[32]; // e.g. "UI-224X-C"
1872 char nColorMode; // e.g. IS_COLORMODE_BAYER
1873 DWORD nMaxWidth; // e.g. 1280
1874 DWORD nMaxHeight; // e.g. 1024
1875 BOOL bMasterGain; // e.g. TRUE
1876 BOOL bRGain; // e.g. TRUE
1877 BOOL bGGain; // e.g. TRUE
1878 BOOL bBGain; // e.g. TRUE
1879 BOOL bGlobShutter; // e.g. TRUE
1880 char Reserved[16]; // not used
1881} SENSORINFO, *PSENSORINFO;
1882
1883
1884typedef struct _REVISIONINFO
1885{
1886 WORD size; // 2
1887 WORD Sensor; // 2
1888 WORD Cypress; // 2
1889 DWORD Blackfin; // 4
1890 WORD DspFirmware; // 2
1891 // --12
1892 WORD USB_Board; // 2
1893 WORD Sensor_Board; // 2
1894 WORD Processing_Board; // 2
1895 WORD Memory_Board; // 2
1896 WORD Housing; // 2
1897 WORD Filter; // 2
1898 WORD Timing_Board; // 2
1899 WORD Product; // 2
1900 WORD Power_Board; // 2
1901 WORD Logic_Board; // 2
1902 // --28
1903 BYTE reserved[96]; // --128
1904} REVISIONINFO, *PREVISIONINFO;
1905
1906
1907
1908// ----------------------------------------------------------------------------
1909// Capture errors
1910// ----------------------------------------------------------------------------
1911typedef enum _UEYE_CAPTURE_ERROR
1912{
1913 IS_CAPERR_API_NO_DEST_MEM= 0xa2,
1914 IS_CAPERR_API_CONVERSION_FAILED= 0xa3,
1915 IS_CAPERR_API_IMAGE_LOCKED= 0xa5,
1916
1917 IS_CAPERR_DRV_OUT_OF_BUFFERS= 0xb2,
1918 IS_CAPERR_DRV_DEVICE_NOT_READY= 0xb4,
1919
1920 IS_CAPERR_USB_TRANSFER_FAILED= 0xc7,
1921
1922 IS_CAPERR_DEV_TIMEOUT= 0xd6,
1923
1924 IS_CAPERR_ETH_BUFFER_OVERRUN= 0xe4,
1925 IS_CAPERR_ETH_MISSED_IMAGES= 0xe5
1926
1927} UEYE_CAPTURE_ERROR;
1928
1929typedef struct _UEYE_CAPTURE_ERROR_INFO
1930{
1931 DWORD dwCapErrCnt_Total;
1932
1933 BYTE reserved[60];
1934
1935 DWORD adwCapErrCnt_Detail[256]; // access via UEYE_CAPTURE_ERROR
1936
1937} UEYE_CAPTURE_ERROR_INFO;
1938
1939
1940
1941#ifndef UEYE_CAMERA_INFO_STRUCT
1942#define UEYE_CAMERA_INFO_STRUCT
1943typedef struct _UEYE_CAMERA_INFO
1944{
1945 DWORD dwCameraID; // this is the user definable camera ID
1946 DWORD dwDeviceID; // this is the systems enumeration ID
1947 DWORD dwSensorID; // this is the sensor ID e.g. IS_SENSOR_UI141X_M
1948 DWORD dwInUse; // flag, whether the camera is in use or not
1949 IS_CHAR SerNo[16]; // serial number of the camera
1950 IS_CHAR Model[16]; // model name of the camera
1951 DWORD dwStatus; // various flags with camera status
1952 DWORD dwReserved[15];
1953}UEYE_CAMERA_INFO, *PUEYE_CAMERA_INFO;
1954#endif //UEYE_CAMERA_INFO_STRUCT
1955
1956// usage of the list:
1957// 1. call the DLL with .dwCount = 0
1958// 2. DLL returns .dwCount = N (N = number of available cameras)
1959// 3. call DLL with .dwCount = N and a pointer to UEYE_CAMERA_LIST with
1960// and array of UEYE_CAMERA_INFO[N]
1961// 4. DLL will fill in the array with the camera infos and
1962// will update the .dwCount member with the actual number of cameras
1963// because there may be a change in number of cameras between step 2 and 3
1964// 5. check if there's a difference in actual .dwCount and formerly
1965// reported value of N and call DLL again with an updated array size
1966#ifndef UEYE_CAMERA_LIST_STRUCT
1967#define UEYE_CAMERA_LIST_STRUCT
1968typedef struct _UEYE_CAMERA_LIST
1969{
1970 ULONG dwCount;
1971 UEYE_CAMERA_INFO uci[1];
1972}UEYE_CAMERA_LIST, *PUEYE_CAMERA_LIST;
1973#endif //UEYE_CAMERA_LIST_STRUCT
1974
1975// ----------------------------------------------------------------------------
1976// the following defines are the status bits of the dwStatus member of
1977// the UEYE_CAMERA_INFO structure
1978#define FIRMWARE_DOWNLOAD_NOT_SUPPORTED 0x00000001
1979#define INTERFACE_SPEED_NOT_SUPPORTED 0x00000002
1980#define INVALID_SENSOR_DETECTED 0x00000004
1981#define AUTHORIZATION_FAILED 0x00000008
1982#define DEVSTS_INCLUDED_STARTER_FIRMWARE_INCOMPATIBLE 0x00000010
1983
1984// the following macro determines the availability of the camera based
1985// on the status flags
1986#define IS_CAMERA_AVAILABLE(_s_) ( (((_s_) & FIRMWARE_DOWNLOAD_NOT_SUPPORTED) == 0) && \
1987 (((_s_) & INTERFACE_SPEED_NOT_SUPPORTED) == 0) && \
1988 (((_s_) & INVALID_SENSOR_DETECTED) == 0) && \
1989 (((_s_) & AUTHORIZATION_FAILED) == 0) )
1990
1991// ----------------------------------------------------------------------------
1992// auto feature structs and definitions
1993// ----------------------------------------------------------------------------
1994#define AC_SHUTTER 0x00000001
1995#define AC_GAIN 0x00000002
1996#define AC_WHITEBAL 0x00000004
1997#define AC_WB_RED_CHANNEL 0x00000008
1998#define AC_WB_GREEN_CHANNEL 0x00000010
1999#define AC_WB_BLUE_CHANNEL 0x00000020
2000#define AC_FRAMERATE 0x00000040
2001#define AC_SENSOR_SHUTTER 0x00000080
2002#define AC_SENSOR_GAIN 0x00000100
2003#define AC_SENSOR_GAIN_SHUTTER 0x00000200
2004#define AC_SENSOR_FRAMERATE 0x00000400
2005#define AC_SENSOR_WB 0x00000800
2006#define AC_SENSOR_AUTO_REFERENCE 0x00001000
2007#define AC_SENSOR_AUTO_SPEED 0x00002000
2008#define AC_SENSOR_AUTO_HYSTERESIS 0x00004000
2009#define AC_SENSOR_AUTO_SKIPFRAMES 0x00008000
2010#define AC_SENSOR_AUTO_CONTRAST_CORRECTION 0x00010000
2011#define AC_SENSOR_AUTO_CONTRAST_FDT_AOI 0x00020000
2012#define AC_SENSOR_AUTO_BACKLIGHT_COMP 0x00040000
2013
2014
2015#define ACS_ADJUSTING 0x00000001
2016#define ACS_FINISHED 0x00000002
2017#define ACS_DISABLED 0x00000004
2018
2019
2020typedef struct _AUTO_BRIGHT_STATUS
2021{
2022 DWORD curValue; // current average greylevel
2023 long curError; // current auto brightness error
2024 DWORD curController; // current active brightness controller -> AC_x
2025 DWORD curCtrlStatus; // current control status -> ACS_x
2026} AUTO_BRIGHT_STATUS, *PAUTO_BRIGHT_STATUS;
2027
2028
2029
2030typedef struct _AUTO_WB_CHANNNEL_STATUS
2031{
2032 DWORD curValue; // current average greylevel
2033 long curError; // current auto wb error
2034 DWORD curCtrlStatus; // current control status -> ACS_x
2035} AUTO_WB_CHANNNEL_STATUS, *PAUTO_WB_CHANNNEL_STATUS;
2036
2037typedef struct _AUTO_WB_STATUS
2038{
2039 AUTO_WB_CHANNNEL_STATUS RedChannel;
2040 AUTO_WB_CHANNNEL_STATUS GreenChannel;
2041 AUTO_WB_CHANNNEL_STATUS BlueChannel;
2042 DWORD curController; // current active wb controller -> AC_x
2043} AUTO_WB_STATUS, *PAUTO_WB_STATUS;
2044
2045// auto shutter photometry capabilities
2046typedef enum E_AUTO_SHUTTER_PHOTOM
2047{
2048 AS_PM_NONE = 0,
2049 AS_PM_SENS_CENTER_WEIGHTED = 0x00000001, // sensor auto shutter: center weighted
2050 AS_PM_SENS_CENTER_SPOT = 0x00000002, // sensor auto shutter: center spot
2051 AS_PM_SENS_PORTRAIT = 0x00000004, // sensor auto shutter: portrait
2052 AS_PM_SENS_LANDSCAPE = 0x00000008 // sensor auto shutter: landscape
2053
2054}AUTO_SHUTTER_PHOTOM;
2055
2056// auto gain photometry capabilities
2057typedef enum E_AUTO_GAIN_PHOTOM
2058{
2059 AG_PM_NONE = 0,
2060 AG_PM_SENS_CENTER_WEIGHTED = 0x00000001, // sensor auto gain: center weighted
2061 AG_PM_SENS_CENTER_SPOT = 0x00000002, // sensor auto gain: center spot
2062 AG_PM_SENS_PORTRAIT = 0x00000004, // sensor auto gain: portrait
2063 AG_PM_SENS_LANDSCAPE = 0x00000008 // sensor auto gain: landscape
2064}AUTO_GAIN_PHOTOM;
2065
2066
2067// anti flicker modes
2068typedef enum E_ANTI_FLICKER_MODE
2069{
2070 ANTIFLCK_MODE_OFF = 0,
2071 ANTIFLCK_MODE_SENS_AUTO = 0x00000001,
2072 ANTIFLCK_MODE_SENS_50_FIXED = 0x00000002,
2073 ANTIFLCK_MODE_SENS_60_FIXED = 0x00000004
2074}ANTI_FLICKER_MODE;
2075
2076// whitebalance modes
2077typedef enum E_WHITEBALANCE_MODE
2078{
2079 WB_MODE_DISABLE = 0,
2080 WB_MODE_AUTO = 0x00000001,
2081 WB_MODE_ALL_PULLIN = 0x00000002,
2082 WB_MODE_INCANDESCENT_LAMP = 0x00000004,
2083 WB_MODE_FLUORESCENT_DL = 0x00000008,
2084 WB_MODE_OUTDOOR_CLEAR_SKY = 0x00000010,
2085 WB_MODE_OUTDOOR_CLOUDY = 0x00000020
2086}WHITEBALANCE_MODE;
2087
2088typedef struct _UEYE_AUTO_INFO
2089{
2090 DWORD AutoAbility; // auto control ability
2091 AUTO_BRIGHT_STATUS sBrightCtrlStatus; // brightness auto control status
2092 AUTO_WB_STATUS sWBCtrlStatus; // white balance auto control status
2093 DWORD AShutterPhotomCaps; // auto shutter photometry capabilities(AUTO_SHUTTER_PHOTOM)
2094 DWORD AGainPhotomCaps; // auto gain photometry capabilities (AUTO_GAIN_PHOTOM)
2095 DWORD AAntiFlickerCaps; // auto anti-flicker capabilities
2096 DWORD SensorWBModeCaps; // white balance mode capabilities
2097
2098 DWORD reserved[8];
2099} UEYE_AUTO_INFO, *PUEYE_AUTO_INFO;
2100
2101
2102// ----------------------------------------------------------------------------
2103// function exports
2104// ----------------------------------------------------------------------------
2105#ifdef __LINUX__
2106 IDSEXP is_WaitEvent (HIDS hf, INT which, INT nTimeout);
2107#endif
2108
2109// ----------------------------------------------------------------------------
2110// functions only effective on Falcon boards
2111// ----------------------------------------------------------------------------
2112 IDSEXP is_SetVideoInput (HIDS hf, INT Source);
2113 IDSEXP is_SetSaturation (HIDS hf, INT ChromU, INT ChromV);
2114 IDSEXP is_SetHue (HIDS hf, INT Hue);
2115 IDSEXP is_SetVideoMode (HIDS hf, INT Mode);
2116 IDSEXP is_SetAGC (HIDS hf, INT Mode);
2117 IDSEXP is_SetSyncLevel (HIDS hf, INT Level);
2118 IDSEXP is_ShowColorBars (HIDS hf, INT Mode);
2119 IDSEXP is_SetScaler (HIDS hf, float Scalex, float Scaley);
2120 IDSEXP is_SetCaptureMode (HIDS hf, INT Mode);
2121 IDSEXP is_SetHorFilter (HIDS hf, INT Mode);
2122 IDSEXP is_SetVertFilter (HIDS hf, INT Mode);
2123 IDSEXP is_ScaleDDOverlay (HIDS hf, BOOL boScale);
2124 IDSEXP is_GetCurrentField (HIDS hf, int* pField);
2125 IDSEXP is_SetVideoSize (HIDS hf, INT xpos, INT ypos, INT xsize, INT ysize);
2126 IDSEXP is_SetKeyOffset (HIDS hf, INT nOffsetX, INT nOffsetY);
2127 IDSEXP is_PrepareStealVideo (HIDS hf, int Mode, ULONG StealColorMode);
2128 IDSEXP is_SetParentHwnd (HIDS hf, HWND hwnd);
2129 IDSEXP is_SetUpdateMode (HIDS hf, INT mode);
2130 IDSEXP is_OvlSurfaceOffWhileMove (HIDS hf, BOOL boMode);
2131 IDSEXP is_GetPciSlot (HIDS hf, INT* pnSlot);
2132 IDSEXP is_GetIRQ (HIDS hf, INT* pnIRQ);
2133 IDSEXP is_SetToggleMode (HIDS hf, int nInput1, int nInput2, int nInput3, int nInput4);
2134 IDSEXP is_SetDecimationMode (HIDS hf, INT nMode, INT nDecimate);
2135 IDSEXP is_SetSync (HIDS hf, INT nSync);
2136 // only FALCON duo/quattro
2137 IDSEXP is_SetVideoCrossbar (HIDS hf, INT In, INT Out);
2138 // watchdog functions
2139 IDSEXP is_WatchdogTime (HIDS hf, long lTime);
2140 IDSEXP is_Watchdog (HIDS hf, long lMode);
2141 // video out functions
2142 IDSEXP is_SetPassthrough (HIDS hf, INT Source);
2143
2144// ----------------------------------------------------------------------------
2145// alias functions for compatibility
2146// ----------------------------------------------------------------------------
2147 IDSEXP is_InitBoard (HIDS* phf, HWND hWnd);
2148 IDSEXP is_ExitBoard (HIDS hf);
2149 IDSEXP is_InitFalcon (HIDS* phf, HWND hWnd);
2150 IDSEXP is_ExitFalcon (HIDS hf);
2151
2152 IDSEXP is_GetBoardType (HIDS hf);
2153 IDSEXP is_GetBoardInfo (HIDS hf, PBOARDINFO pInfo);
2154 IDSEXPUL is_BoardStatus (HIDS hf, INT nInfo, ULONG ulValue);
2155 IDSEXP is_GetNumberOfDevices (void);
2156 IDSEXP is_GetNumberOfBoards (INT* pnNumBoards);
2157
2158// ----------------------------------------------------------------------------
2159// common function
2160// ----------------------------------------------------------------------------
2161 IDSEXP is_StopLiveVideo (HIDS hf, INT Wait);
2162 IDSEXP is_FreezeVideo (HIDS hf, INT Wait);
2163 IDSEXP is_CaptureVideo (HIDS hf, INT Wait);
2164 IDSEXP is_IsVideoFinish (HIDS hf, BOOL* pbo);
2165 IDSEXP is_HasVideoStarted (HIDS hf, BOOL* pbo);
2166
2167 IDSEXP is_SetBrightness (HIDS hf, INT Bright);
2168 IDSEXP is_SetContrast (HIDS hf, INT Cont);
2169 IDSEXP is_SetGamma (HIDS hf, INT nGamma);
2170
2171 IDSEXP is_AllocImageMem (HIDS hf, INT width, INT height, INT bitspixel, char** ppcImgMem, int* pid);
2172 IDSEXP is_SetImageMem (HIDS hf, char* pcMem, int id);
2173 IDSEXP is_FreeImageMem (HIDS hf, char* pcMem, int id);
2174 IDSEXP is_GetImageMem (HIDS hf, VOID** pMem);
2175 IDSEXP is_GetActiveImageMem (HIDS hf, char** ppcMem, int* pnID);
2176 IDSEXP is_InquireImageMem (HIDS hf, char* pcMem, int nID, int* pnX, int* pnY, int* pnBits, int* pnPitch);
2177 IDSEXP is_GetImageMemPitch (HIDS hf, INT* pPitch);
2178
2179 IDSEXP is_SetAllocatedImageMem (HIDS hf, INT width, INT height, INT bitspixel, char* pcImgMem, int* pid);
2180 IDSEXP is_SaveImageMem (HIDS hf, const IS_CHAR* File, char* pcMem, int nID);
2181 IDSEXP is_CopyImageMem (HIDS hf, char* pcSource, int nID, char* pcDest);
2182 IDSEXP is_CopyImageMemLines (HIDS hf, char* pcSource, int nID, int nLines, char* pcDest);
2183
2184 IDSEXP is_AddToSequence (HIDS hf, char* pcMem, INT nID);
2185 IDSEXP is_ClearSequence (HIDS hf);
2186 IDSEXP is_GetActSeqBuf (HIDS hf, INT* pnNum, char** ppcMem, char** ppcMemLast);
2187 IDSEXP is_LockSeqBuf (HIDS hf, INT nNum, char* pcMem);
2188 IDSEXP is_UnlockSeqBuf (HIDS hf, INT nNum, char* pcMem);
2189
2190 IDSEXP is_SetImageSize (HIDS hf, INT x, INT y);
2191 IDSEXP is_SetImagePos (HIDS hf, INT x, INT y);
2192
2193 IDSEXP is_GetError (HIDS hf, INT* pErr, IS_CHAR** ppcErr);
2194 IDSEXP is_SetErrorReport (HIDS hf, INT Mode);
2195
2196 IDSEXP is_ReadEEPROM (HIDS hf, INT Adr, char* pcString, INT Count);
2197 IDSEXP is_WriteEEPROM (HIDS hf, INT Adr, char* pcString, INT Count);
2198 IDSEXP is_SaveImage (HIDS hf, const IS_CHAR* File);
2199
2200 IDSEXP is_SetColorMode (HIDS hf, INT Mode);
2201 IDSEXP is_GetColorDepth (HIDS hf, INT* pnCol, INT* pnColMode);
2202 // bitmap display function
2203 IDSEXP is_RenderBitmap (HIDS hf, INT nMemID, HWND hwnd, INT nMode);
2204
2205 IDSEXP is_SetDisplayMode (HIDS hf, INT Mode);
2206 IDSEXP is_GetDC (HIDS hf, HDC* phDC);
2207 IDSEXP is_ReleaseDC (HIDS hf, HDC hDC);
2208 IDSEXP is_UpdateDisplay (HIDS hf);
2209 IDSEXP is_SetDisplaySize (HIDS hf, INT x, INT y);
2210 IDSEXP is_SetDisplayPos (HIDS hf, INT x, INT y);
2211
2212 IDSEXP is_LockDDOverlayMem (HIDS hf, VOID** ppMem, INT* pPitch);
2213 IDSEXP is_UnlockDDOverlayMem (HIDS hf);
2214 IDSEXP is_LockDDMem (HIDS hf, VOID** ppMem, INT* pPitch);
2215 IDSEXP is_UnlockDDMem (HIDS hf);
2216 IDSEXP is_GetDDOvlSurface (HIDS hf, void** ppDDSurf);
2217 IDSEXP is_SetKeyColor (HIDS hf, INT r, INT g, INT b);
2218 IDSEXP is_StealVideo (HIDS hf, int Wait);
2219 IDSEXP is_SetHwnd (HIDS hf, HWND hwnd);
2220
2221
2222 IDSEXP is_SetDDUpdateTime (HIDS hf, INT ms);
2223 IDSEXP is_EnableDDOverlay (HIDS hf);
2224 IDSEXP is_DisableDDOverlay (HIDS hf);
2225 IDSEXP is_ShowDDOverlay (HIDS hf);
2226 IDSEXP is_HideDDOverlay (HIDS hf);
2227
2228
2229 IDSEXP is_GetVsyncCount (HIDS hf, long* pIntr, long* pActIntr);
2230 IDSEXP is_GetOsVersion (void);
2231 // version information
2232 IDSEXP is_GetDLLVersion (void);
2233
2234 IDSEXP is_InitEvent (HIDS hf, HANDLE hEv, INT which);
2235 IDSEXP is_ExitEvent (HIDS hf, INT which);
2236 IDSEXP is_EnableEvent (HIDS hf, INT which);
2237 IDSEXP is_DisableEvent (HIDS hf, INT which);
2238
2239 IDSEXP is_SetIO (HIDS hf, INT nIO);
2240 IDSEXP is_SetFlashStrobe (HIDS hf, INT nMode, INT nLine);
2241 IDSEXP is_SetExternalTrigger (HIDS hf, INT nTriggerMode);
2242 IDSEXP is_SetTriggerCounter (HIDS hf, INT nValue);
2243 IDSEXP is_SetRopEffect (HIDS hf, INT effect, INT param, INT reserved);
2244
2245// ----------------------------------------------------------------------------
2246// new functions only valid for uEye camera family
2247// ----------------------------------------------------------------------------
2248 // Camera functions
2249 IDSEXP is_InitCamera (HIDS* phf, HWND hWnd);
2250 IDSEXP is_ExitCamera (HIDS hf);
2251 IDSEXP is_GetCameraInfo (HIDS hf, PCAMINFO pInfo);
2252 IDSEXPUL is_CameraStatus (HIDS hf, INT nInfo, ULONG ulValue);
2253 IDSEXP is_GetCameraType (HIDS hf);
2254 IDSEXP is_GetNumberOfCameras (INT* pnNumCams);
2255
2256 // PixelClock
2257 IDSEXP is_GetPixelClockRange (HIDS hf, INT *pnMin, INT *pnMax);
2258 IDSEXP is_SetPixelClock (HIDS hf, INT Clock);
2259 IDSEXP is_GetUsedBandwidth (HIDS hf);
2260 // Set/Get Frame rate
2261 IDSEXP is_GetFrameTimeRange (HIDS hf, double *min, double *max, double *intervall);
2262 IDSEXP is_SetFrameRate (HIDS hf, double FPS, double* newFPS);
2263 // Set/Get Exposure
2264 IDSEXP is_GetExposureRange (HIDS hf, double *min, double *max, double *intervall);
2265 IDSEXP is_SetExposureTime (HIDS hf, double EXP, double* newEXP);
2266 // get frames per second
2267 IDSEXP is_GetFramesPerSecond (HIDS hf, double *dblFPS);
2268
2269 // is_SetIOMask ( only uEye USB )
2270 IDSEXP is_SetIOMask (HIDS hf, INT nMask);
2271
2272 // Get Sensor info
2273 IDSEXP is_GetSensorInfo (HIDS hf, PSENSORINFO pInfo);
2274 // Get RevisionInfo
2275 IDSEXP is_GetRevisionInfo (HIDS hf, PREVISIONINFO prevInfo);
2276
2277 // enable/disable AutoExit after device remove
2278 IDSEXP is_EnableAutoExit (HIDS hf, INT nMode);
2279 // Message
2280 IDSEXP is_EnableMessage (HIDS hf, INT which, HWND hWnd);
2281
2282 // hardware gain settings
2283 IDSEXP is_SetHardwareGain (HIDS hf, INT nMaster, INT nRed, INT nGreen, INT nBlue);
2284
2285 // set render mode
2286 IDSEXP is_SetRenderMode (HIDS hf, INT Mode);
2287
2288 // enable/disable WhiteBalance
2289 IDSEXP is_SetWhiteBalance (HIDS hf, INT nMode);
2290 IDSEXP is_SetWhiteBalanceMultipliers (HIDS hf, double dblRed, double dblGreen, double dblBlue);
2291 IDSEXP is_GetWhiteBalanceMultipliers (HIDS hf, double *pdblRed, double *pdblGreen, double *pdblBlue);
2292
2293 // Edge enhancement
2294 IDSEXP is_SetEdgeEnhancement (HIDS hf, INT nEnable);
2295
2296 // Sensor features
2297 IDSEXP is_SetColorCorrection (HIDS hf, INT nEnable, double *factors);
2298 IDSEXP is_SetBlCompensation (HIDS hf, INT nEnable, INT offset, INT reserved);
2299
2300 // Hotpixel
2301 IDSEXP is_SetBadPixelCorrection (HIDS hf, INT nEnable, INT threshold);
2302 IDSEXP is_LoadBadPixelCorrectionTable (HIDS hf, const IS_CHAR *File);
2303 IDSEXP is_SaveBadPixelCorrectionTable (HIDS hf, const IS_CHAR *File);
2304 IDSEXP is_SetBadPixelCorrectionTable (HIDS hf, INT nMode, WORD *pList);
2305
2306 // Memoryboard
2307 IDSEXP is_SetMemoryMode (HIDS hf, INT nCount, INT nDelay);
2308 IDSEXP is_TransferImage (HIDS hf, INT nMemID, INT seqID, INT imageNr, INT reserved);
2309 IDSEXP is_TransferMemorySequence (HIDS hf, INT seqID, INT StartNr, INT nCount, INT nSeqPos);
2310 IDSEXP is_MemoryFreezeVideo (HIDS hf, INT nMemID, INT Wait);
2311 IDSEXP is_GetLastMemorySequence (HIDS hf, INT *pID);
2312 IDSEXP is_GetNumberOfMemoryImages (HIDS hf, INT nID, INT *pnCount);
2313 IDSEXP is_GetMemorySequenceWindow (HIDS hf, INT nID, INT *left, INT *top, INT *right, INT *bottom);
2314 IDSEXP is_IsMemoryBoardConnected (HIDS hf, BOOL *pConnected);
2315 IDSEXP is_ResetMemory (HIDS hf, INT nReserved);
2316
2317 IDSEXP is_SetSubSampling (HIDS hf, INT mode);
2318 IDSEXP is_ForceTrigger (HIDS hf);
2319
2320 // new with driver version 1.12.0006
2321 IDSEXP is_GetBusSpeed (HIDS hf);
2322
2323 // new with driver version 1.12.0015
2324 IDSEXP is_SetBinning (HIDS hf, INT mode);
2325
2326 // new with driver version 1.12.0017
2327 IDSEXP is_ResetToDefault (HIDS hf);
2328 IDSEXP is_LoadParameters (HIDS hf, const IS_CHAR* pFilename);
2329 IDSEXP is_SaveParameters (HIDS hf, const IS_CHAR* pFilename);
2330
2331 // new with driver version 1.14.0001
2332 IDSEXP is_GetGlobalFlashDelays (HIDS hf, ULONG *pulDelay, ULONG *pulDuration);
2333 IDSEXP is_SetFlashDelay (HIDS hf, ULONG ulDelay, ULONG ulDuration);
2334 // new with driver version 1.14.0002
2335 IDSEXP is_LoadImage (HIDS hf, const IS_CHAR* File);
2336
2337 // new with driver version 1.14.0008
2338 IDSEXP is_SetImageAOI (HIDS hf, INT xPos, INT yPos, INT width, INT height);
2339 IDSEXP is_SetCameraID (HIDS hf, INT nID);
2340 IDSEXP is_SetBayerConversion (HIDS hf, INT nMode);
2341 IDSEXP is_SetTestImage (HIDS hf, INT nMode);
2342 // new with driver version 1.14.0009
2343 IDSEXP is_SetHardwareGamma (HIDS hf, INT nMode);
2344
2345 // new with driver version 2.00.0001
2346 IDSEXP is_GetCameraList (PUEYE_CAMERA_LIST pucl);
2347
2348 // new with driver version 2.00.0011
2349 IDSEXP is_SetAOI (HIDS hf, INT type, INT *pXPos, INT *pYPos, INT *pWidth, INT *pHeight);
2350 IDSEXP is_SetAutoParameter (HIDS hf, INT param, double *pval1, double *pval2);
2351 IDSEXP is_GetAutoInfo (HIDS hf, UEYE_AUTO_INFO *pInfo);
2352
2353 // new with driver version 2.20.0001
2354 IDSEXP is_ConvertImage (HIDS hf, char* pcSource, int nIDSource, char** pcDest, INT *nIDDest, INT *reserved);
2355 IDSEXP is_SetConvertParam (HIDS hf, BOOL ColorCorrection, INT BayerConversionMode, INT ColorMode, INT Gamma, double* WhiteBalanceMultipliers);
2356
2357 IDSEXP is_SaveImageEx (HIDS hf, const IS_CHAR* File, INT fileFormat, INT Param);
2358 IDSEXP is_SaveImageMemEx (HIDS hf, const IS_CHAR* File, char* pcMem, INT nID, INT FileFormat, INT Param);
2359 IDSEXP is_LoadImageMem (HIDS hf, const IS_CHAR* File, char** ppcImgMem, INT* pid);
2360
2361 IDSEXP is_GetImageHistogram (HIDS hf, int nID, INT ColorMode, DWORD* pHistoMem);
2362 IDSEXP is_SetTriggerDelay (HIDS hf, INT nTriggerDelay);
2363
2364 // new with driver version 2.21.0000
2365 IDSEXP is_SetGainBoost (HIDS hf, INT mode);
2366 IDSEXP is_SetLED (HIDS hf, INT nValue);
2367
2368 IDSEXP is_SetGlobalShutter (HIDS hf, INT mode);
2369 IDSEXP is_SetExtendedRegister (HIDS hf, INT index,WORD value);
2370 IDSEXP is_GetExtendedRegister (HIDS hf, INT index, WORD *pwValue);
2371
2372 // new with driver version 2.22.0002
2373 IDSEXP is_SetHWGainFactor (HIDS hf, INT nMode, INT nFactor);
2374
2375 // camera renumeration
2376 IDSEXP is_Renumerate (HIDS hf, INT nMode);
2377
2378 // Read / Write I2C
2379 IDSEXP is_WriteI2C (HIDS hf, INT nDeviceAddr, INT nRegisterAddr, BYTE* pbData, INT nLen);
2380 IDSEXP is_ReadI2C (HIDS hf, INT nDeviceAddr, INT nRegisterAddr, BYTE* pbData, INT nLen);
2381
2382
2383 // new with driver version 3.10.0000
2384 typedef struct _KNEEPOINT
2385 {
2386 double x;
2387 double y;
2388 } KNEEPOINT, *PKNEEPOINT;
2389
2390
2391 typedef struct _KNEEPOINTARRAY
2392 {
2393 INT NumberOfUsedKneepoints;
2394 KNEEPOINT Kneepoint[10];
2395 } KNEEPOINTARRAY, *PKNEEPOINTARRAY;
2396
2397
2398 typedef struct _KNEEPOINTINFO
2399 {
2400 INT NumberOfSupportedKneepoints;
2401 INT NumberOfUsedKneepoints;
2402 double MinValueX;
2403 double MaxValueX;
2404 double MinValueY;
2405 double MaxValueY;
2406 KNEEPOINT DefaultKneepoint[10];
2407 INT Reserved[10];
2408 } KNEEPOINTINFO, *PKNEEPOINTINFO;
2409
2410
2411 // HDR functions
2412 IDSEXP is_GetHdrMode (HIDS hf, INT *Mode);
2413 IDSEXP is_EnableHdr (HIDS hf, INT Enable);
2414 IDSEXP is_SetHdrKneepoints (HIDS hf, KNEEPOINTARRAY *KneepointArray, INT KneepointArraySize);
2415 IDSEXP is_GetHdrKneepoints (HIDS hf, KNEEPOINTARRAY *KneepointArray, INT KneepointArraySize);
2416 IDSEXP is_GetHdrKneepointInfo (HIDS hf, KNEEPOINTINFO *KneepointInfo, INT KneepointInfoSize);
2417
2418 IDSEXP is_SetOptimalCameraTiming (HIDS hf, INT Mode, INT Timeout, INT *pMaxPxlClk, double *pMaxFrameRate);
2419
2420 IDSEXP is_GetSupportedTestImages (HIDS hf, INT *SupportedTestImages);
2421 IDSEXP is_GetTestImageValueRange (HIDS hf, INT TestImage, INT *TestImageValueMin, INT *TestImageValueMax);
2422 IDSEXP is_SetSensorTestImage (HIDS hf, INT Param1, INT Param2);
2423
2424 IDSEXP is_SetCameraLUT (HIDS hf, UINT Mode, UINT NumberOfEntries, double *pRed_Grey, double *pGreen, double *pBlue);
2425 IDSEXP is_GetCameraLUT (HIDS hf, UINT Mode, UINT NumberOfEntries, double *pRed_Grey, double *pGreen, double *pBlue);
2426
2427 IDSEXP is_GetColorConverter (HIDS hf, INT ColorMode, INT *pCurrentConvertMode, INT *pDefaultConvertMode, INT *pSupportedConvertModes);
2428 IDSEXP is_SetColorConverter (HIDS hf, INT ColorMode, INT ConvertMode);
2429
2430 IDSEXP is_GetCaptureErrorInfo (HIDS hf, UEYE_CAPTURE_ERROR_INFO *pCaptureErrorInfo, UINT SizeCaptureErrorInfo);
2431 IDSEXP is_ResetCaptureErrorInfo (HIDS hf );
2432
2433 IDSEXP is_WaitForNextImage (HIDS hf, UINT timeout, char **ppcMem, INT *imageID);
2434 IDSEXP is_InitImageQueue (HIDS hf, INT nMode);
2435 IDSEXP is_ExitImageQueue (HIDS hf);
2436
2437 IDSEXP is_SetTimeout (HIDS hf, UINT nMode, UINT Timeout);
2438 IDSEXP is_GetTimeout (HIDS hf, UINT nMode, UINT *pTimeout);
2439
2440
2441 typedef enum eUEYE_GET_ESTIMATED_TIME_MODE
2442 {
2443 IS_SE_STARTER_FW_UPLOAD = 0x00000001, /*!< get estimated duration of GigE SE starter firmware upload in milliseconds */
2444
2445 } UEYE_GET_ESTIMATED_TIME_MODE;
2446
2447
2448 IDSEXP is_GetDuration (HIDS hf, UINT nMode, INT* pnTime);
2449
2450
2451 // new with driver version 3.40.0000
2452 typedef struct _SENSORSCALERINFO
2453 {
2454 INT nCurrMode;
2455 INT nNumberOfSteps;
2456 double dblFactorIncrement;
2457 double dblMinFactor;
2458 double dblMaxFactor;
2459 double dblCurrFactor;
2460 BYTE bReserved[88];
2461 } SENSORSCALERINFO;
2462
2463
2464 IDSEXP is_GetSensorScalerInfo (HIDS hf, SENSORSCALERINFO *pSensorScalerInfo, INT nSensorScalerInfoSize);
2465 IDSEXP is_SetSensorScaler (HIDS hf, UINT nMode, double dblFactor);
2466
2467 typedef struct _UEYETIME
2468 {
2469 WORD wYear;
2470 WORD wMonth;
2471 WORD wDay;
2472 WORD wHour;
2473 WORD wMinute;
2474 WORD wSecond;
2475 WORD wMilliseconds;
2476 BYTE byReserved[10];
2477 } UEYETIME;
2478
2479
2480 typedef struct _UEYEIMAGEINFO
2481 {
2482 DWORD dwFlags;
2483 BYTE byReserved1[4];
2484 UINT64 u64TimestampDevice;
2485 UEYETIME TimestampSystem;
2486 DWORD dwIoStatus;
2487 BYTE byReserved2[4];
2488 UINT64 u64FrameNumber;
2489 DWORD dwImageBuffers;
2490 DWORD dwImageBuffersInUse;
2491 DWORD dwReserved3;
2492 DWORD dwImageHeight;
2493 DWORD dwImageWidth;
2494 } UEYEIMAGEINFO;
2495
2496
2497 IDSEXP is_GetImageInfo (HIDS hf, INT nImageBufferID, UEYEIMAGEINFO *pImageInfo, INT nImageInfoSize);
2498
2499
2500 // New functions and defines for 3.52 (uEye XS)
2501 IDSEXP is_ImageFormat (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2502
2503
2504 typedef enum E_IMAGE_FORMAT_CMD
2505 {
2506 IMGFRMT_CMD_GET_NUM_ENTRIES = 1, /* Get the number of supported image formats.
2507 pParam hast to be a Pointer to IS_U32. If -1 is reported, the device
2508 supports continuous AOI settings (maybe with fixed increments) */
2509 IMGFRMT_CMD_GET_LIST = 2, /* Get a array of IMAGE_FORMAT_ELEMENTs. */
2510 IMGFRMT_CMD_SET_FORMAT = 3, /* Select a image format */
2511 IMGFRMT_CMD_GET_ARBITRARY_AOI_SUPPORTED = 4, /* Does the device supports the setting of an arbitrary AOI. */
2512 IMGFRMT_CMD_GET_FORMAT_INFO = 5 /* Get IMAGE_FORMAT_INFO for a given formatID */
2513
2514 } IMAGE_FORMAT_CMD;
2515
2516
2517 typedef enum E_CAPTUREMODE
2518 {
2519
2520 // no trigger
2521 CAPTMODE_FREERUN = 0x00000001,
2522 CAPTMODE_SINGLE = 0x00000002,
2523
2524 // software trigger modes
2525 CAPTMODE_TRIGGER_SOFT_SINGLE = 0x00000010,
2526 CAPTMODE_TRIGGER_SOFT_CONTINUOUS = 0x00000020,
2527
2528 // hardware trigger modes
2529 CAPTMODE_TRIGGER_HW_SINGLE = 0x00000100,
2530 CAPTMODE_TRIGGER_HW_CONTINUOUS = 0x00000200
2531
2532 } CAPTUREMODE;
2533
2534
2535 typedef struct S_IMAGE_FORMAT_INFO
2536 {
2537 INT nFormatID; /* Image format ID. */
2538 UINT nWidth; /* Width. */
2539 UINT nHeight; /* Height. */
2540 UINT nX0; /* Start position x. */
2541 UINT nY0; /* Start position Y. */
2542 UINT nSupportedCaptureModes; /* Flag field with supported capture modes for this resolution (Bitmask of
2543 of CAPTUREMODE enumeration). */
2544 UINT nBinningMode; /* Binning mode. */
2545 UINT nSubsamplingMode; /* Subsampling mode. */
2546 IS_CHAR strFormatName[64]; /* Format name. Currently not used */
2547 UINT nReserved[24];
2548 } IMAGE_FORMAT_INFO;
2549
2550
2551 typedef struct S_IMAGE_FORMAT_LIST
2552 {
2553 UINT nSizeOfListEntry; /* Size of one list entry in byte. */
2554 UINT nNumListElements; /* Number of list entries. */
2555 UINT nReserved[4]; /* Reserved for future use. */
2556 IMAGE_FORMAT_INFO FormatInfo[1]; /* First format entry. */
2557 } IMAGE_FORMAT_LIST;
2558
2559
2560IDSEXP is_FaceDetection (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2561
2562
2563 typedef enum E_FDT_CAPABILITY_FLAGS
2564 {
2565 FDT_CAP_INVALID = 0,
2566 FDT_CAP_SUPPORTED = 0x00000001, /* Face detection supported. */
2567 FDT_CAP_SEARCH_ANGLE = 0x00000002, /* Search angle. */
2568 FDT_CAP_SEARCH_AOI = 0x00000004, /* Search AOI. */
2569 FDT_CAP_INFO_POSX = 0x00000010, /* Query horizontal position (center) of detected face. */
2570 FDT_CAP_INFO_POSY = 0x00000020, /* Query vertical position(center) of detected face. */
2571 FDT_CAP_INFO_WIDTH = 0x00000040, /* Query width of detected face. */
2572 FDT_CAP_INFO_HEIGHT = 0x00000080, /* Query height of detected face. */
2573 FDT_CAP_INFO_ANGLE = 0x00000100, /* Query angle of detected face. */
2574 FDT_CAP_INFO_POSTURE = 0x00000200, /* Query posture of detected face. */
2575 FDT_CAP_INFO_FACENUMBER = 0x00000400, /* Query number of detected faces. */
2576 FDT_CAP_INFO_OVL = 0x00000800, /* Overlay: Mark the detected face in the image. */
2577 FDT_CAP_INFO_NUM_OVL = 0x00001000, /* Overlay: Limit the maximum number of overlays in one image. */
2578 FDT_CAP_INFO_OVL_LINEWIDTH = 0x00002000 /* Overlay line width. */
2579 } FDT_CAPABILITY_FLAGS;
2580
2581
2582 typedef struct S_FDT_INFO_EL
2583 {
2584 INT nFacePosX; /* Start X position. */
2585 INT nFacePosY; /* Start Y position. */
2586 INT nFaceWidth; /* Face width. */
2587 INT nFaceHeight; /* Face height. */
2588 INT nAngle; /* Face Angle (0...360° clockwise, 0° at twelve o'clock position. -1: undefined ). */
2589 UINT nPosture; /* Face posture. */
2590 UEYETIME TimestampSystem; /* System time stamp (device query time) . */
2591 UINT64 nReserved; /* Reserved for future use. */
2592 UINT nReserved2[4]; /* Reserved for future use. */
2593
2594 } FDT_INFO_EL;
2595
2596
2597 typedef struct S_FDT_INFO_LIST
2598 {
2599 UINT nSizeOfListEntry; /* Size of one list entry in byte(in). */
2600 UINT nNumDetectedFaces; /* Number of detected faces(out). */
2601 UINT nNumListElements; /* Number of list elements(in). */
2602 UINT nReserved[4]; /* reserved for future use(out). */
2603 FDT_INFO_EL FaceEntry[1]; /* First face entry. */
2604 } FDT_INFO_LIST;
2605
2606
2607 typedef enum E_FDT_CMD
2608 {
2609 FDT_CMD_GET_CAPABILITIES = 0, /* Get the capabilities for face detection. */
2610 FDT_CMD_SET_DISABLE = 1, /* Disable face detection. */
2611 FDT_CMD_SET_ENABLE = 2, /* Enable face detection. */
2612 FDT_CMD_SET_SEARCH_ANGLE = 3, /* Set the search angle. */
2613 FDT_CMD_GET_SEARCH_ANGLE = 4, /* Get the search angle parameter. */
2614 FDT_CMD_SET_SEARCH_ANGLE_ENABLE = 5, /* Enable search angle. */
2615 FDT_CMD_SET_SEARCH_ANGLE_DISABLE = 6, /* Enable search angle. */
2616 FDT_CMD_GET_SEARCH_ANGLE_ENABLE = 7, /* Get the current setting of search angle enable. */
2617 FDT_CMD_SET_SEARCH_AOI = 8, /* Set the search AOI. */
2618 FDT_CMD_GET_SEARCH_AOI = 9, /* Get the search AOI. */
2619 FDT_CMD_GET_FACE_LIST = 10, /* Get a list with detected faces. */
2620 FDT_CMD_GET_NUMBER_FACES = 11, /* Get the number of detected faces. */
2621 FDT_CMD_SET_SUSPEND = 12, /* Keep the face detection result of that moment. */
2622 FDT_CMD_SET_RESUME = 13, /* Continue with the face detection. */
2623 FDT_CMD_GET_MAX_NUM_FACES = 14, /* Get the maximum number of faces that can be detected once. */
2624 FDT_CMD_SET_INFO_MAX_NUM_OVL = 15, /* Set the maximum number of overlays displayed. */
2625 FDT_CMD_GET_INFO_MAX_NUM_OVL = 16, /* Get the setting 'maximum number of overlays displayed'. */
2626 FDT_CMD_SET_INFO_OVL_LINE_WIDTH = 17, /* Set the overlay line width. */
2627 FDT_CMD_GET_INFO_OVL_LINE_WIDTH = 18, /* Get the overlay line width. */
2628 FDT_CMD_GET_ENABLE = 19, /* Face detection enabled?. */
2629 FDT_CMD_GET_SUSPEND = 20, /* Face detection suspended?. */
2630 FDT_CMD_GET_HORIZONTAL_RESOLUTION = 21, /* Horizontal resolution of face detection. */
2631 FDT_CMD_GET_VERTICAL_RESOLUTION = 22 /* Vertical resolution of face detection. */
2632
2633 } FDT_CMD;
2634
2635
2636 IDSEXP is_Focus (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2637
2638
2639 typedef enum E_FOCUS_CAPABILITY_FLAGS
2640 {
2641 FOC_CAP_INVALID = 0,
2642 FOC_CAP_AUTOFOCUS_SUPPORTED = 0x00000001, /* Auto focus supported. */
2643 FOC_CAP_MANUAL_SUPPORTED = 0x00000002, /* Manual focus supported. */
2644 FOC_CAP_GET_DISTANCE = 0x00000004, /* Support for query the distance of the focused object. */
2645 FOC_CAP_SET_AUTOFOCUS_RANGE = 0x00000008, /* Support for setting focus ranges. */
2646 FOC_CAP_AUTOFOCUS_FDT_AOI = 0x00000010 /* Use of face detection AOI for autofocus supported. */
2647 } FOCUS_CAPABILITY_FLAGS;
2648
2649
2650 typedef enum E_FOCUS_RANGE
2651 {
2652 FOC_RANGE_NORMAL = 0x00000001, /* Normal focus range(without Macro). */
2653 FOC_RANGE_ALLRANGE = 0x00000002, /* Allrange (macro to Infinity). */
2654 FOC_RANGE_MACRO = 0x00000004 /* Macro (only macro). */
2655 } FOCUS_RANGE;
2656
2657
2658 typedef enum E_FOCUS_CMD
2659 {
2660 FOC_CMD_GET_CAPABILITIES = 0, /* Get focus capabilities. */
2661 FOC_CMD_SET_DISABLE_AUTOFOCUS = 1, /* Disable autofocus. */
2662 FOC_CMD_SET_ENABLE_AUTOFOCUS = 2, /* Enable autofocus. */
2663 FOC_CMD_GET_AUTOFOCUS_ENABLE = 3, /* Autofocus enabled?. */
2664 FOC_CMD_SET_AUTOFOCUS_RANGE = 4, /* Preset autofocus range. */
2665 FOC_CMD_GET_AUTOFOCUS_RANGE = 5, /* Get preset of autofocus range. */
2666 FOC_CMD_GET_DISTANCE = 6, /* Get distance to focused object. */
2667 FOC_CMD_SET_MANUAL_FOCUS = 7, /* Set manual focus. */
2668 FOC_CMD_GET_MANUAL_FOCUS = 8, /* Get the value for manual focus. */
2669 FOC_CMD_GET_MANUAL_FOCUS_MIN = 9, /* Get the minimum manual focus value. */
2670 FOC_CMD_GET_MANUAL_FOCUS_MAX = 10, /* Get the maximum manual focus value. */
2671 FOC_CMD_GET_MANUAL_FOCUS_INC = 11, /* Get the increment of the manual focus value. */
2672 FOC_CMD_SET_ENABLE_AF_FDT_AOI = 12, /* Enable face detection AOI use for autofocus. */
2673 FOC_CMD_SET_DISABLE_AF_FDT_AOI = 13, /* Disable face detection AOI use for autofocus */
2674 FOC_CMD_GET_AF_FDT_AOI_ENABLE = 14 /* Use autofocus FDT AOI? */
2675 } FOCUS_CMD;
2676
2677
2678 IDSEXP is_ImageStabilization(HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2679
2680 // image stabilization capability flags
2681 typedef enum E_IMGSTAB_CAPABILITY_FLAGS
2682 {
2683 IMGSTAB_CAP_INVALID = 0,
2684 IMGSTAB_CAP_IMAGE_STABILIZATION_SUPPORTED = 0x00000001 /* Image stabilization supported. */
2685 } IMGSTAB_CAPABILITY_FLAGS;
2686
2687
2688 typedef enum E_IMGSTAB_CMD
2689 {
2690 IMGSTAB_CMD_GET_CAPABILITIES = 0, /* Get the capabilities for image stabilization. */
2691 IMGSTAB_CMD_SET_DISABLE = 1, /* Disable image stabilization. */
2692 IMGSTAB_CMD_SET_ENABLE = 2, /* Enable image stabilization. */
2693 IMGSTAB_CMD_GET_ENABLE = 3 /* Image stabilization enabled? */
2694
2695 } IMGSTAB_CMD;
2696
2697 // New functions and defines for 3.61 (uEye XS)
2698 IDSEXP is_ScenePreset(HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2699
2700 typedef enum E_SCENE_CMD
2701 {
2702 SCENE_CMD_GET_SUPPORTED_PRESETS = 1,/* Get the supported scene presets */
2703 SCENE_CMD_SET_PRESET = 2,/* Set the scene preset */
2704 SCENE_CMD_GET_PRESET = 3,/* Get the current sensor scene preset */
2705 SCENE_CMD_GET_DEFAULT_PRESET = 4 /* Get the default sensor scene preset */
2706 } SCENE_CMD;
2707
2708
2709
2710 typedef enum E_SCENE_PRESET
2711 {
2712 SCENE_INVALID = 0,
2713 SCENE_SENSOR_AUTOMATIC = 0x00000001,
2714 SCENE_SENSOR_PORTRAIT = 0x00000002,
2715 SCENE_SENSOR_SUNNY = 0x00000004,
2716 SCENE_SENSOR_ENTERTAINMENT= 0x00000008,
2717 SCENE_SENSOR_NIGHT = 0x00000010,
2718 SCENE_SENSOR_SPORTS = 0x00000040,
2719 SCENE_SENSOR_LANDSCAPE = 0x00000080
2720 } SCENE_PRESET;
2721
2722
2723IDSEXP is_Zoom (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2724
2725typedef enum E_ZOOM_CMD
2726{
2727 ZOOM_CMD_GET_CAPABILITIES = 0,/* Get the zoom capabilities. */
2728 ZOOM_CMD_DIGITAL_GET_NUM_LIST_ENTRIES = 1,/* Get the number of list entries. */
2729 ZOOM_CMD_DIGITAL_GET_LIST = 2,/* Get a list of supported zoom factors. */
2730 ZOOM_CMD_DIGITAL_SET_VALUE = 3,/* Set the digital zoom factor zoom factors. */
2731 ZOOM_CMD_DIGITAL_GET_VALUE = 4 /* Get a current digital zoom factor. */
2732
2733} ZOOM_CMD;
2734
2735
2736typedef enum E_ZOOM_CAPABILITY_FLAGS
2737{
2738 ZOOM_CAP_INVALID = 0,
2739 ZOOM_CAP_DIGITAL_ZOOM = 0x00001
2740} ZOOM_CAPABILITY_FLAGS;
2741
2742
2743IDSEXP is_Sharpness (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2744
2745
2746typedef enum E_SHARPNESS_CMD
2747{
2748 SHARPNESS_CMD_GET_CAPABILITIES = 0, /* Get the sharpness capabilities */
2749 SHARPNESS_CMD_GET_VALUE = 1, /* Get the current sharpness value */
2750 SHARPNESS_CMD_GET_MIN_VALUE = 2, /* Get the minimum sharpness value */
2751 SHARPNESS_CMD_GET_MAX_VALUE = 3, /* Get the maximum sharpness value */
2752 SHARPNESS_CMD_GET_INCREMENT = 4, /* Get the sharpness increment */
2753 SHARPNESS_CMD_GET_DEFAULT_VALUE = 5, /* Get the default sharpness value */
2754 SHARPNESS_CMD_SET_VALUE = 6 /* Set the sharpness value */
2755
2756} SHARPNESS_CMD;
2757
2758
2759typedef enum E_SHARPNESS_CAPABILITY_FLAGS
2760{
2761 SHARPNESS_CAP_INVALID = 0x0000,
2762 SHARPNESS_CAP_SHARPNESS_SUPPORTED = 0x0001
2763
2764} SHARPNESS_CAPABILITY_FLAGS;
2765
2766
2767IDSEXP is_Saturation (HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2768
2769
2770typedef enum E_SATURATION_CMD
2771{
2772 SATURATION_CMD_GET_CAPABILITIES = 0, /* Get the saturation capabilities */
2773 SATURATION_CMD_GET_VALUE = 1, /* Get the current saturation value */
2774 SATURATION_CMD_GET_MIN_VALUE = 2, /* Get the minimum saturation value */
2775 SATURATION_CMD_GET_MAX_VALUE = 3, /* Get the maximum saturation value */
2776 SATURATION_CMD_GET_INCREMENT = 4, /* Get the saturation increment */
2777 SATURATION_CMD_GET_DEFAULT_VALUE = 5, /* Get the default saturation value */
2778 SATURATION_CMD_SET_VALUE = 6 /* Set the saturation value */
2779
2780} SATURATION_CMD;
2781
2782
2783typedef enum E_SATURATION_CAPABILITY_FLAGS
2784{
2785 SATURATION_CAP_INVALID = 0x0000,
2786 SATURATION_CAP_SATURATION_SUPPORTED = 0x0001
2787
2788} SATURATION_CAPABILITY_FLAGS;
2789
2790
2791// Trigger debounce modes
2792typedef enum E_TRIGGER_DEBOUNCE_MODE
2793{
2794 TRIGGER_DEBOUNCE_MODE_NONE = 0x0000,
2795 TRIGGER_DEBOUNCE_MODE_FALLING_EDGE = 0x0001,
2796 TRIGGER_DEBOUNCE_MODE_RISING_EDGE = 0x0002,
2797 TRIGGER_DEBOUNCE_MODE_BOTH_EDGES = 0x0004,
2798 TRIGGER_DEBOUNCE_MODE_AUTOMATIC = 0x0008
2799
2800} TRIGGER_DEBOUNCE_MODE;
2801
2802
2803// Trigger debounce commands
2804typedef enum E_TRIGGER_DEBOUNCE_CMD
2805{
2806 TRIGGER_DEBOUNCE_CMD_SET_MODE = 0, /* Set a new trigger debounce mode */
2807 TRIGGER_DEBOUNCE_CMD_SET_DELAY_TIME = 1, /* Set a new trigger debounce delay time */
2808 TRIGGER_DEBOUNCE_CMD_GET_SUPPORTED_MODES = 2, /* Get the supported modes */
2809 TRIGGER_DEBOUNCE_CMD_GET_MODE = 3, /* Get the current trigger debounce mode */
2810 TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME = 4, /* Get the current trigger debounce delay time */
2811 TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_MIN = 5, /* Get the minimum value for the trigger debounce delay time */
2812 TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_MAX = 6, /* Get the maximum value for the trigger debounce delay time */
2813 TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_INC = 7, /* Get the increment of the trigger debounce delay time */
2814 TRIGGER_DEBOUNCE_CMD_GET_MODE_DEFAULT = 8, /* Get the default trigger debounce mode */
2815 TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_DEFAULT = 9 /* Get the default trigger debounce delay time */
2816
2817} TRIGGER_DEBOUNCE_CMD;
2818
2819
2820IDSEXP is_TriggerDebounce(HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2821
2822
2823typedef enum E_RGB_COLOR_MODELS
2824{
2825 RGB_COLOR_MODEL_SRGB_D50 = 0x0001,
2826 RGB_COLOR_MODEL_SRGB_D65 = 0x0002,
2827 RGB_COLOR_MODEL_CIE_RGB_E = 0x0004,
2828 RGB_COLOR_MODEL_ECI_RGB_D50 = 0x0008,
2829 RGB_COLOR_MODEL_ADOBE_RGB_D65 = 0x0010,
2830
2831} RGB_COLOR_MODELS;
2832
2833
2834typedef enum E_COLOR_TEMPERATURE_CMD
2835{
2836 COLOR_TEMPERATURE_CMD_SET_TEMPERATURE = 0, /* Set a new color temperature */
2837 COLOR_TEMPERATURE_CMD_SET_RGB_COLOR_MODEL = 1, /* Set a new RGB color model */
2838 COLOR_TEMPERATURE_CMD_GET_SUPPORTED_RGB_COLOR_MODELS = 2, /* Get the supported RGB color models */
2839 COLOR_TEMPERATURE_CMD_GET_TEMPERATURE = 3, /* Get the current color temperature */
2840 COLOR_TEMPERATURE_CMD_GET_RGB_COLOR_MODEL = 4, /* Get the current RGB color model */
2841 COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_MIN = 5, /* Get the minimum value for the color temperature */
2842 COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_MAX = 6, /* Get the maximum value for the color temperature */
2843 COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_INC = 7, /* Get the increment of the color temperature */
2844 COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_DEFAULT = 8, /* Get the default color temperature */
2845 COLOR_TEMPERATURE_CMD_GET_RGB_COLOR_MODEL_DEFAULT = 9 /* Get the default RGB color model */
2846
2847} COLOR_TEMPERATURE_CMD;
2848
2849
2850IDSEXP is_ColorTemperature(HIDS hf, UINT nCommand, void *pParam, UINT nSizeOfParam);
2851
2852
2853// ----------------------------------------------------------------------------
2854// new functions and datatypes only valid for uEye ETH
2855// ----------------------------------------------------------------------------
2856
2857#pragma pack( push, 1)
2858
2859 // IP V4 address
2860 typedef union _UEYE_ETH_ADDR_IPV4
2861 {
2862 struct
2863 {
2864 BYTE by1;
2865 BYTE by2;
2866 BYTE by3;
2867 BYTE by4;
2868 } by;
2869
2870 DWORD dwAddr;
2871
2872 } UEYE_ETH_ADDR_IPV4, *PUEYE_ETH_ADDR_IPV4;
2873
2874 // Ethernet address
2875 typedef struct _UEYE_ETH_ADDR_MAC
2876 {
2877 BYTE abyOctet[6];
2878
2879 } UEYE_ETH_ADDR_MAC, *PUEYE_ETH_ADDR_MAC;
2880
2881 // IP configuration
2882 typedef struct _UEYE_ETH_IP_CONFIGURATION
2883 {
2884 UEYE_ETH_ADDR_IPV4 ipAddress; /*!< IP address */
2885 UEYE_ETH_ADDR_IPV4 ipSubnetmask; /*!< IP subnetmask */
2886
2887 BYTE reserved[4]; /*!< reserved */
2888
2889 } UEYE_ETH_IP_CONFIGURATION, *PUEYE_ETH_IP_CONFIGURATION;
2890
2891 // values for UEYE_ETH_DEVICE_INFO_HEARTBEAT::dwDeviceStatusFlags
2892 typedef enum _UEYE_ETH_DEVICESTATUS
2893 {
2894 IS_ETH_DEVSTATUS_READY_TO_OPERATE= 0x00000001, /*!< device is ready to operate */
2895 IS_ETH_DEVSTATUS_TESTING_IP_CURRENT= 0x00000002, /*!< device is (arp-)probing its current ip */
2896 IS_ETH_DEVSTATUS_TESTING_IP_PERSISTENT= 0x00000004, /*!< device is (arp-)probing its persistent ip */
2897 IS_ETH_DEVSTATUS_TESTING_IP_RANGE= 0x00000008, /*!< device is (arp-)probing the autocfg ip range */
2898
2899 IS_ETH_DEVSTATUS_INAPPLICABLE_IP_CURRENT= 0x00000010, /*!< current ip is inapplicable */
2900 IS_ETH_DEVSTATUS_INAPPLICABLE_IP_PERSISTENT= 0x00000020, /*!< persistent ip is inapplicable */
2901 IS_ETH_DEVSTATUS_INAPPLICABLE_IP_RANGE= 0x00000040, /*!< autocfg ip range is inapplicable */
2902
2903 IS_ETH_DEVSTATUS_UNPAIRED= 0x00000100, /*!< device is unpaired */
2904 IS_ETH_DEVSTATUS_PAIRING_IN_PROGRESS= 0x00000200, /*!< device is being paired */
2905 IS_ETH_DEVSTATUS_PAIRED= 0x00000400, /*!< device is paired */
2906
2907 IS_ETH_DEVSTATUS_FORCE_100MBPS= 0x00001000, /*!< device phy is configured to 100 Mbps */
2908 IS_ETH_DEVSTATUS_NO_COMPORT= 0x00002000, /*!< device does not support ueye eth comport */
2909
2910 IS_ETH_DEVSTATUS_RECEIVING_FW_STARTER= 0x00010000, /*!< device is receiving the starter firmware */
2911 IS_ETH_DEVSTATUS_RECEIVING_FW_RUNTIME= 0x00020000, /*!< device is receiving the runtime firmware */
2912 IS_ETH_DEVSTATUS_INAPPLICABLE_FW_RUNTIME= 0x00040000, /*!< runtime firmware is inapplicable */
2913 IS_ETH_DEVSTATUS_INAPPLICABLE_FW_STARTER= 0x00080000, /*!< starter firmware is inapplicable */
2914
2915 IS_ETH_DEVSTATUS_REBOOTING_FW_RUNTIME= 0x00100000, /*!< device is rebooting to runtime firmware */
2916 IS_ETH_DEVSTATUS_REBOOTING_FW_STARTER= 0x00200000, /*!< device is rebooting to starter firmware */
2917 IS_ETH_DEVSTATUS_REBOOTING_FW_FAILSAFE= 0x00400000, /*!< device is rebooting to failsafe firmware */
2918
2919 IS_ETH_DEVSTATUS_RUNTIME_FW_ERR0= 0x80000000, /*!< checksum error runtime firmware */
2920
2921 } UEYE_ETH_DEVICESTATUS;
2922
2923 // heartbeat info transmitted periodically by a device
2924 // contained in UEYE_ETH_DEVICE_INFO
2925 typedef struct _UEYE_ETH_DEVICE_INFO_HEARTBEAT
2926 {
2927 BYTE abySerialNumber[12]; /*!< camera's serial number (string) */
2928
2929 BYTE byDeviceType; /*!< device type / board type, 0x80 for ETH */
2930
2931 BYTE byCameraID; /*!< camera id */
2932
2933 WORD wSensorID; /*!< camera's sensor's id */
2934
2935 WORD wSizeImgMem_MB; /*!< size of camera's image memory in MB */
2936
2937 BYTE reserved_1[2]; /*!< reserved */
2938
2939 DWORD dwVerStarterFirmware; /*!< starter firmware version */
2940
2941 DWORD dwVerRuntimeFirmware; /*!< runtime firmware version */
2942
2943 DWORD dwStatus; /*!< camera status flags */
2944
2945 BYTE reserved_2[4]; /*!< reserved */
2946
2947 WORD wTemperature; /*!< camera temperature */
2948
2949 WORD wLinkSpeed_Mb; /*!< link speed in Mb */
2950
2951 UEYE_ETH_ADDR_MAC macDevice; /*!< camera's MAC address */
2952
2953 WORD wComportOffset; /*!< comport offset from 100, valid range -99 to +156 */
2954
2955 UEYE_ETH_IP_CONFIGURATION ipcfgPersistentIpCfg; /*!< persistent IP configuration */
2956
2957 UEYE_ETH_IP_CONFIGURATION ipcfgCurrentIpCfg; /*!< current IP configuration */
2958
2959 UEYE_ETH_ADDR_MAC macPairedHost; /*!< paired host's MAC address */
2960
2961 BYTE reserved_4[2]; /*!< reserved */
2962
2963 UEYE_ETH_ADDR_IPV4 ipPairedHostIp; /*!< paired host's IP address */
2964
2965 UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeBegin; /*!< begin of IP address range */
2966
2967 UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeEnd; /*!< end of IP address range */
2968
2969 BYTE abyUserSpace[8]; /*!< user space data (first 8 bytes) */
2970
2971 BYTE reserved_5[84]; /*!< reserved */
2972
2973 BYTE reserved_6[64]; /*!< reserved */
2974
2975 } UEYE_ETH_DEVICE_INFO_HEARTBEAT, *PUEYE_ETH_DEVICE_INFO_HEARTBEAT;
2976
2977 // values for UEYE_ETH_DEVICE_INFO_CONTROL::dwControlStatus
2978 typedef enum _UEYE_ETH_CONTROLSTATUS
2979 {
2980 IS_ETH_CTRLSTATUS_AVAILABLE= 0x00000001, /*!< device is available TO US */
2981 IS_ETH_CTRLSTATUS_ACCESSIBLE1= 0x00000002, /*!< device is accessible BY US, i.e. directly 'unicastable' */
2982 IS_ETH_CTRLSTATUS_ACCESSIBLE2= 0x00000004, /*!< device is accessible BY US, i.e. not on persistent ip and adapters ip autocfg range is valid */
2983
2984 IS_ETH_CTRLSTATUS_PERSISTENT_IP_USED= 0x00000010, /*!< device is running on persistent ip configuration */
2985 IS_ETH_CTRLSTATUS_COMPATIBLE= 0x00000020, /*!< device is compatible TO US */
2986 IS_ETH_CTRLSTATUS_ADAPTER_ON_DHCP= 0x00000040, /*!< adapter is configured to use dhcp */
2987
2988 IS_ETH_CTRLSTATUS_UNPAIRING_IN_PROGRESS= 0x00000100, /*!< device is being unpaired FROM US */
2989 IS_ETH_CTRLSTATUS_PAIRING_IN_PROGRESS= 0x00000200, /*!< device is being paired TO US */
2990
2991 IS_ETH_CTRLSTATUS_PAIRED= 0x00001000, /*!< device is paired TO US */
2992
2993 IS_ETH_CTRLSTATUS_FW_UPLOAD_STARTER= 0x00010000, /*!< device is receiving the starter firmware */
2994 IS_ETH_CTRLSTATUS_FW_UPLOAD_RUNTIME= 0x00020000, /*!< device is receiving the runtime firmware */
2995
2996 IS_ETH_CTRLSTATUS_REBOOTING= 0x00100000, /*!< device is rebooting */
2997
2998 IS_ETH_CTRLSTATUS_INITIALIZED= 0x08000000, /*!< device object is initialized */
2999
3000 IS_ETH_CTRLSTATUS_TO_BE_DELETED= 0x40000000, /*!< device object is being deleted */
3001 IS_ETH_CTRLSTATUS_TO_BE_REMOVED= 0x80000000, /*!< device object is being removed */
3002
3003 } UEYE_ETH_CONTROLSTATUS;
3004
3005 // control info for a listed device
3006 // contained in UEYE_ETH_DEVICE_INFO
3007 typedef struct _UEYE_ETH_DEVICE_INFO_CONTROL
3008 {
3009 DWORD dwDeviceID; /*!< device's unique id */
3010
3011 DWORD dwControlStatus; /*!< device control status */
3012
3013 BYTE reserved_1[80]; /*!< reserved */
3014
3015 BYTE reserved_2[64]; /*!< reserved */
3016
3017 } UEYE_ETH_DEVICE_INFO_CONTROL, *PUEYE_ETH_DEVICE_INFO_CONTROL;
3018
3019 // Ethernet configuration
3020 typedef struct _UEYE_ETH_ETHERNET_CONFIGURATION
3021 {
3022 UEYE_ETH_IP_CONFIGURATION ipcfg;
3023 UEYE_ETH_ADDR_MAC mac;
3024
3025 } UEYE_ETH_ETHERNET_CONFIGURATION, *PUEYE_ETH_ETHERNET_CONFIGURATION;
3026
3027 // autocfg ip setup
3028 typedef struct _UEYE_ETH_AUTOCFG_IP_SETUP
3029 {
3030 UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeBegin; /*!< begin of ip address range for devices */
3031 UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeEnd; /*!< end of ip address range for devices */
3032
3033 BYTE reserved[4]; /*!< reserved */
3034
3035 } UEYE_ETH_AUTOCFG_IP_SETUP, *PUEYE_ETH_AUTOCFG_IP_SETUP;
3036
3037 // values for incoming packets filter setup
3038 typedef enum _UEYE_ETH_PACKETFILTER_SETUP
3039 {
3040 // notice: arp and icmp (ping) packets are always passed!
3041 IS_ETH_PCKTFLT_PASSALL= 0, /*!< pass all packets to OS */
3042 IS_ETH_PCKTFLT_BLOCKUEGET= 1, /*!< block UEGET packets to the OS */
3043 IS_ETH_PCKTFLT_BLOCKALL= 2 /*!< block all packets to the OS */
3044
3045 } UEYE_ETH_PACKETFILTER_SETUP;
3046
3047 // values for link speed setup
3048 typedef enum _UEYE_ETH_LINKSPEED_SETUP
3049 {
3050 IS_ETH_LINKSPEED_100MB= 100, /*!< 100 MBits */
3051 IS_ETH_LINKSPEED_1000MB= 1000 /*!< 1000 MBits */
3052
3053 } UEYE_ETH_LINKSPEED_SETUP;
3054
3055
3056 // control info for a device's network adapter
3057 // contained in UEYE_ETH_DEVICE_INFO
3058 typedef struct _UEYE_ETH_ADAPTER_INFO
3059 {
3060 DWORD dwAdapterID; /*!< adapter's unique id */
3061
3062 DWORD dwDeviceLinkspeed; /*!< device's linked to this adapter are forced to use this link speed */
3063
3064 UEYE_ETH_ETHERNET_CONFIGURATION ethcfg; /*!< adapter's eth configuration */
3065 BYTE reserved_2[2]; /*!< reserved */
3066 BOOL bIsEnabledDHCP; /*!< adapter's dhcp enabled flag */
3067
3068 UEYE_ETH_AUTOCFG_IP_SETUP autoCfgIp; /*!< the setup for the ip auto configuration */
3069 BOOL bIsValidAutoCfgIpRange; /*!< the given range is valid when:
3070 - begin and end are valid ip addresses
3071 - begin and end are in the subnet of the adapter
3072 - */
3073
3074 DWORD dwCntDevicesKnown; /*!< count of listed Known devices */
3075 DWORD dwCntDevicesPaired; /*!< count of listed Paired devices */
3076
3077 WORD wPacketFilter; /*!< Setting for the Incoming Packets Filter. see UEYE_ETH_PACKETFILTER_SETUP enum above. */
3078
3079 BYTE reserved_3[38]; /*!< reserved */
3080 BYTE reserved_4[64]; /*!< reserved */
3081
3082 } UEYE_ETH_ADAPTER_INFO, *PUEYE_ETH_ADAPTER_INFO;
3083
3084 // driver info
3085 // contained in UEYE_ETH_DEVICE_INFO
3086 typedef struct _UEYE_ETH_DRIVER_INFO
3087 {
3088 DWORD dwMinVerStarterFirmware; /*!< minimum version compatible starter firmware */
3089 DWORD dwMaxVerStarterFirmware; /*!< maximum version compatible starter firmware */
3090
3091 BYTE reserved_1[8]; /*!< reserved */
3092 BYTE reserved_2[64]; /*!< reserved */
3093
3094 } UEYE_ETH_DRIVER_INFO, *PUEYE_ETH_DRIVER_INFO;
3095
3096
3097
3098 // use is_GetEthDeviceInfo() to obtain this data.
3099 typedef struct _UEYE_ETH_DEVICE_INFO
3100 {
3101 UEYE_ETH_DEVICE_INFO_HEARTBEAT infoDevHeartbeat;
3102
3103 UEYE_ETH_DEVICE_INFO_CONTROL infoDevControl;
3104
3105 UEYE_ETH_ADAPTER_INFO infoAdapter;
3106
3107 UEYE_ETH_DRIVER_INFO infoDriver;
3108
3109 } UEYE_ETH_DEVICE_INFO, *PUEYE_ETH_DEVICE_INFO;
3110
3111
3112 typedef struct _UEYE_COMPORT_CONFIGURATION
3113 {
3114 WORD wComportNumber;
3115
3116 } UEYE_COMPORT_CONFIGURATION, *PUEYE_COMPORT_CONFIGURATION;
3117
3118
3119#pragma pack(pop)
3120
3121 IDSEXP is_GetEthDeviceInfo (HIDS hf, UEYE_ETH_DEVICE_INFO* pDeviceInfo, UINT uStructSize);
3122 IDSEXP is_SetPersistentIpCfg (HIDS hf, UEYE_ETH_IP_CONFIGURATION* pIpCfg, UINT uStructSize);
3123 IDSEXP is_SetStarterFirmware (HIDS hf, const CHAR* pcFilepath, UINT uFilepathLen);
3124
3125 IDSEXP is_SetAutoCfgIpSetup (INT iAdapterID, const UEYE_ETH_AUTOCFG_IP_SETUP* pSetup, UINT uStructSize);
3126 IDSEXP is_SetPacketFilter (INT iAdapterID, UINT uFilterSetting);
3127
3128 IDSEXP is_GetComportNumber (HIDS hf, UINT *pComportNumber);
3129
3130 IDSEXP is_DirectRenderer (HIDS hf, UINT nMode, void *pParam, UINT SizeOfParam);
3131
3132#ifdef __cplusplus
3133};
3134#endif /* __cplusplus */
3135
3136#pragma pack(pop)
3137
3138#endif // #ifndef __IDS_HEADER__
Note: See TracBrowser for help on using the repository browser.