5701 lines
234 KiB
C
5701 lines
234 KiB
C
/*****************************************************************************/
|
|
/*! \file ueye.h
|
|
* \author (c) 2004-2019 by Imaging Development Systems GmbH
|
|
* \date Date: 2019/11/29
|
|
* \version PRODUCTVERSION: 4.93
|
|
*
|
|
* \brief Library interface for IDS uEye - camera family.
|
|
* definition of exported API functions and constants
|
|
*//***************************************************************************/
|
|
|
|
#ifndef __IDS_HEADER__
|
|
#define __IDS_HEADER__
|
|
|
|
#pragma pack(push, 8)
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* make sure __LINUX__ is defined */
|
|
#if defined __linux__
|
|
# if !defined __LINUX__
|
|
# define __LINUX__
|
|
# endif /* !defined __LINUX__ */
|
|
#endif /* defined __linux__ */
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Version definition
|
|
// ----------------------------------------------------------------------------
|
|
#ifndef UEYE_VERSION
|
|
# define UEYE_VERSION(major, minor, build) (((major)<<24) + ((minor)<<16) + (build))
|
|
#endif
|
|
|
|
#ifndef UEYE_VERSION_CODE
|
|
# define UEYE_VERSION_CODE UEYE_VERSION(4, 93, 0)
|
|
#endif
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Driver name
|
|
// ----------------------------------------------------------------------------
|
|
#if defined(__linux__) || defined(__LINUX__)
|
|
# define DRIVER_DLL_NAME "libueye_api.so"
|
|
#elif defined (_WIN64)
|
|
# define DRIVER_DLL_NAME "ueye_api_64.dll"
|
|
#else
|
|
# define DRIVER_DLL_NAME "ueye_api.dll"
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Color modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_COLORMODE_INVALID 0
|
|
#define IS_COLORMODE_MONOCHROME 1
|
|
#define IS_COLORMODE_BAYER 2
|
|
#define IS_COLORMODE_CBYCRY 4
|
|
#define IS_COLORMODE_JPEG 8
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Sensor Types
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SENSOR_INVALID 0x0000
|
|
|
|
// CMOS Sensors
|
|
#define IS_SENSOR_UI141X_M 0x0001 // VGA rolling shutter, monochrome
|
|
#define IS_SENSOR_UI141X_C 0x0002 // VGA rolling shutter, color
|
|
#define IS_SENSOR_UI144X_M 0x0003 // SXGA rolling shutter, monochrome
|
|
#define IS_SENSOR_UI144X_C 0x0004 // SXGA rolling shutter, SXGA color
|
|
|
|
#define IS_SENSOR_UI154X_M 0x0030 // SXGA rolling shutter, monochrome
|
|
#define IS_SENSOR_UI154X_C 0x0031 // SXGA rolling shutter, color
|
|
#define IS_SENSOR_UI145X_C 0x0008 // UXGA rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI146X_C 0x000a // QXGA rolling shutter, color
|
|
#define IS_SENSOR_UI148X_M 0x000b // 5MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI148X_C 0x000c // 5MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI121X_M 0x0010 // VGA global shutter, monochrome
|
|
#define IS_SENSOR_UI121X_C 0x0011 // VGA global shutter, VGA color
|
|
#define IS_SENSOR_UI122X_M 0x0012 // WVGA global shutter, monochrome
|
|
#define IS_SENSOR_UI122X_C 0x0013 // WVGA global shutter, color
|
|
|
|
#define IS_SENSOR_UI164X_C 0x0015 // SXGA rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI155X_C 0x0017 // UXGA rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1223_M 0x0018 // WVGA global shutter, monochrome
|
|
#define IS_SENSOR_UI1223_C 0x0019 // WVGA global shutter, color
|
|
|
|
#define IS_SENSOR_UI149X_M 0x003E // 10MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI149X_C 0x003F // 10MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1225_M 0x0022 // WVGA global shutter, monochrome, LE model
|
|
#define IS_SENSOR_UI1225_C 0x0023 // WVGA global shutter, color, LE model
|
|
|
|
#define IS_SENSOR_UI1645_C 0x0025 // SXGA rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1555_C 0x0027 // UXGA rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1545_M 0x0028 // SXGA rolling shutter, monochrome, LE model
|
|
#define IS_SENSOR_UI1545_C 0x0029 // SXGA rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1455_C 0x002B // UXGA rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1465_C 0x002D // QXGA rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1485_M 0x002E // 5MP rolling shutter, monochrome, LE model
|
|
#define IS_SENSOR_UI1485_C 0x002F // 5MP rolling shutter, color, LE model
|
|
#define IS_SENSOR_UI1495_M 0x0040 // 10MP rolling shutter, monochrome, LE model
|
|
#define IS_SENSOR_UI1495_C 0x0041 // 10MP rolling shutter, color, LE model
|
|
|
|
#define IS_SENSOR_UI112X_M 0x004A // 0768x576, HDR sensor, monochrome
|
|
#define IS_SENSOR_UI112X_C 0x004B // 0768x576, HDR sensor, color
|
|
|
|
#define IS_SENSOR_UI1008_M 0x004C
|
|
#define IS_SENSOR_UI1008_C 0x004D
|
|
|
|
#define IS_SENSOR_UI1005_M 0x020A
|
|
#define IS_SENSOR_UI1005_C 0x020B
|
|
|
|
#define IS_SENSOR_UI1007_M 0x0076
|
|
#define IS_SENSOR_UI1007_C 0x0077
|
|
|
|
#define IS_SENSOR_UI1240_M 0x0050 // SXGA global shutter, monochrome
|
|
#define IS_SENSOR_UI1240_C 0x0051 // SXGA global shutter, color
|
|
#define IS_SENSOR_UI1240_NIR 0x0062 // SXGA global shutter, NIR
|
|
|
|
#define IS_SENSOR_UI1240LE_M 0x0054 // SXGA global shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1240LE_C 0x0055 // SXGA global shutter, color, single board
|
|
#define IS_SENSOR_UI1240LE_NIR 0x0064 // SXGA global shutter, NIR, single board
|
|
|
|
#define IS_SENSOR_UI1240ML_M 0x0066 // SXGA global shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1240ML_C 0x0067 // SXGA global shutter, color, single board
|
|
#define IS_SENSOR_UI1240ML_NIR 0x0200 // SXGA global shutter, NIR, single board
|
|
|
|
#define IS_SENSOR_UI1243_M_SMI 0x0078
|
|
#define IS_SENSOR_UI1243_C_SMI 0x0079
|
|
|
|
#define IS_SENSOR_UI1543_M 0x0032 // SXGA rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1543_C 0x0033 // SXGA rolling shutter, color, single board
|
|
|
|
#define IS_SENSOR_UI1544_M 0x003A // SXGA rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1544_C 0x003B // SXGA rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1543_M_WO 0x003C // SXGA rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1543_C_WO 0x003D // SXGA rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1453_C 0x0035 // UXGA rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1463_C 0x0037 // QXGA rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1483_M 0x0038 // QSXG rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1483_C 0x0039 // QSXG rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1493_M 0x004E // 10Mp rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1493_C 0x004F // 10MP rolling shutter, color, single board
|
|
|
|
#define IS_SENSOR_UI1463_M_WO 0x0044 // QXGA rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1463_C_WO 0x0045 // QXGA rolling shutter, color, single board
|
|
|
|
#define IS_SENSOR_UI1553_C_WN 0x0047 // UXGA rolling shutter, color, single board
|
|
#define IS_SENSOR_UI1483_M_WO 0x0048 // QSXGA rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1483_C_WO 0x0049 // QSXGA rolling shutter, color, single board
|
|
|
|
#define IS_SENSOR_UI1580_M 0x005A // 5MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI1580_C 0x005B // 5MP rolling shutter, color
|
|
#define IS_SENSOR_UI1580LE_M 0x0060 // 5MP rolling shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1580LE_C 0x0061 // 5MP rolling shutter, color, single board
|
|
|
|
#define IS_SENSOR_UI1360M 0x0068 // 2.2MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1360C 0x0069 // 2.2MP global shutter, color
|
|
#define IS_SENSOR_UI1360NIR 0x0212 // 2.2MP global shutter, NIR
|
|
|
|
#define IS_SENSOR_UI1370M 0x006A // 4.2MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1370C 0x006B // 4.2MP global shutter, color
|
|
#define IS_SENSOR_UI1370NIR 0x0214 // 4.2MP global shutter, NIR
|
|
|
|
#define IS_SENSOR_UI1250_M 0x006C // 2MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1250_C 0x006D // 2MP global shutter, color
|
|
#define IS_SENSOR_UI1250_NIR 0x006E // 2MP global shutter, NIR
|
|
|
|
#define IS_SENSOR_UI1250LE_M 0x0070 // 2MP global shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1250LE_C 0x0071 // 2MP global shutter, color, single board
|
|
#define IS_SENSOR_UI1250LE_NIR 0x0072 // 2MP global shutter, NIR, single board
|
|
|
|
#define IS_SENSOR_UI1250ML_M 0x0074 // 2MP global shutter, monochrome, single board
|
|
#define IS_SENSOR_UI1250ML_C 0x0075 // 2MP global shutter, color, single board
|
|
#define IS_SENSOR_UI1250ML_NIR 0x0202 // 2MP global shutter, NIR, single board
|
|
|
|
#define IS_SENSOR_XS 0x020B // 5MP rolling shutter, color
|
|
#define IS_SENSOR_XS_R2 0x0077 // 5MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1493_M_AR 0x0204
|
|
#define IS_SENSOR_UI1493_C_AR 0x0205
|
|
|
|
#define IS_SENSOR_UI1060_M 0x021A // 2.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1060_C 0x021B // 2.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1013XC 0x021D // 13MP, color
|
|
|
|
#define IS_SENSOR_UI1140M 0x021E // 1.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1140C 0x021F // 1.3MP global shutter, color
|
|
#define IS_SENSOR_UI1140NIR 0x0220 // 1.3MP global shutter, NIR
|
|
|
|
#define IS_SENSOR_UI1590M 0x0222 // 18MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI1590C 0x0223 // 18MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1260_M 0x0226 // 2.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1260_C 0x0227 // 2.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1130_M 0x022A // SVGA global shutter, monochrome
|
|
#define IS_SENSOR_UI1130_C 0x022B // SVGA global shutter, color
|
|
|
|
#define IS_SENSOR_UI1160_M 0x022C // 2.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1160_C 0x022D // 2.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1180_M 0x022E // 5.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1180_C 0x022F // 5.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1080_M 0x0230 // 5MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1080_C 0x0231 // 5MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1280_M 0x0232 // 5MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1280_C 0x0233 // 5MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1860_M 0x0234 // 2MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI1860_C 0x0235 // 2MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1880_M 0x0236 // 6MP rolling shutter, monochrome
|
|
#define IS_SENSOR_UI1880_C 0x0237 // 6MP rolling shutter, color
|
|
|
|
#define IS_SENSOR_UI1270_M 0x0238 // 3.2MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1270_C 0x0239 // 3.2MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1070_M 0x023A // 3.2MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1070_C 0x023B // 3.2MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1130LE_M 0x023C // SVGA global shutter, monochrome
|
|
#define IS_SENSOR_UI1130LE_C 0x023D // SVGA global shutter, color
|
|
|
|
#define IS_SENSOR_UI1290_M 0x023E // 8.9MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1290_C 0x023F // 8.9MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1090_M 0x0240 // 8.9MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1090_C 0x0241 // 8.9MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1000_M 0x0242 // 12.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1000_C 0x0243 // 12.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1200_M 0x0244 // 12.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1200_C 0x0245 // 12.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1040_M 0x0246 // 1.6MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1040_C 0x0247 // 1.6MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1180_M_S2 0x0248 // 5.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1180_C_S2 0x0249 // 5.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1160_M_S2 0x024A // 2.3MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1160_C_S2 0x024B // 2.3MP global shutter, color
|
|
|
|
#define IS_SENSOR_UI1020_M 0x0250 // 0.4MP global shutter, monochrome
|
|
#define IS_SENSOR_UI1020_C 0x0251 // 0.4MP global shutter, color
|
|
|
|
// CCD Sensors
|
|
#define IS_SENSOR_UI223X_M 0x0080 // Sony CCD sensor - XGA monochrome
|
|
#define IS_SENSOR_UI223X_C 0x0081 // Sony CCD sensor - XGA color
|
|
|
|
#define IS_SENSOR_UI241X_M 0x0082 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI241X_C 0x0083 // Sony CCD sensor - VGA color
|
|
|
|
#define IS_SENSOR_UI234X_M 0x0084 // Sony CCD sensor - SXGA monochrome
|
|
#define IS_SENSOR_UI234X_C 0x0085 // Sony CCD sensor - SXGA color
|
|
|
|
#define IS_SENSOR_UI221X_M 0x0088 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI221X_C 0x0089 // Sony CCD sensor - VGA color
|
|
|
|
#define IS_SENSOR_UI231X_M 0x0090 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI231X_C 0x0091 // Sony CCD sensor - VGA color
|
|
|
|
#define IS_SENSOR_UI222X_M 0x0092 // Sony CCD sensor - CCIR / PAL monochrome
|
|
#define IS_SENSOR_UI222X_C 0x0093 // Sony CCD sensor - CCIR / PAL color
|
|
|
|
#define IS_SENSOR_UI224X_M 0x0096 // Sony CCD sensor - SXGA monochrome
|
|
#define IS_SENSOR_UI224X_C 0x0097 // Sony CCD sensor - SXGA color
|
|
|
|
#define IS_SENSOR_UI225X_M 0x0098 // Sony CCD sensor - UXGA monochrome
|
|
#define IS_SENSOR_UI225X_C 0x0099 // Sony CCD sensor - UXGA color
|
|
|
|
#define IS_SENSOR_UI214X_M 0x009A // Sony CCD sensor - SXGA monochrome
|
|
#define IS_SENSOR_UI214X_C 0x009B // Sony CCD sensor - SXGA color
|
|
|
|
#define IS_SENSOR_UI228X_M 0x009C // Sony CCD sensor - QXGA monochrome
|
|
#define IS_SENSOR_UI228X_C 0x009D // Sony CCD sensor - QXGA color
|
|
|
|
#define IS_SENSOR_UI223X_M_R3 0x0180 // Sony CCD sensor - XGA monochrome
|
|
#define IS_SENSOR_UI223X_C_R3 0x0181 // Sony CCD sensor - XGA color
|
|
|
|
#define IS_SENSOR_UI241X_M_R2 0x0182 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI251X_M 0x0182 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI241X_C_R2 0x0183 // Sony CCD sensor - VGA color
|
|
#define IS_SENSOR_UI251X_C 0x0183 // Sony CCD sensor - VGA color
|
|
|
|
#define IS_SENSOR_UI234X_M_R3 0x0184 // Sony CCD sensor - SXGA+ monochrome
|
|
#define IS_SENSOR_UI234X_C_R3 0x0185 // Sony CCD sensor - SXGA+ color
|
|
|
|
#define IS_SENSOR_UI221X_M_R3 0x0188 // Sony CCD sensor - VGA monochrome
|
|
#define IS_SENSOR_UI221X_C_R3 0x0189 // Sony CCD sensor - VGA color
|
|
|
|
#define IS_SENSOR_UI222X_M_R3 0x0192 // Sony CCD sensor - CCIR monochrome
|
|
#define IS_SENSOR_UI222X_C_R3 0x0193 // Sony CCD sensor - PAL/D1 color
|
|
|
|
#define IS_SENSOR_UI224X_M_R3 0x0196 // Sony CCD sensor - SXGA monochrome
|
|
#define IS_SENSOR_UI224X_C_R3 0x0197 // Sony CCD sensor - SXGA color
|
|
|
|
#define IS_SENSOR_UI225X_M_R3 0x0198 // Sony CCD sensor - UXGA monochrome
|
|
#define IS_SENSOR_UI225X_C_R3 0x0199 // Sony CCD sensor - UXGA color
|
|
|
|
#define IS_SENSOR_UI2130_M 0x019E // Sony CCD sensor - WXGA monochrome
|
|
#define IS_SENSOR_UI2130_C 0x019F // Sony CCD sensor - WXGA color
|
|
|
|
#define IS_SENSOR_PASSIVE_MULTICAST 0x0F00
|
|
// ----------------------------------------------------------------------------
|
|
// Error codes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_NO_SUCCESS -1 // function call failed
|
|
#define IS_SUCCESS 0 // function call succeeded
|
|
#define IS_INVALID_CAMERA_HANDLE 1 // camera handle is not valid or zero
|
|
#define IS_INVALID_HANDLE 1 // a handle other than the camera handle is invalid
|
|
|
|
#define IS_IO_REQUEST_FAILED 2 // an io request to the driver failed
|
|
#define IS_CANT_OPEN_DEVICE 3 // returned by is_InitCamera
|
|
#define IS_CANT_CLOSE_DEVICE 4
|
|
#define IS_CANT_SETUP_MEMORY 5
|
|
#define IS_NO_HWND_FOR_ERROR_REPORT 6
|
|
#define IS_ERROR_MESSAGE_NOT_CREATED 7
|
|
#define IS_ERROR_STRING_NOT_FOUND 8
|
|
#define IS_HOOK_NOT_CREATED 9
|
|
#define IS_TIMER_NOT_CREATED 10
|
|
#define IS_CANT_OPEN_REGISTRY 11
|
|
#define IS_CANT_READ_REGISTRY 12
|
|
#define IS_CANT_VALIDATE_BOARD 13
|
|
#define IS_CANT_GIVE_BOARD_ACCESS 14
|
|
#define IS_NO_IMAGE_MEM_ALLOCATED 15
|
|
#define IS_CANT_CLEANUP_MEMORY 16
|
|
#define IS_CANT_COMMUNICATE_WITH_DRIVER 17
|
|
#define IS_FUNCTION_NOT_SUPPORTED_YET 18
|
|
#define IS_OPERATING_SYSTEM_NOT_SUPPORTED 19
|
|
|
|
#define IS_INVALID_VIDEO_IN 20
|
|
#define IS_INVALID_IMG_SIZE 21
|
|
#define IS_INVALID_ADDRESS 22
|
|
#define IS_INVALID_VIDEO_MODE 23
|
|
#define IS_INVALID_AGC_MODE 24
|
|
#define IS_INVALID_GAMMA_MODE 25
|
|
#define IS_INVALID_SYNC_LEVEL 26
|
|
#define IS_INVALID_CBARS_MODE 27
|
|
#define IS_INVALID_COLOR_MODE 28
|
|
#define IS_INVALID_SCALE_FACTOR 29
|
|
#define IS_INVALID_IMAGE_SIZE 30
|
|
#define IS_INVALID_IMAGE_POS 31
|
|
#define IS_INVALID_CAPTURE_MODE 32
|
|
#define IS_INVALID_RISC_PROGRAM 33
|
|
#define IS_INVALID_BRIGHTNESS 34
|
|
#define IS_INVALID_CONTRAST 35
|
|
#define IS_INVALID_SATURATION_U 36
|
|
#define IS_INVALID_SATURATION_V 37
|
|
#define IS_INVALID_HUE 38
|
|
#define IS_INVALID_HOR_FILTER_STEP 39
|
|
#define IS_INVALID_VERT_FILTER_STEP 40
|
|
#define IS_INVALID_EEPROM_READ_ADDRESS 41
|
|
#define IS_INVALID_EEPROM_WRITE_ADDRESS 42
|
|
#define IS_INVALID_EEPROM_READ_LENGTH 43
|
|
#define IS_INVALID_EEPROM_WRITE_LENGTH 44
|
|
#define IS_INVALID_BOARD_INFO_POINTER 45
|
|
#define IS_INVALID_DISPLAY_MODE 46
|
|
#define IS_INVALID_ERR_REP_MODE 47
|
|
#define IS_INVALID_BITS_PIXEL 48
|
|
#define IS_INVALID_MEMORY_POINTER 49
|
|
|
|
#define IS_FILE_WRITE_OPEN_ERROR 50
|
|
#define IS_FILE_READ_OPEN_ERROR 51
|
|
#define IS_FILE_READ_INVALID_BMP_ID 52
|
|
#define IS_FILE_READ_INVALID_BMP_SIZE 53
|
|
#define IS_FILE_READ_INVALID_BIT_COUNT 54
|
|
#define IS_WRONG_KERNEL_VERSION 55
|
|
|
|
#define IS_RISC_INVALID_XLENGTH 60
|
|
#define IS_RISC_INVALID_YLENGTH 61
|
|
#define IS_RISC_EXCEED_IMG_SIZE 62
|
|
|
|
// DirectDraw Mode errors
|
|
#define IS_DD_MAIN_FAILED 70
|
|
#define IS_DD_PRIMSURFACE_FAILED 71
|
|
#define IS_DD_SCRN_SIZE_NOT_SUPPORTED 72
|
|
#define IS_DD_CLIPPER_FAILED 73
|
|
#define IS_DD_CLIPPER_HWND_FAILED 74
|
|
#define IS_DD_CLIPPER_CONNECT_FAILED 75
|
|
#define IS_DD_BACKSURFACE_FAILED 76
|
|
#define IS_DD_BACKSURFACE_IN_SYSMEM 77
|
|
#define IS_DD_MDL_MALLOC_ERR 78
|
|
#define IS_DD_MDL_SIZE_ERR 79
|
|
#define IS_DD_CLIP_NO_CHANGE 80
|
|
#define IS_DD_PRIMMEM_NULL 81
|
|
#define IS_DD_BACKMEM_NULL 82
|
|
#define IS_DD_BACKOVLMEM_NULL 83
|
|
#define IS_DD_OVERLAYSURFACE_FAILED 84
|
|
#define IS_DD_OVERLAYSURFACE_IN_SYSMEM 85
|
|
#define IS_DD_OVERLAY_NOT_ALLOWED 86
|
|
#define IS_DD_OVERLAY_COLKEY_ERR 87
|
|
#define IS_DD_OVERLAY_NOT_ENABLED 88
|
|
#define IS_DD_GET_DC_ERROR 89
|
|
#define IS_DD_DDRAW_DLL_NOT_LOADED 90
|
|
#define IS_DD_THREAD_NOT_CREATED 91
|
|
#define IS_DD_CANT_GET_CAPS 92
|
|
#define IS_DD_NO_OVERLAYSURFACE 93
|
|
#define IS_DD_NO_OVERLAYSTRETCH 94
|
|
#define IS_DD_CANT_CREATE_OVERLAYSURFACE 95
|
|
#define IS_DD_CANT_UPDATE_OVERLAYSURFACE 96
|
|
#define IS_DD_INVALID_STRETCH 97
|
|
|
|
#define IS_EV_INVALID_EVENT_NUMBER 100
|
|
#define IS_INVALID_MODE 101
|
|
#define IS_CANT_FIND_FALCHOOK 102
|
|
#define IS_CANT_FIND_HOOK 102
|
|
#define IS_CANT_GET_HOOK_PROC_ADDR 103
|
|
#define IS_CANT_CHAIN_HOOK_PROC 104
|
|
#define IS_CANT_SETUP_WND_PROC 105
|
|
#define IS_HWND_NULL 106
|
|
#define IS_INVALID_UPDATE_MODE 107
|
|
#define IS_NO_ACTIVE_IMG_MEM 108
|
|
#define IS_CANT_INIT_EVENT 109
|
|
#define IS_FUNC_NOT_AVAIL_IN_OS 110
|
|
#define IS_CAMERA_NOT_CONNECTED 111
|
|
#define IS_SEQUENCE_LIST_EMPTY 112
|
|
#define IS_CANT_ADD_TO_SEQUENCE 113
|
|
#define IS_LOW_OF_SEQUENCE_RISC_MEM 114
|
|
#define IS_IMGMEM2FREE_USED_IN_SEQ 115
|
|
#define IS_IMGMEM_NOT_IN_SEQUENCE_LIST 116
|
|
#define IS_SEQUENCE_BUF_ALREADY_LOCKED 117
|
|
#define IS_INVALID_DEVICE_ID 118
|
|
#define IS_INVALID_BOARD_ID 119
|
|
#define IS_ALL_DEVICES_BUSY 120
|
|
#define IS_HOOK_BUSY 121
|
|
#define IS_TIMED_OUT 122
|
|
#define IS_NULL_POINTER 123
|
|
#define IS_WRONG_HOOK_VERSION 124
|
|
#define IS_INVALID_PARAMETER 125 // a parameter specified was invalid
|
|
#define IS_NOT_ALLOWED 126
|
|
#define IS_OUT_OF_MEMORY 127
|
|
#define IS_INVALID_WHILE_LIVE 128
|
|
#define IS_ACCESS_VIOLATION 129 // an internal exception occurred
|
|
#define IS_UNKNOWN_ROP_EFFECT 130
|
|
#define IS_INVALID_RENDER_MODE 131
|
|
#define IS_INVALID_THREAD_CONTEXT 132
|
|
#define IS_NO_HARDWARE_INSTALLED 133
|
|
#define IS_INVALID_WATCHDOG_TIME 134
|
|
#define IS_INVALID_WATCHDOG_MODE 135
|
|
#define IS_INVALID_PASSTHROUGH_IN 136
|
|
#define IS_ERROR_SETTING_PASSTHROUGH_IN 137
|
|
#define IS_FAILURE_ON_SETTING_WATCHDOG 138
|
|
#define IS_NO_USB20 139 // the usb port doesnt support usb 2.0
|
|
#define IS_CAPTURE_RUNNING 140 // there is already a capture running
|
|
|
|
#define IS_MEMORY_BOARD_ACTIVATED 141 // operation could not execute while mboard is enabled
|
|
#define IS_MEMORY_BOARD_DEACTIVATED 142 // operation could not execute while mboard is disabled
|
|
#define IS_NO_MEMORY_BOARD_CONNECTED 143 // no memory board connected
|
|
#define IS_TOO_LESS_MEMORY 144 // image size is above memory capacity
|
|
#define IS_IMAGE_NOT_PRESENT 145 // requested image is no longer present in the camera
|
|
#define IS_MEMORY_MODE_RUNNING 146
|
|
#define IS_MEMORYBOARD_DISABLED 147
|
|
|
|
#define IS_TRIGGER_ACTIVATED 148 // operation could not execute while trigger is enabled
|
|
#define IS_WRONG_KEY 150
|
|
#define IS_CRC_ERROR 151
|
|
#define IS_NOT_YET_RELEASED 152 // this feature is not available yet
|
|
#define IS_NOT_CALIBRATED 153 // the camera is not calibrated
|
|
#define IS_WAITING_FOR_KERNEL 154 // a request to the kernel exceeded
|
|
#define IS_NOT_SUPPORTED 155 // operation mode is not supported
|
|
#define IS_TRIGGER_NOT_ACTIVATED 156 // operation could not execute while trigger is disabled
|
|
#define IS_OPERATION_ABORTED 157
|
|
#define IS_BAD_STRUCTURE_SIZE 158
|
|
#define IS_INVALID_BUFFER_SIZE 159
|
|
#define IS_INVALID_PIXEL_CLOCK 160
|
|
#define IS_INVALID_EXPOSURE_TIME 161
|
|
#define IS_AUTO_EXPOSURE_RUNNING 162
|
|
#define IS_CANNOT_CREATE_BB_SURF 163 // error creating backbuffer surface
|
|
#define IS_CANNOT_CREATE_BB_MIX 164 // backbuffer mixer surfaces can not be created
|
|
#define IS_BB_OVLMEM_NULL 165 // backbuffer overlay mem could not be locked
|
|
#define IS_CANNOT_CREATE_BB_OVL 166 // backbuffer overlay mem could not be created
|
|
#define IS_NOT_SUPP_IN_OVL_SURF_MODE 167 // function not supported in overlay surface mode
|
|
#define IS_INVALID_SURFACE 168 // surface invalid
|
|
#define IS_SURFACE_LOST 169 // surface has been lost
|
|
#define IS_RELEASE_BB_OVL_DC 170 // error releasing backbuffer overlay DC
|
|
#define IS_BB_TIMER_NOT_CREATED 171 // backbuffer timer could not be created
|
|
#define IS_BB_OVL_NOT_EN 172 // backbuffer overlay has not been enabled
|
|
#define IS_ONLY_IN_BB_MODE 173 // only possible in backbuffer mode
|
|
#define IS_INVALID_COLOR_FORMAT 174 // invalid color format
|
|
#define IS_INVALID_WB_BINNING_MODE 175 // invalid binning mode for AWB
|
|
#define IS_INVALID_I2C_DEVICE_ADDRESS 176 // invalid I2C device address
|
|
#define IS_COULD_NOT_CONVERT 177 // current image couldn't be converted
|
|
#define IS_TRANSFER_ERROR 178 // transfer failed
|
|
#define IS_PARAMETER_SET_NOT_PRESENT 179 // the parameter set is not present
|
|
#define IS_INVALID_CAMERA_TYPE 180 // the camera type in the ini file doesn't match
|
|
#define IS_INVALID_HOST_IP_HIBYTE 181 // HIBYTE of host address is invalid
|
|
#define IS_CM_NOT_SUPP_IN_CURR_DISPLAYMODE 182 // color mode is not supported in the current display mode
|
|
#define IS_NO_IR_FILTER 183
|
|
#define IS_STARTER_FW_UPLOAD_NEEDED 184 // device starter firmware is not compatible
|
|
|
|
#define IS_DR_LIBRARY_NOT_FOUND 185 // the DirectRender library could not be found
|
|
#define IS_DR_DEVICE_OUT_OF_MEMORY 186 // insufficient graphics adapter video memory
|
|
#define IS_DR_CANNOT_CREATE_SURFACE 187 // the image or overlay surface could not be created
|
|
#define IS_DR_CANNOT_CREATE_VERTEX_BUFFER 188 // the vertex buffer could not be created
|
|
#define IS_DR_CANNOT_CREATE_TEXTURE 189 // the texture could not be created
|
|
#define IS_DR_CANNOT_LOCK_OVERLAY_SURFACE 190 // the overlay surface could not be locked
|
|
#define IS_DR_CANNOT_UNLOCK_OVERLAY_SURFACE 191 // the overlay surface could not be unlocked
|
|
#define IS_DR_CANNOT_GET_OVERLAY_DC 192 // cannot get the overlay surface DC
|
|
#define IS_DR_CANNOT_RELEASE_OVERLAY_DC 193 // cannot release the overlay surface DC
|
|
#define IS_DR_DEVICE_CAPS_INSUFFICIENT 194 // insufficient graphics adapter capabilities
|
|
#define IS_INCOMPATIBLE_SETTING 195 // Operation is not possible because of another incompatible setting
|
|
#define IS_DR_NOT_ALLOWED_WHILE_DC_IS_ACTIVE 196 // user App still has DC handle.
|
|
#define IS_DEVICE_ALREADY_PAIRED 197 // The device is already paired
|
|
#define IS_SUBNETMASK_MISMATCH 198 // The subnetmasks of the device and the adapter differ
|
|
#define IS_SUBNET_MISMATCH 199 // The subnets of the device and the adapter differ
|
|
#define IS_INVALID_IP_CONFIGURATION 200 // The IP configuation of the device is invalid
|
|
#define IS_DEVICE_NOT_COMPATIBLE 201 // The device is incompatible to the driver
|
|
#define IS_NETWORK_FRAME_SIZE_INCOMPATIBLE 202 // The frame size settings of the device and the network adapter are incompatible
|
|
#define IS_NETWORK_CONFIGURATION_INVALID 203 // The network adapter configuration is invalid
|
|
#define IS_ERROR_CPU_IDLE_STATES_CONFIGURATION 204 // The setting of the CPU idle state configuration failed
|
|
#define IS_DEVICE_BUSY 205 // The device is busy. The operation must be executed again later.
|
|
#define IS_SENSOR_INITIALIZATION_FAILED 206 // The sensor initialization failed
|
|
#define IS_IMAGE_BUFFER_NOT_DWORD_ALIGNED 207 // The image buffer is not DWORD-aligned
|
|
#define IS_SEQ_BUFFER_IS_LOCKED 208 // Operation is not possible because the sequence buffer is locked
|
|
#define IS_FILE_PATH_DOES_NOT_EXIST 209 // The file path does not exist
|
|
#define IS_INVALID_WINDOW_HANDLE 210 // invalid window handle
|
|
#define IS_INVALID_IMAGE_PARAMETER 211 // invalid image parameter (pos or size)
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// common definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_OFF 0
|
|
#define IS_ON 1
|
|
#define IS_IGNORE_PARAMETER -1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// device enumeration
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_USE_DEVICE_ID 0x8000L
|
|
#define IS_ALLOW_STARTER_FW_UPLOAD 0x10000L
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// AutoExit enable/disable
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_AUTO_EXIT_ENABLED 0x8000
|
|
#define IS_DISABLE_AUTO_EXIT 0
|
|
#define IS_ENABLE_AUTO_EXIT 1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// live/freeze parameters
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_LIVE 0x8000
|
|
|
|
#define IS_WAIT 0x0001
|
|
#define IS_DONT_WAIT 0x0000
|
|
#define IS_FORCE_VIDEO_STOP 0x4000
|
|
#define IS_FORCE_VIDEO_START 0x4000
|
|
#define IS_USE_NEXT_MEM 0x8000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// video finish constants
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_VIDEO_NOT_FINISH 0
|
|
#define IS_VIDEO_FINISH 1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// bitmap render modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_RENDER_MODE 0x8000
|
|
|
|
#define IS_RENDER_DISABLED 0x0000
|
|
#define IS_RENDER_NORMAL 0x0001
|
|
#define IS_RENDER_FIT_TO_WINDOW 0x0002
|
|
#define IS_RENDER_DOWNSCALE_1_2 0x0004
|
|
#define IS_RENDER_MIRROR_UPDOWN 0x0010
|
|
|
|
#define IS_RENDER_PLANAR_COLOR_RED 0x0080
|
|
#define IS_RENDER_PLANAR_COLOR_GREEN 0x0100
|
|
#define IS_RENDER_PLANAR_COLOR_BLUE 0x0200
|
|
|
|
#define IS_RENDER_PLANAR_MONO_RED 0x0400
|
|
#define IS_RENDER_PLANAR_MONO_GREEN 0x0800
|
|
#define IS_RENDER_PLANAR_MONO_BLUE 0x1000
|
|
|
|
#define IS_RENDER_ROTATE_90 0x0020
|
|
#define IS_RENDER_ROTATE_180 0x0040
|
|
#define IS_RENDER_ROTATE_270 0x2000
|
|
|
|
#define IS_USE_AS_DC_STRUCTURE 0x4000
|
|
#define IS_USE_AS_DC_HANDLE 0x8000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Trigger modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_EXTERNALTRIGGER 0x8000
|
|
#define IS_GET_TRIGGER_STATUS 0x8001
|
|
#define IS_GET_TRIGGER_MASK 0x8002
|
|
#define IS_GET_TRIGGER_INPUTS 0x8003
|
|
#define IS_GET_SUPPORTED_TRIGGER_MODE 0x8004
|
|
#define IS_GET_TRIGGER_COUNTER 0x8000
|
|
|
|
#define IS_SET_TRIGGER_MASK 0x0100
|
|
#define IS_SET_TRIGGER_CONTINUOUS 0x1000
|
|
#define IS_SET_TRIGGER_OFF 0x0000
|
|
#define IS_SET_TRIGGER_HI_LO (IS_SET_TRIGGER_CONTINUOUS | 0x0001)
|
|
#define IS_SET_TRIGGER_LO_HI (IS_SET_TRIGGER_CONTINUOUS | 0x0002)
|
|
#define IS_SET_TRIGGER_SOFTWARE (IS_SET_TRIGGER_CONTINUOUS | 0x0008)
|
|
#define IS_SET_TRIGGER_HI_LO_SYNC 0x0010
|
|
#define IS_SET_TRIGGER_LO_HI_SYNC 0x0020
|
|
#define IS_SET_TRIGGER_PRE_HI_LO (IS_SET_TRIGGER_CONTINUOUS | 0x0040)
|
|
#define IS_SET_TRIGGER_PRE_LO_HI (IS_SET_TRIGGER_CONTINUOUS | 0x0080)
|
|
|
|
#define IS_GET_TRIGGER_DELAY 0x8000
|
|
#define IS_GET_MIN_TRIGGER_DELAY 0x8001
|
|
#define IS_GET_MAX_TRIGGER_DELAY 0x8002
|
|
#define IS_GET_TRIGGER_DELAY_GRANULARITY 0x8003
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Timing
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// Pixelclock
|
|
#define IS_GET_PIXEL_CLOCK 0x8000
|
|
#define IS_GET_DEFAULT_PIXEL_CLK 0x8001
|
|
#define IS_GET_PIXEL_CLOCK_INC 0x8005
|
|
|
|
// Frame rate
|
|
#define IS_GET_FRAMERATE 0x8000
|
|
#define IS_GET_DEFAULT_FRAMERATE 0x8001
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Gain definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_MASTER_GAIN 0x8000
|
|
#define IS_GET_RED_GAIN 0x8001
|
|
#define IS_GET_GREEN_GAIN 0x8002
|
|
#define IS_GET_BLUE_GAIN 0x8003
|
|
#define IS_GET_DEFAULT_MASTER 0x8004
|
|
#define IS_GET_DEFAULT_RED 0x8005
|
|
#define IS_GET_DEFAULT_GREEN 0x8006
|
|
#define IS_GET_DEFAULT_BLUE 0x8007
|
|
#define IS_GET_GAINBOOST 0x8008
|
|
#define IS_SET_GAINBOOST_ON 0x0001
|
|
#define IS_SET_GAINBOOST_OFF 0x0000
|
|
#define IS_GET_SUPPORTED_GAINBOOST 0x0002
|
|
#define IS_MIN_GAIN 0
|
|
#define IS_MAX_GAIN 100
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Gain factor definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_MASTER_GAIN_FACTOR 0x8000
|
|
#define IS_GET_RED_GAIN_FACTOR 0x8001
|
|
#define IS_GET_GREEN_GAIN_FACTOR 0x8002
|
|
#define IS_GET_BLUE_GAIN_FACTOR 0x8003
|
|
#define IS_SET_MASTER_GAIN_FACTOR 0x8004
|
|
#define IS_SET_RED_GAIN_FACTOR 0x8005
|
|
#define IS_SET_GREEN_GAIN_FACTOR 0x8006
|
|
#define IS_SET_BLUE_GAIN_FACTOR 0x8007
|
|
#define IS_GET_DEFAULT_MASTER_GAIN_FACTOR 0x8008
|
|
#define IS_GET_DEFAULT_RED_GAIN_FACTOR 0x8009
|
|
#define IS_GET_DEFAULT_GREEN_GAIN_FACTOR 0x800a
|
|
#define IS_GET_DEFAULT_BLUE_GAIN_FACTOR 0x800b
|
|
#define IS_INQUIRE_MASTER_GAIN_FACTOR 0x800c
|
|
#define IS_INQUIRE_RED_GAIN_FACTOR 0x800d
|
|
#define IS_INQUIRE_GREEN_GAIN_FACTOR 0x800e
|
|
#define IS_INQUIRE_BLUE_GAIN_FACTOR 0x800f
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Global Shutter definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SET_GLOBAL_SHUTTER_ON 0x0001
|
|
#define IS_SET_GLOBAL_SHUTTER_OFF 0x0000
|
|
#define IS_GET_GLOBAL_SHUTTER 0x0010
|
|
#define IS_GET_SUPPORTED_GLOBAL_SHUTTER 0x0020
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Black level definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_BL_COMPENSATION 0x8000
|
|
#define IS_GET_BL_OFFSET 0x8001
|
|
#define IS_GET_BL_DEFAULT_MODE 0x8002
|
|
#define IS_GET_BL_DEFAULT_OFFSET 0x8003
|
|
#define IS_GET_BL_SUPPORTED_MODE 0x8004
|
|
|
|
#define IS_BL_COMPENSATION_DISABLE 0
|
|
#define IS_BL_COMPENSATION_ENABLE 1
|
|
#define IS_BL_COMPENSATION_OFFSET 32
|
|
|
|
#define IS_MIN_BL_OFFSET 0
|
|
#define IS_MAX_BL_OFFSET 255
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Hardware gamma definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_HW_GAMMA 0x8000
|
|
#define IS_GET_HW_SUPPORTED_GAMMA 0x8001
|
|
#define IS_SET_HW_GAMMA_OFF 0x0000
|
|
#define IS_SET_HW_GAMMA_ON 0x0001
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Image parameters
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// Saturation
|
|
#define IS_GET_SATURATION_U 0x8000
|
|
#define IS_MIN_SATURATION_U 0
|
|
#define IS_MAX_SATURATION_U 200
|
|
#define IS_DEFAULT_SATURATION_U 100
|
|
#define IS_GET_SATURATION_V 0x8001
|
|
#define IS_MIN_SATURATION_V 0
|
|
#define IS_MAX_SATURATION_V 200
|
|
#define IS_DEFAULT_SATURATION_V 100
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Image position and size
|
|
// ----------------------------------------------------------------------------
|
|
|
|
/* Image */
|
|
#define IS_AOI_IMAGE_SET_AOI 0x0001
|
|
#define IS_AOI_IMAGE_GET_AOI 0x0002
|
|
#define IS_AOI_IMAGE_SET_POS 0x0003
|
|
#define IS_AOI_IMAGE_GET_POS 0x0004
|
|
#define IS_AOI_IMAGE_SET_SIZE 0x0005
|
|
#define IS_AOI_IMAGE_GET_SIZE 0x0006
|
|
#define IS_AOI_IMAGE_GET_POS_MIN 0x0007
|
|
#define IS_AOI_IMAGE_GET_SIZE_MIN 0x0008
|
|
#define IS_AOI_IMAGE_GET_POS_MAX 0x0009
|
|
#define IS_AOI_IMAGE_GET_SIZE_MAX 0x0010
|
|
#define IS_AOI_IMAGE_GET_POS_INC 0x0011
|
|
#define IS_AOI_IMAGE_GET_SIZE_INC 0x0012
|
|
#define IS_AOI_IMAGE_GET_POS_X_ABS 0x0013
|
|
#define IS_AOI_IMAGE_GET_POS_Y_ABS 0x0014
|
|
#define IS_AOI_IMAGE_GET_ORIGINAL_AOI 0x0015
|
|
|
|
/* Absolute position */
|
|
#define IS_AOI_IMAGE_POS_ABSOLUTE 0x10000000
|
|
|
|
/* Fast move */
|
|
#define IS_AOI_IMAGE_SET_POS_FAST 0x0020
|
|
#define IS_AOI_IMAGE_GET_POS_FAST_SUPPORTED 0x0021
|
|
|
|
/* Auto features */
|
|
#define IS_AOI_AUTO_BRIGHTNESS_SET_AOI 0x0030
|
|
#define IS_AOI_AUTO_BRIGHTNESS_GET_AOI 0x0031
|
|
#define IS_AOI_AUTO_WHITEBALANCE_SET_AOI 0x0032
|
|
#define IS_AOI_AUTO_WHITEBALANCE_GET_AOI 0x0033
|
|
|
|
/* Multi AOI */
|
|
#define IS_AOI_MULTI_GET_SUPPORTED_MODES 0x0100
|
|
#define IS_AOI_MULTI_SET_AOI 0x0200
|
|
#define IS_AOI_MULTI_GET_AOI 0x0400
|
|
#define IS_AOI_MULTI_DISABLE_AOI 0x0800
|
|
#define IS_AOI_MULTI_MODE_X_Y_AXES 0x0001
|
|
#define IS_AOI_MULTI_MODE_Y_AXES 0x0002
|
|
#define IS_AOI_MULTI_MODE_GET_MAX_NUMBER 0x0003
|
|
#define IS_AOI_MULTI_MODE_GET_DEFAULT 0x0004
|
|
#define IS_AOI_MULTI_MODE_ONLY_VERIFY_AOIS 0x0005
|
|
#define IS_AOI_MULTI_MODE_GET_MINIMUM_SIZE 0x0006
|
|
#define IS_AOI_MULTI_MODE_GET_ENABLED 0x0007
|
|
|
|
#define IS_AOI_MULTI_STATUS_SETBYUSER 0x00000001
|
|
#define IS_AOI_MULTI_STATUS_COMPLEMENT 0x00000002
|
|
#define IS_AOI_MULTI_STATUS_VALID 0x00000004
|
|
#define IS_AOI_MULTI_STATUS_CONFLICT 0x00000008
|
|
#define IS_AOI_MULTI_STATUS_ERROR 0x00000010
|
|
#define IS_AOI_MULTI_STATUS_UNUSED 0x00000020
|
|
|
|
/* AOI sequence */
|
|
#define IS_AOI_SEQUENCE_GET_SUPPORTED 0x0050
|
|
#define IS_AOI_SEQUENCE_SET_PARAMS 0x0051
|
|
#define IS_AOI_SEQUENCE_GET_PARAMS 0x0052
|
|
#define IS_AOI_SEQUENCE_SET_ENABLE 0x0053
|
|
#define IS_AOI_SEQUENCE_GET_ENABLE 0x0054
|
|
|
|
#define IS_AOI_SEQUENCE_INDEX_AOI_1 0
|
|
#define IS_AOI_SEQUENCE_INDEX_AOI_2 1
|
|
#define IS_AOI_SEQUENCE_INDEX_AOI_3 2
|
|
#define IS_AOI_SEQUENCE_INDEX_AOI_4 4
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// ROP effect constants
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_ROP_EFFECT 0x8000
|
|
#define IS_GET_SUPPORTED_ROP_EFFECT 0x8001
|
|
|
|
#define IS_SET_ROP_NONE 0
|
|
#define IS_SET_ROP_MIRROR_UPDOWN 8
|
|
#define IS_SET_ROP_MIRROR_UPDOWN_ODD 16
|
|
#define IS_SET_ROP_MIRROR_UPDOWN_EVEN 32
|
|
#define IS_SET_ROP_MIRROR_LEFTRIGHT 64
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Subsampling
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_SUBSAMPLING 0x8000
|
|
#define IS_GET_SUPPORTED_SUBSAMPLING 0x8001
|
|
#define IS_GET_SUBSAMPLING_TYPE 0x8002
|
|
#define IS_GET_SUBSAMPLING_FACTOR_HORIZONTAL 0x8004
|
|
#define IS_GET_SUBSAMPLING_FACTOR_VERTICAL 0x8008
|
|
|
|
#define IS_SUBSAMPLING_DISABLE 0x00
|
|
|
|
#define IS_SUBSAMPLING_2X_VERTICAL 0x0001
|
|
#define IS_SUBSAMPLING_2X_HORIZONTAL 0x0002
|
|
#define IS_SUBSAMPLING_4X_VERTICAL 0x0004
|
|
#define IS_SUBSAMPLING_4X_HORIZONTAL 0x0008
|
|
#define IS_SUBSAMPLING_3X_VERTICAL 0x0010
|
|
#define IS_SUBSAMPLING_3X_HORIZONTAL 0x0020
|
|
#define IS_SUBSAMPLING_5X_VERTICAL 0x0040
|
|
#define IS_SUBSAMPLING_5X_HORIZONTAL 0x0080
|
|
#define IS_SUBSAMPLING_6X_VERTICAL 0x0100
|
|
#define IS_SUBSAMPLING_6X_HORIZONTAL 0x0200
|
|
#define IS_SUBSAMPLING_8X_VERTICAL 0x0400
|
|
#define IS_SUBSAMPLING_8X_HORIZONTAL 0x0800
|
|
#define IS_SUBSAMPLING_16X_VERTICAL 0x1000
|
|
#define IS_SUBSAMPLING_16X_HORIZONTAL 0x2000
|
|
|
|
#define IS_SUBSAMPLING_COLOR 0x01
|
|
#define IS_SUBSAMPLING_MONO 0x02
|
|
|
|
#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)
|
|
#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)
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Binning
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_BINNING 0x8000
|
|
#define IS_GET_SUPPORTED_BINNING 0x8001
|
|
#define IS_GET_BINNING_TYPE 0x8002
|
|
#define IS_GET_BINNING_FACTOR_HORIZONTAL 0x8004
|
|
#define IS_GET_BINNING_FACTOR_VERTICAL 0x8008
|
|
|
|
#define IS_BINNING_DISABLE 0x00
|
|
|
|
#define IS_BINNING_2X_VERTICAL 0x0001
|
|
#define IS_BINNING_2X_HORIZONTAL 0x0002
|
|
#define IS_BINNING_4X_VERTICAL 0x0004
|
|
#define IS_BINNING_4X_HORIZONTAL 0x0008
|
|
#define IS_BINNING_3X_VERTICAL 0x0010
|
|
#define IS_BINNING_3X_HORIZONTAL 0x0020
|
|
#define IS_BINNING_5X_VERTICAL 0x0040
|
|
#define IS_BINNING_5X_HORIZONTAL 0x0080
|
|
#define IS_BINNING_6X_VERTICAL 0x0100
|
|
#define IS_BINNING_6X_HORIZONTAL 0x0200
|
|
#define IS_BINNING_8X_VERTICAL 0x0400
|
|
#define IS_BINNING_8X_HORIZONTAL 0x0800
|
|
#define IS_BINNING_16X_VERTICAL 0x1000
|
|
#define IS_BINNING_16X_HORIZONTAL 0x2000
|
|
|
|
#define IS_BINNING_COLOR 0x01
|
|
#define IS_BINNING_MONO 0x02
|
|
|
|
#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)
|
|
#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)
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Auto Control Parameter
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SET_ENABLE_AUTO_GAIN 0x8800
|
|
#define IS_GET_ENABLE_AUTO_GAIN 0x8801
|
|
#define IS_SET_ENABLE_AUTO_SHUTTER 0x8802
|
|
#define IS_GET_ENABLE_AUTO_SHUTTER 0x8803
|
|
#define IS_SET_ENABLE_AUTO_WHITEBALANCE 0x8804
|
|
#define IS_GET_ENABLE_AUTO_WHITEBALANCE 0x8805
|
|
#define IS_SET_ENABLE_AUTO_FRAMERATE 0x8806
|
|
#define IS_GET_ENABLE_AUTO_FRAMERATE 0x8807
|
|
#define IS_SET_ENABLE_AUTO_SENSOR_GAIN 0x8808
|
|
#define IS_GET_ENABLE_AUTO_SENSOR_GAIN 0x8809
|
|
#define IS_SET_ENABLE_AUTO_SENSOR_SHUTTER 0x8810
|
|
#define IS_GET_ENABLE_AUTO_SENSOR_SHUTTER 0x8811
|
|
#define IS_SET_ENABLE_AUTO_SENSOR_GAIN_SHUTTER 0x8812
|
|
#define IS_GET_ENABLE_AUTO_SENSOR_GAIN_SHUTTER 0x8813
|
|
#define IS_SET_ENABLE_AUTO_SENSOR_FRAMERATE 0x8814
|
|
#define IS_GET_ENABLE_AUTO_SENSOR_FRAMERATE 0x8815
|
|
#define IS_SET_ENABLE_AUTO_SENSOR_WHITEBALANCE 0x8816
|
|
#define IS_GET_ENABLE_AUTO_SENSOR_WHITEBALANCE 0x8817
|
|
|
|
#define IS_SET_AUTO_REFERENCE 0x8000
|
|
#define IS_GET_AUTO_REFERENCE 0x8001
|
|
#define IS_SET_AUTO_GAIN_MAX 0x8002
|
|
#define IS_GET_AUTO_GAIN_MAX 0x8003
|
|
#define IS_SET_AUTO_SHUTTER_MAX 0x8004
|
|
#define IS_GET_AUTO_SHUTTER_MAX 0x8005
|
|
#define IS_SET_AUTO_SPEED 0x8006
|
|
#define IS_GET_AUTO_SPEED 0x8007
|
|
#define IS_SET_AUTO_WB_OFFSET 0x8008
|
|
#define IS_GET_AUTO_WB_OFFSET 0x8009
|
|
#define IS_SET_AUTO_WB_GAIN_RANGE 0x800A
|
|
#define IS_GET_AUTO_WB_GAIN_RANGE 0x800B
|
|
#define IS_SET_AUTO_WB_SPEED 0x800C
|
|
#define IS_GET_AUTO_WB_SPEED 0x800D
|
|
#define IS_SET_AUTO_WB_ONCE 0x800E
|
|
#define IS_GET_AUTO_WB_ONCE 0x800F
|
|
#define IS_SET_AUTO_BRIGHTNESS_ONCE 0x8010
|
|
#define IS_GET_AUTO_BRIGHTNESS_ONCE 0x8011
|
|
#define IS_SET_AUTO_HYSTERESIS 0x8012
|
|
#define IS_GET_AUTO_HYSTERESIS 0x8013
|
|
#define IS_GET_AUTO_HYSTERESIS_RANGE 0x8014
|
|
#define IS_SET_AUTO_WB_HYSTERESIS 0x8015
|
|
#define IS_GET_AUTO_WB_HYSTERESIS 0x8016
|
|
#define IS_GET_AUTO_WB_HYSTERESIS_RANGE 0x8017
|
|
#define IS_SET_AUTO_SKIPFRAMES 0x8018
|
|
#define IS_GET_AUTO_SKIPFRAMES 0x8019
|
|
#define IS_GET_AUTO_SKIPFRAMES_RANGE 0x801A
|
|
#define IS_SET_AUTO_WB_SKIPFRAMES 0x801B
|
|
#define IS_GET_AUTO_WB_SKIPFRAMES 0x801C
|
|
#define IS_GET_AUTO_WB_SKIPFRAMES_RANGE 0x801D
|
|
#define IS_SET_SENS_AUTO_SHUTTER_PHOTOM 0x801E
|
|
#define IS_SET_SENS_AUTO_GAIN_PHOTOM 0x801F
|
|
#define IS_GET_SENS_AUTO_SHUTTER_PHOTOM 0x8020
|
|
#define IS_GET_SENS_AUTO_GAIN_PHOTOM 0x8021
|
|
#define IS_GET_SENS_AUTO_SHUTTER_PHOTOM_DEF 0x8022
|
|
#define IS_GET_SENS_AUTO_GAIN_PHOTOM_DEF 0x8023
|
|
#define IS_SET_SENS_AUTO_CONTRAST_CORRECTION 0x8024
|
|
#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION 0x8025
|
|
#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_RANGE 0x8026
|
|
#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_INC 0x8027
|
|
#define IS_GET_SENS_AUTO_CONTRAST_CORRECTION_DEF 0x8028
|
|
#define IS_SET_SENS_AUTO_CONTRAST_FDT_AOI_ENABLE 0x8029
|
|
#define IS_GET_SENS_AUTO_CONTRAST_FDT_AOI_ENABLE 0x8030
|
|
#define IS_SET_SENS_AUTO_BACKLIGHT_COMP 0x8031
|
|
#define IS_GET_SENS_AUTO_BACKLIGHT_COMP 0x8032
|
|
#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_RANGE 0x8033
|
|
#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_INC 0x8034
|
|
#define IS_GET_SENS_AUTO_BACKLIGHT_COMP_DEF 0x8035
|
|
#define IS_SET_ANTI_FLICKER_MODE 0x8036
|
|
#define IS_GET_ANTI_FLICKER_MODE 0x8037
|
|
#define IS_GET_ANTI_FLICKER_MODE_DEF 0x8038
|
|
#define IS_GET_AUTO_REFERENCE_DEF 0x8039
|
|
#define IS_GET_AUTO_WB_OFFSET_DEF 0x803A
|
|
#define IS_GET_AUTO_WB_OFFSET_MIN 0x803B
|
|
#define IS_GET_AUTO_WB_OFFSET_MAX 0x803C
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Auto Control definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_MIN_AUTO_BRIGHT_REFERENCE 0
|
|
#define IS_MAX_AUTO_BRIGHT_REFERENCE 255
|
|
#define IS_DEFAULT_AUTO_BRIGHT_REFERENCE 128
|
|
#define IS_MIN_AUTO_SPEED 0
|
|
#define IS_MAX_AUTO_SPEED 100
|
|
#define IS_DEFAULT_AUTO_SPEED 50
|
|
|
|
#define IS_DEFAULT_AUTO_WB_OFFSET 0
|
|
#define IS_MIN_AUTO_WB_OFFSET -50
|
|
#define IS_MAX_AUTO_WB_OFFSET 50
|
|
#define IS_DEFAULT_AUTO_WB_SPEED 50
|
|
#define IS_MIN_AUTO_WB_SPEED 0
|
|
#define IS_MAX_AUTO_WB_SPEED 100
|
|
#define IS_MIN_AUTO_WB_REFERENCE 0
|
|
#define IS_MAX_AUTO_WB_REFERENCE 255
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// AOI types to set/get
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SET_AUTO_BRIGHT_AOI 0x8000
|
|
#define IS_GET_AUTO_BRIGHT_AOI 0x8001
|
|
#define IS_SET_IMAGE_AOI 0x8002
|
|
#define IS_GET_IMAGE_AOI 0x8003
|
|
#define IS_SET_AUTO_WB_AOI 0x8004
|
|
#define IS_GET_AUTO_WB_AOI 0x8005
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// pixel formats
|
|
// ----------------------------------------------------------------------------
|
|
|
|
/*! \brief Read current color format in function is_SetColorMode, \ref is_SetColorMode */
|
|
#define IS_GET_COLOR_MODE 0x8000
|
|
|
|
/*! \brief Planar vs packed format */
|
|
#define IS_CM_FORMAT_PLANAR 0x2000
|
|
#define IS_CM_FORMAT_MASK 0x2000
|
|
|
|
/*! \brief BGR vs. RGB order */
|
|
#define IS_CM_ORDER_BGR 0x0000
|
|
#define IS_CM_ORDER_RGB 0x0080
|
|
#define IS_CM_ORDER_MASK 0x0080
|
|
|
|
/*! \brief This flag indicates whether a packed source pixelformat should be used (also for the debayered pixel formats) */
|
|
#define IS_CM_PREFER_PACKED_SOURCE_FORMAT 0x4000
|
|
|
|
/*!
|
|
* \brief Enumeration of pixel formats supported by the function is_SetColorMode, \ref is_SetColorMode.
|
|
*/
|
|
|
|
/*! \brief Raw sensor data, occupies 8 bits */
|
|
#define IS_CM_SENSOR_RAW8 11
|
|
|
|
/*! \brief Raw sensor data, occupies 16 bits */
|
|
#define IS_CM_SENSOR_RAW10 33
|
|
|
|
/*! \brief Raw sensor data, occupies 16 bits */
|
|
#define IS_CM_SENSOR_RAW12 27
|
|
|
|
/*! \brief Raw sensor data, occupies 16 bits */
|
|
#define IS_CM_SENSOR_RAW16 29
|
|
|
|
/*! \brief Mono, occupies 8 bits */
|
|
#define IS_CM_MONO8 6
|
|
|
|
/*! \brief Mono, occupies 16 bits */
|
|
#define IS_CM_MONO10 34
|
|
|
|
/*! \brief Mono, occupies 16 bits */
|
|
#define IS_CM_MONO12 26
|
|
|
|
/*! \brief Mono, occupies 16 bits */
|
|
#define IS_CM_MONO16 28
|
|
|
|
/*! \brief BGR (5 5 5 1), 1 bit not used, occupies 16 bits */
|
|
#define IS_CM_BGR5_PACKED (3 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGR (5 6 5), occupies 16 bits */
|
|
#define IS_CM_BGR565_PACKED (2 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGR and RGB (8 8 8), occupies 24 bits */
|
|
#define IS_CM_RGB8_PACKED (1 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGR8_PACKED (1 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGRA and RGBA (8 8 8 8), alpha not used, occupies 32 bits */
|
|
#define IS_CM_RGBA8_PACKED (0 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGRA8_PACKED (0 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGRY and RGBY (8 8 8 8), occupies 32 bits */
|
|
#define IS_CM_RGBY8_PACKED (24 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGRY8_PACKED (24 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGR and RGB (10 10 10 2), 2 bits not used, occupies 32 bits, debayering is done from 12 bit raw */
|
|
#define IS_CM_RGB10_PACKED (25 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGR10_PACKED (25 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGR and RGB (10(16) 10(16) 10(16)), 6 MSB bits not used respectively, occupies 48 bits */
|
|
#define IS_CM_RGB10_UNPACKED (35 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGR10_UNPACKED (35 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGR and RGB (12(16) 12(16) 12(16)), 4 MSB bits not used respectively, occupies 48 bits */
|
|
#define IS_CM_RGB12_UNPACKED (30 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGR12_UNPACKED (30 | IS_CM_ORDER_BGR)
|
|
|
|
/*! \brief BGRA and RGBA (12(16) 12(16) 12(16) 16), 4 MSB bits not used respectively, alpha not used, occupies 64 bits */
|
|
#define IS_CM_RGBA12_UNPACKED (31 | IS_CM_ORDER_RGB)
|
|
#define IS_CM_BGRA12_UNPACKED (31 | IS_CM_ORDER_BGR)
|
|
|
|
#define IS_CM_JPEG 32
|
|
|
|
/*! \brief YUV422 (8 8), occupies 16 bits */
|
|
#define IS_CM_UYVY_PACKED 12
|
|
#define IS_CM_UYVY_MONO_PACKED 13
|
|
#define IS_CM_UYVY_BAYER_PACKED 14
|
|
|
|
/*! \brief YCbCr422 (8 8), occupies 16 bits */
|
|
#define IS_CM_CBYCRY_PACKED 23
|
|
|
|
/*! \brief RGB planar (8 8 8), occupies 24 bits */
|
|
#define IS_CM_RGB8_PLANAR (1 | IS_CM_ORDER_RGB | IS_CM_FORMAT_PLANAR)
|
|
|
|
#define IS_CM_RGB12_PLANAR //no compliant version
|
|
#define IS_CM_RGB16_PLANAR //no compliant version
|
|
|
|
#define IS_CM_ALL_POSSIBLE 0xFFFF
|
|
#define IS_CM_MODE_MASK 0x007F
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Hotpixel correction
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_HOTPIXEL_DISABLE_CORRECTION 0x0000
|
|
#define IS_HOTPIXEL_ENABLE_SENSOR_CORRECTION 0x0001
|
|
#define IS_HOTPIXEL_ENABLE_CAMERA_CORRECTION 0x0002
|
|
#define IS_HOTPIXEL_ENABLE_SOFTWARE_USER_CORRECTION 0x0004
|
|
#define IS_HOTPIXEL_DISABLE_SENSOR_CORRECTION 0x0008
|
|
|
|
#define IS_HOTPIXEL_GET_CORRECTION_MODE 0x8000
|
|
#define IS_HOTPIXEL_GET_SUPPORTED_CORRECTION_MODES 0x8001
|
|
|
|
#define IS_HOTPIXEL_GET_SOFTWARE_USER_LIST_EXISTS 0x8100
|
|
#define IS_HOTPIXEL_GET_SOFTWARE_USER_LIST_NUMBER 0x8101
|
|
#define IS_HOTPIXEL_GET_SOFTWARE_USER_LIST 0x8102
|
|
#define IS_HOTPIXEL_SET_SOFTWARE_USER_LIST 0x8103
|
|
#define IS_HOTPIXEL_SAVE_SOFTWARE_USER_LIST 0x8104
|
|
#define IS_HOTPIXEL_LOAD_SOFTWARE_USER_LIST 0x8105
|
|
|
|
#define IS_HOTPIXEL_GET_CAMERA_FACTORY_LIST_EXISTS 0x8106
|
|
#define IS_HOTPIXEL_GET_CAMERA_FACTORY_LIST_NUMBER 0x8107
|
|
#define IS_HOTPIXEL_GET_CAMERA_FACTORY_LIST 0x8108
|
|
|
|
#define IS_HOTPIXEL_GET_CAMERA_USER_LIST_EXISTS 0x8109
|
|
#define IS_HOTPIXEL_GET_CAMERA_USER_LIST_NUMBER 0x810A
|
|
#define IS_HOTPIXEL_GET_CAMERA_USER_LIST 0x810B
|
|
#define IS_HOTPIXEL_SET_CAMERA_USER_LIST 0x810C
|
|
#define IS_HOTPIXEL_GET_CAMERA_USER_LIST_MAX_NUMBER 0x810D
|
|
#define IS_HOTPIXEL_DELETE_CAMERA_USER_LIST 0x810E
|
|
|
|
#define IS_HOTPIXEL_GET_MERGED_CAMERA_LIST_NUMBER 0x810F
|
|
#define IS_HOTPIXEL_GET_MERGED_CAMERA_LIST 0x8110
|
|
|
|
#define IS_HOTPIXEL_SAVE_SOFTWARE_USER_LIST_UNICODE 0x8111
|
|
#define IS_HOTPIXEL_LOAD_SOFTWARE_USER_LIST_UNICODE 0x8112
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_ENABLE 0x8113
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_ENABLE_DEFAULT 0x8114
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_SET_ENABLE 0x8115
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_MODE 0x8116
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_MODE_DEFAULT 0x8117
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_SET_MODE 0x8118
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_SENSITIVITY 0x8119
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_SENSITIVITY_DEFAULT 0x8120
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_SENSITIVITY_MIN 0x8121
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_SENSITIVITY_MAX 0x8122
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_SET_SENSITIVITY 0x8123
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_RESET_DETECTION 0x8124
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_NUMBER_DETECTED 0x8125
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_RESET_DETECTION_CLUSTER 0x8126
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_GET_NUMBER_DETECTED_CLUSTER 0x8127
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_DISABLE 0
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_ENABLE 1
|
|
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_DETECT_ONCE 0x0000
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_DETECT_DYNAMIC 0x0001
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_DETECT_ONCE_CLUSTER 0x0002
|
|
#define IS_HOTPIXEL_ADAPTIVE_CORRECTION_DETECT_DYNAMIC_CLUSTER 0x0004
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// color correction definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_CCOR_MODE 0x8000
|
|
#define IS_GET_SUPPORTED_CCOR_MODE 0x8001
|
|
#define IS_GET_DEFAULT_CCOR_MODE 0x8002
|
|
#define IS_GET_CCOR_FACTOR 0x8003
|
|
#define IS_GET_CCOR_FACTOR_MIN 0x8004
|
|
#define IS_GET_CCOR_FACTOR_MAX 0x8005
|
|
#define IS_GET_CCOR_FACTOR_DEFAULT 0x8006
|
|
|
|
#define IS_CCOR_DISABLE 0x0000
|
|
#define IS_CCOR_ENABLE 0x0001
|
|
#define IS_CCOR_ENABLE_NORMAL IS_CCOR_ENABLE
|
|
#define IS_CCOR_ENABLE_BG40_ENHANCED 0x0002
|
|
#define IS_CCOR_ENABLE_HQ_ENHANCED 0x0004
|
|
#define IS_CCOR_SET_IR_AUTOMATIC 0x0080
|
|
#define IS_CCOR_FACTOR 0x0100
|
|
#define IS_CCOR_ENABLE_D50 0x0040
|
|
|
|
#define IS_CCOR_ENABLE_MASK (IS_CCOR_ENABLE_NORMAL | IS_CCOR_ENABLE_BG40_ENHANCED | IS_CCOR_ENABLE_HQ_ENHANCED | IS_CCOR_ENABLE_D50)
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// bayer algorithm modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_BAYER_CV_MODE 0x8000
|
|
|
|
#define IS_SET_BAYER_CV_NORMAL 0x0000
|
|
#define IS_SET_BAYER_CV_BETTER 0x0001
|
|
#define IS_SET_BAYER_CV_BEST 0x0002
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// color converter modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_CONV_MODE_NONE 0x0000
|
|
#define IS_CONV_MODE_SOFTWARE 0x0001
|
|
#define IS_CONV_MODE_SOFTWARE_3X3 0x0002
|
|
#define IS_CONV_MODE_SOFTWARE_5X5 0x0004
|
|
#define IS_CONV_MODE_HARDWARE_3X3 0x0008
|
|
#define IS_CONV_MODE_OPENCL_3X3 0x0020
|
|
#define IS_CONV_MODE_OPENCL_5X5 0x0040
|
|
|
|
#define IS_CONV_MODE_JPEG 0x0100
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Edge enhancement
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_EDGE_ENHANCEMENT 0x8000
|
|
|
|
#define IS_EDGE_EN_DISABLE 0
|
|
#define IS_EDGE_EN_STRONG 1
|
|
#define IS_EDGE_EN_WEAK 2
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// white balance modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_WB_MODE 0x8000
|
|
|
|
#define IS_SET_WB_DISABLE 0x0000
|
|
#define IS_SET_WB_USER 0x0001
|
|
#define IS_SET_WB_AUTO_ENABLE 0x0002
|
|
#define IS_SET_WB_AUTO_ENABLE_ONCE 0x0004
|
|
|
|
#define IS_SET_WB_DAYLIGHT_65 0x0101
|
|
#define IS_SET_WB_COOL_WHITE 0x0102
|
|
#define IS_SET_WB_U30 0x0103
|
|
#define IS_SET_WB_ILLUMINANT_A 0x0104
|
|
#define IS_SET_WB_HORIZON 0x0105
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// EEPROM defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_EEPROM_MIN_USER_ADDRESS 0
|
|
#define IS_EEPROM_MAX_USER_ADDRESS 63
|
|
#define IS_EEPROM_MAX_USER_SPACE 64
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Error report modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_ERR_REP_MODE 0x8000
|
|
#define IS_ENABLE_ERR_REP 1
|
|
#define IS_DISABLE_ERR_REP 0
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Display mode selectors
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_DISPLAY_MODE 0x8000
|
|
|
|
#define IS_SET_DM_DIB 1
|
|
#define IS_SET_DM_DIRECT3D 4
|
|
#define IS_SET_DM_OPENGL 8
|
|
|
|
#define IS_SET_DM_MONO 0x800
|
|
#define IS_SET_DM_BAYER 0x1000
|
|
#define IS_SET_DM_YCBCR 0x4000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// DirectRenderer commands
|
|
// ----------------------------------------------------------------------------
|
|
#define DR_GET_OVERLAY_DC 1
|
|
#define DR_GET_MAX_OVERLAY_SIZE 2
|
|
#define DR_GET_OVERLAY_KEY_COLOR 3
|
|
#define DR_RELEASE_OVERLAY_DC 4
|
|
#define DR_SHOW_OVERLAY 5
|
|
#define DR_HIDE_OVERLAY 6
|
|
#define DR_SET_OVERLAY_SIZE 7
|
|
#define DR_SET_OVERLAY_POSITION 8
|
|
#define DR_SET_OVERLAY_KEY_COLOR 9
|
|
#define DR_SET_HWND 10
|
|
#define DR_ENABLE_SCALING 11
|
|
#define DR_DISABLE_SCALING 12
|
|
#define DR_CLEAR_OVERLAY 13
|
|
#define DR_ENABLE_SEMI_TRANSPARENT_OVERLAY 14
|
|
#define DR_DISABLE_SEMI_TRANSPARENT_OVERLAY 15
|
|
#define DR_CHECK_COMPATIBILITY 16
|
|
#define DR_SET_VSYNC_OFF 17
|
|
#define DR_SET_VSYNC_AUTO 18
|
|
#define DR_SET_USER_SYNC 19
|
|
#define DR_GET_USER_SYNC_POSITION_RANGE 20
|
|
#define DR_LOAD_OVERLAY_FROM_FILE 21
|
|
#define DR_STEAL_NEXT_FRAME 22
|
|
#define DR_SET_STEAL_FORMAT 23
|
|
#define DR_GET_STEAL_FORMAT 24
|
|
#define DR_ENABLE_IMAGE_SCALING 25
|
|
#define DR_GET_OVERLAY_SIZE 26
|
|
#define DR_CHECK_COLOR_MODE_SUPPORT 27
|
|
#define DR_GET_OVERLAY_DATA 28
|
|
#define DR_UPDATE_OVERLAY_DATA 29
|
|
#define DR_GET_SUPPORTED 30
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// save options
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SAVE_USE_ACTUAL_IMAGE_SIZE 0x00010000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// renumeration modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_RENUM_BY_CAMERA 0
|
|
#define IS_RENUM_BY_HOST 1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// event constants
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_SET_EVENT_ODD 0
|
|
#define IS_SET_EVENT_EVEN 1
|
|
#define IS_SET_EVENT_FRAME 2
|
|
#define IS_SET_EVENT_EXTTRIG 3
|
|
#define IS_SET_EVENT_VSYNC 4
|
|
#define IS_SET_EVENT_SEQ 5
|
|
#define IS_SET_EVENT_STEAL 6
|
|
#define IS_SET_EVENT_VPRES 7
|
|
#define IS_SET_EVENT_CAPTURE_STATUS 8
|
|
#define IS_SET_EVENT_TRANSFER_FAILED IS_SET_EVENT_CAPTURE_STATUS
|
|
#define IS_SET_EVENT_DEVICE_RECONNECTED 9
|
|
#define IS_SET_EVENT_MEMORY_MODE_FINISH 10
|
|
#define IS_SET_EVENT_FRAME_RECEIVED 11
|
|
#define IS_SET_EVENT_WB_FINISHED 12
|
|
#define IS_SET_EVENT_AUTOBRIGHTNESS_FINISHED 13
|
|
#define IS_SET_EVENT_OVERLAY_DATA_LOST 16
|
|
#define IS_SET_EVENT_CAMERA_MEMORY 17
|
|
#define IS_SET_EVENT_CONNECTIONSPEED_CHANGED 18
|
|
#define IS_SET_EVENT_AUTOFOCUS_FINISHED 19
|
|
#define IS_SET_EVENT_FIRST_PACKET_RECEIVED 20
|
|
#define IS_SET_EVENT_PMC_IMAGE_PARAMS_CHANGED 21
|
|
#define IS_SET_EVENT_DEVICE_PLUGGED_IN 22
|
|
#define IS_SET_EVENT_DEVICE_UNPLUGGED 23
|
|
#define IS_SET_EVENT_TEMPERATURE_STATUS 24
|
|
|
|
|
|
#define IS_SET_EVENT_REMOVE 128
|
|
#define IS_SET_EVENT_REMOVAL 129
|
|
#define IS_SET_EVENT_NEW_DEVICE 130
|
|
#define IS_SET_EVENT_STATUS_CHANGED 131
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Window message defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_UEYE_MESSAGE (WM_USER + 0x0100)
|
|
#define IS_FRAME 0x0000
|
|
#define IS_SEQUENCE 0x0001
|
|
#define IS_TRIGGER 0x0002
|
|
#define IS_CAPTURE_STATUS 0x0003
|
|
#define IS_TRANSFER_FAILED IS_CAPTURE_STATUS
|
|
#define IS_DEVICE_RECONNECTED 0x0004
|
|
#define IS_MEMORY_MODE_FINISH 0x0005
|
|
#define IS_FRAME_RECEIVED 0x0006
|
|
#define IS_GENERIC_ERROR 0x0007
|
|
#define IS_STEAL_VIDEO 0x0008
|
|
#define IS_WB_FINISHED 0x0009
|
|
#define IS_AUTOBRIGHTNESS_FINISHED 0x000A
|
|
#define IS_OVERLAY_DATA_LOST 0x000B
|
|
#define IS_CAMERA_MEMORY 0x000C
|
|
#define IS_CONNECTIONSPEED_CHANGED 0x000D
|
|
#define IS_AUTOFOCUS_FINISHED 0x000E
|
|
#define IS_FIRST_PACKET_RECEIVED 0x000F
|
|
#define IS_PMC_IMAGE_PARAMS_CHANGED 0x0010
|
|
#define IS_DEVICE_PLUGGED_IN 0x0011
|
|
#define IS_DEVICE_UNPLUGGED 0x0012
|
|
#define IS_TEMPERATURE_STATUS 0x0013
|
|
|
|
#define IS_DEVICE_REMOVED 0x1000
|
|
#define IS_DEVICE_REMOVAL 0x1001
|
|
#define IS_NEW_DEVICE 0x1002
|
|
#define IS_DEVICE_STATUS_CHANGED 0x1003
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Camera id constants
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_CAMERA_ID 0x8000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Camera info constants
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_STATUS 0x8000
|
|
|
|
#define IS_EXT_TRIGGER_EVENT_CNT 0
|
|
#define IS_FIFO_OVR_CNT 1
|
|
#define IS_SEQUENCE_CNT 2
|
|
#define IS_LAST_FRAME_FIFO_OVR 3
|
|
#define IS_SEQUENCE_SIZE 4
|
|
#define IS_VIDEO_PRESENT 5
|
|
#define IS_STEAL_FINISHED 6
|
|
#define IS_STORE_FILE_PATH 7
|
|
#define IS_LUMA_BANDWIDTH_FILTER 8
|
|
#define IS_BOARD_REVISION 9
|
|
#define IS_MIRROR_BITMAP_UPDOWN 10
|
|
#define IS_BUS_OVR_CNT 11
|
|
#define IS_STEAL_ERROR_CNT 12
|
|
#define IS_LOW_COLOR_REMOVAL 13
|
|
#define IS_CHROMA_COMB_FILTER 14
|
|
#define IS_CHROMA_AGC 15
|
|
#define IS_WATCHDOG_ON_BOARD 16
|
|
#define IS_PASSTHROUGH_ON_BOARD 17
|
|
#define IS_EXTERNAL_VREF_MODE 18
|
|
#define IS_WAIT_TIMEOUT 19
|
|
#define IS_TRIGGER_MISSED 20
|
|
#define IS_LAST_CAPTURE_ERROR 21
|
|
#define IS_PARAMETER_SET_1 22
|
|
#define IS_PARAMETER_SET_2 23
|
|
#define IS_STANDBY 24
|
|
#define IS_STANDBY_SUPPORTED 25
|
|
#define IS_QUEUED_IMAGE_EVENT_CNT 26
|
|
#define IS_PARAMETER_EXT 27
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Interface type defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_INTERFACE_TYPE_USB 0x40
|
|
#define IS_INTERFACE_TYPE_USB3 0x60
|
|
#define IS_INTERFACE_TYPE_ETH 0x80
|
|
#define IS_INTERFACE_TYPE_PMC 0xf0
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Board type defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_BOARD_TYPE_UEYE_USB (IS_INTERFACE_TYPE_USB + 0) // 0x40
|
|
#define IS_BOARD_TYPE_UEYE_USB_SE IS_BOARD_TYPE_UEYE_USB // 0x40
|
|
#define IS_BOARD_TYPE_UEYE_USB_RE IS_BOARD_TYPE_UEYE_USB // 0x40
|
|
#define IS_BOARD_TYPE_UEYE_USB_ME (IS_INTERFACE_TYPE_USB + 0x01) // 0x41
|
|
#define IS_BOARD_TYPE_UEYE_USB_LE (IS_INTERFACE_TYPE_USB + 0x02) // 0x42
|
|
#define IS_BOARD_TYPE_UEYE_USB_XS (IS_INTERFACE_TYPE_USB + 0x03) // 0x43
|
|
#define IS_BOARD_TYPE_UEYE_USB_ML (IS_INTERFACE_TYPE_USB + 0x05) // 0x45
|
|
|
|
#define IS_BOARD_TYPE_UEYE_USB3_SE IS_INTERFACE_TYPE_USB3 // 0x60
|
|
#define IS_BOARD_TYPE_UEYE_USB3_LE (IS_INTERFACE_TYPE_USB3 + 0x02) // 0x62
|
|
#define IS_BOARD_TYPE_UEYE_USB3_XC (IS_INTERFACE_TYPE_USB3 + 0x03) // 0x63
|
|
#define IS_BOARD_TYPE_UEYE_USB3_CP (IS_INTERFACE_TYPE_USB3 + 0x04) // 0x64
|
|
#define IS_BOARD_TYPE_UEYE_USB3_ML (IS_INTERFACE_TYPE_USB3 + 0x05) // 0x65
|
|
|
|
#define IS_BOARD_TYPE_UEYE_ETH IS_INTERFACE_TYPE_ETH // 0x80
|
|
#define IS_BOARD_TYPE_UEYE_ETH_HE IS_BOARD_TYPE_UEYE_ETH // 0x80
|
|
#define IS_BOARD_TYPE_UEYE_ETH_SE (IS_INTERFACE_TYPE_ETH + 0x01) // 0x81
|
|
#define IS_BOARD_TYPE_UEYE_ETH_RE IS_BOARD_TYPE_UEYE_ETH_SE // 0x81
|
|
#define IS_BOARD_TYPE_UEYE_ETH_LE (IS_INTERFACE_TYPE_ETH + 0x02) // 0x82
|
|
#define IS_BOARD_TYPE_UEYE_ETH_CP (IS_INTERFACE_TYPE_ETH + 0x04) // 0x84
|
|
#define IS_BOARD_TYPE_UEYE_ETH_SEP (IS_INTERFACE_TYPE_ETH + 0x06) // 0x86
|
|
#define IS_BOARD_TYPE_UEYE_ETH_REP IS_BOARD_TYPE_UEYE_ETH_SEP // 0x86
|
|
#define IS_BOARD_TYPE_UEYE_ETH_LEET (IS_INTERFACE_TYPE_ETH + 0x07) // 0x87
|
|
#define IS_BOARD_TYPE_UEYE_ETH_TE (IS_INTERFACE_TYPE_ETH + 0x08) // 0x88
|
|
#define IS_BOARD_TYPE_UEYE_ETH_FA (IS_INTERFACE_TYPE_ETH + 0x0A) // 0x8A
|
|
#define IS_BOARD_TYPE_UEYE_ETH_SE_R4 (IS_INTERFACE_TYPE_ETH + 0x0B) // 0x8B
|
|
#define IS_BOARD_TYPE_UEYE_ETH_CP_R2 (IS_INTERFACE_TYPE_ETH + 0x0C) // 0x8C
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Camera type defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_CAMERA_TYPE_UEYE_USB IS_BOARD_TYPE_UEYE_USB_SE
|
|
#define IS_CAMERA_TYPE_UEYE_USB_SE IS_BOARD_TYPE_UEYE_USB_SE
|
|
#define IS_CAMERA_TYPE_UEYE_USB_RE IS_BOARD_TYPE_UEYE_USB_RE
|
|
#define IS_CAMERA_TYPE_UEYE_USB_ME IS_BOARD_TYPE_UEYE_USB_ME
|
|
#define IS_CAMERA_TYPE_UEYE_USB_LE IS_BOARD_TYPE_UEYE_USB_LE
|
|
#define IS_CAMERA_TYPE_UEYE_USB_ML IS_BOARD_TYPE_UEYE_USB_ML
|
|
|
|
#define IS_CAMERA_TYPE_UEYE_USB3_LE IS_BOARD_TYPE_UEYE_USB3_LE
|
|
#define IS_CAMERA_TYPE_UEYE_USB3_XC IS_BOARD_TYPE_UEYE_USB3_XC
|
|
#define IS_CAMERA_TYPE_UEYE_USB3_CP IS_BOARD_TYPE_UEYE_USB3_CP
|
|
#define IS_CAMERA_TYPE_UEYE_USB3_ML IS_BOARD_TYPE_UEYE_USB3_ML
|
|
#define IS_CAMERA_TYPE_UEYE_USB31_SE IS_BOARD_TYPE_UEYE_USB3_CP
|
|
|
|
#define IS_CAMERA_TYPE_UEYE_ETH IS_BOARD_TYPE_UEYE_ETH_HE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_HE IS_BOARD_TYPE_UEYE_ETH_HE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_SE IS_BOARD_TYPE_UEYE_ETH_SE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_RE IS_BOARD_TYPE_UEYE_ETH_RE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_LE IS_BOARD_TYPE_UEYE_ETH_LE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_CP IS_BOARD_TYPE_UEYE_ETH_CP
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_SEP IS_BOARD_TYPE_UEYE_ETH_SEP
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_REP IS_BOARD_TYPE_UEYE_ETH_REP
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_LEET IS_BOARD_TYPE_UEYE_ETH_LEET
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_TE IS_BOARD_TYPE_UEYE_ETH_TE
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_CP_R2 IS_BOARD_TYPE_UEYE_ETH_CP_R2
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_FA IS_BOARD_TYPE_UEYE_ETH_FA
|
|
#define IS_CAMERA_TYPE_UEYE_ETH_SE_R4 IS_BOARD_TYPE_UEYE_ETH_SE_R4
|
|
#define IS_CAMERA_TYPE_UEYE_PMC (IS_INTERFACE_TYPE_PMC + 0x01)
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Readable operation system defines
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_OS_UNDETERMINED 0
|
|
#define IS_OS_WIN95 1
|
|
#define IS_OS_WINNT40 2
|
|
#define IS_OS_WIN98 3
|
|
#define IS_OS_WIN2000 4
|
|
#define IS_OS_WINXP 5
|
|
#define IS_OS_WINME 6
|
|
#define IS_OS_WINNET 7
|
|
#define IS_OS_WINSERVER2003 8
|
|
#define IS_OS_WINVISTA 9
|
|
#define IS_OS_LINUX24 10
|
|
#define IS_OS_LINUX26 11
|
|
#define IS_OS_WIN7 12
|
|
#define IS_OS_WIN8 13
|
|
#define IS_OS_WIN8SERVER 14
|
|
#define IS_OS_GREATER_THAN_WIN8 15
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Bus speed
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_USB_10 0x0001 // 1,5 Mb/s
|
|
#define IS_USB_11 0x0002 // 12 Mb/s
|
|
#define IS_USB_20 0x0004 // 480 Mb/s
|
|
#define IS_USB_30 0x0008 // 4000 Mb/s
|
|
#define IS_ETHERNET_10 0x0080 // 10 Mb/s
|
|
#define IS_ETHERNET_100 0x0100 // 100 Mb/s
|
|
#define IS_ETHERNET_1000 0x0200 // 1000 Mb/s
|
|
#define IS_ETHERNET_10000 0x0400 //10000 Mb/s
|
|
|
|
#define IS_USB_LOW_SPEED 1
|
|
#define IS_USB_FULL_SPEED 12
|
|
#define IS_USB_HIGH_SPEED 480
|
|
#define IS_USB_SUPER_SPEED 4000
|
|
#define IS_ETHERNET_10Base 10
|
|
#define IS_ETHERNET_100Base 100
|
|
#define IS_ETHERNET_1000Base 1000
|
|
#define IS_ETHERNET_10GBase 10000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// HDR
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_HDR_NOT_SUPPORTED 0
|
|
#define IS_HDR_KNEEPOINTS 1
|
|
#define IS_DISABLE_HDR 0
|
|
#define IS_ENABLE_HDR 1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Test images
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_TEST_IMAGE_NONE 0x00000000
|
|
#define IS_TEST_IMAGE_WHITE 0x00000001
|
|
#define IS_TEST_IMAGE_BLACK 0x00000002
|
|
#define IS_TEST_IMAGE_HORIZONTAL_GREYSCALE 0x00000004
|
|
#define IS_TEST_IMAGE_VERTICAL_GREYSCALE 0x00000008
|
|
#define IS_TEST_IMAGE_DIAGONAL_GREYSCALE 0x00000010
|
|
#define IS_TEST_IMAGE_WEDGE_GRAY 0x00000020
|
|
#define IS_TEST_IMAGE_WEDGE_COLOR 0x00000040
|
|
#define IS_TEST_IMAGE_ANIMATED_WEDGE_GRAY 0x00000080
|
|
|
|
#define IS_TEST_IMAGE_ANIMATED_WEDGE_COLOR 0x00000100
|
|
#define IS_TEST_IMAGE_MONO_BARS 0x00000200
|
|
#define IS_TEST_IMAGE_COLOR_BARS1 0x00000400
|
|
#define IS_TEST_IMAGE_COLOR_BARS2 0x00000800
|
|
#define IS_TEST_IMAGE_GREYSCALE1 0x00001000
|
|
#define IS_TEST_IMAGE_GREY_AND_COLOR_BARS 0x00002000
|
|
#define IS_TEST_IMAGE_MOVING_GREY_AND_COLOR_BARS 0x00004000
|
|
#define IS_TEST_IMAGE_ANIMATED_LINE 0x00008000
|
|
|
|
#define IS_TEST_IMAGE_ALTERNATE_PATTERN 0x00010000
|
|
#define IS_TEST_IMAGE_VARIABLE_GREY 0x00020000
|
|
#define IS_TEST_IMAGE_MONOCHROME_HORIZONTAL_BARS 0x00040000
|
|
#define IS_TEST_IMAGE_MONOCHROME_VERTICAL_BARS 0x00080000
|
|
#define IS_TEST_IMAGE_CURSOR_H 0x00100000
|
|
#define IS_TEST_IMAGE_CURSOR_V 0x00200000
|
|
#define IS_TEST_IMAGE_COLDPIXEL_GRID 0x00400000
|
|
#define IS_TEST_IMAGE_HOTPIXEL_GRID 0x00800000
|
|
|
|
#define IS_TEST_IMAGE_VARIABLE_RED_PART 0x01000000
|
|
#define IS_TEST_IMAGE_VARIABLE_GREEN_PART 0x02000000
|
|
#define IS_TEST_IMAGE_VARIABLE_BLUE_PART 0x04000000
|
|
#define IS_TEST_IMAGE_SHADING_IMAGE 0x08000000
|
|
#define IS_TEST_IMAGE_WEDGE_GRAY_SENSOR 0x10000000
|
|
#define IS_TEST_IMAGE_ANIMATED_WEDGE_GRAY_SENSOR 0x20000000
|
|
#define IS_TEST_IMAGE_RAMPING_PATTERN 0x40000000
|
|
#define IS_TEST_IMAGE_CHESS_PATTERN 0x80000000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Sensor scaler
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_DISABLE_SENSOR_SCALER 0
|
|
#define IS_ENABLE_SENSOR_SCALER 1
|
|
#define IS_ENABLE_ANTI_ALIASING 2
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Timeouts
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_TRIGGER_TIMEOUT 0
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Auto pixel clock modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_BEST_PCLK_RUN_ONCE 0
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Sequence flags
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_LOCK_LAST_BUFFER 0x8002
|
|
#define IS_GET_ALLOC_ID_OF_THIS_BUF 0x8004
|
|
#define IS_GET_ALLOC_ID_OF_LAST_BUF 0x8008
|
|
#define IS_USE_ALLOC_ID 0x8000
|
|
#define IS_USE_CURRENT_IMG_SIZE 0xC000
|
|
|
|
// ------------------------------------------
|
|
// Memory information flags
|
|
// ------------------------------------------
|
|
#define IS_GET_D3D_MEM 0x8000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Image files types
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_IMG_BMP 0
|
|
#define IS_IMG_JPG 1
|
|
#define IS_IMG_PNG 2
|
|
#define IS_IMG_RAW 4
|
|
#define IS_IMG_TIF 8
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// I2C defines
|
|
|
|
// nRegisterAddr | IS_I2C_16_BIT_REGISTER
|
|
// nRegisterAddr | IS_I2C_0_BIT_REGISTER
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_I2C_16_BIT_REGISTER 0x10000000
|
|
#define IS_I2C_0_BIT_REGISTER 0x20000000
|
|
|
|
// nDeviceAddr | IS_I2C_DONT_WAIT
|
|
#define IS_I2C_DONT_WAIT 0x00800000
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Gamma modes
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_GAMMA_MODE 0x8000
|
|
#define IS_SET_GAMMA_OFF 0
|
|
#define IS_SET_GAMMA_ON 1
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Capture modes (Falcon)
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_GET_CAPTURE_MODE 0x8000
|
|
|
|
#define IS_SET_CM_ODD 0x0001
|
|
#define IS_SET_CM_EVEN 0x0002
|
|
#define IS_SET_CM_FRAME 0x0004
|
|
#define IS_SET_CM_NONINTERLACED 0x0008
|
|
#define IS_SET_CM_NEXT_FRAME 0x0010
|
|
#define IS_SET_CM_NEXT_FIELD 0x0020
|
|
#define IS_SET_CM_BOTHFIELDS (IS_SET_CM_ODD | IS_SET_CM_EVEN | IS_SET_CM_NONINTERLACED)
|
|
#define IS_SET_CM_FRAME_STEREO 0x2004
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Typedefs
|
|
// ----------------------------------------------------------------------------
|
|
#ifdef __LINUX__
|
|
#define FORCEINLINE inline
|
|
#define USHORT IS_U16
|
|
|
|
#include <unistd.h>
|
|
#include <wchar.h>
|
|
#include <stdint.h>
|
|
|
|
// aliases for common Win32 types
|
|
typedef int32_t BOOLEAN;
|
|
typedef int32_t BOOL;
|
|
typedef int32_t INT;
|
|
typedef uint32_t UINT;
|
|
typedef int32_t LONG;
|
|
typedef void VOID;
|
|
typedef void* LPVOID;
|
|
typedef uint32_t ULONG;
|
|
|
|
typedef uint64_t UINT64;
|
|
typedef int64_t __int64;
|
|
typedef int64_t LONGLONG;
|
|
typedef uint32_t DWORD;
|
|
typedef uint16_t WORD;
|
|
|
|
typedef unsigned char BYTE;
|
|
typedef char CHAR;
|
|
typedef char TCHAR;
|
|
typedef unsigned char UCHAR;
|
|
|
|
typedef int8_t* LPTSTR;
|
|
typedef const int8_t* LPCTSTR;
|
|
typedef const int8_t* LPCSTR;
|
|
typedef uint32_t WPARAM;
|
|
typedef uint32_t LPARAM;
|
|
typedef uint32_t LRESULT;
|
|
typedef uint32_t HRESULT;
|
|
|
|
typedef void* HWND;
|
|
typedef void* HGLOBAL;
|
|
typedef void* HINSTANCE;
|
|
typedef void* HDC;
|
|
typedef void* HMODULE;
|
|
typedef void* HKEY;
|
|
typedef void* HANDLE;
|
|
|
|
typedef BYTE* LPBYTE;
|
|
typedef DWORD* PDWORD;
|
|
typedef VOID* PVOID;
|
|
typedef CHAR* PCHAR;
|
|
|
|
|
|
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#endif
|
|
#ifndef TRUE
|
|
#define TRUE 1
|
|
#endif
|
|
|
|
#ifndef HIBYTE
|
|
#define HIBYTE(_x_) ( (_x_)>>8 )
|
|
#endif
|
|
|
|
#ifndef LOBYTE
|
|
#define LOBYTE(_x_) ( (_x_)&0x00ff )
|
|
#endif
|
|
|
|
#ifndef HIWORD
|
|
#define HIWORD(_x_) ( (_x_)>>16 )
|
|
#endif
|
|
|
|
#ifndef LOWORD
|
|
#define LOWORD(_x_) ( (_x_)&0x0000ffff )
|
|
#endif
|
|
|
|
#ifndef _min_
|
|
#define _min_( _x_, _y_ ) ( (_x_)<(_y_) ? (_x_) : (_y_) )
|
|
#endif
|
|
|
|
#ifndef _max_
|
|
#define _max_( _x_, _y_ ) ( (_x_)>(_y_) ? (_x_) : (_y_) )
|
|
#endif
|
|
|
|
#ifndef WM_USER
|
|
#define WM_USER 0x400
|
|
#endif
|
|
|
|
// unknown stuff for Linux
|
|
#define WINAPI
|
|
#define CALLBACK
|
|
#undef UNICODE
|
|
#define __stdcall
|
|
#define __cdecl
|
|
|
|
#if defined (NO_WARN_DEPRECATED)
|
|
#define attribute_deprecated
|
|
#else
|
|
#define attribute_deprecated __attribute__((deprecated))
|
|
#endif
|
|
|
|
#define DEPRECATED(X) X attribute_deprecated
|
|
|
|
#if defined (_IDS_EXPORT)
|
|
#define IDSEXP __attribute__((visibility("default"))) INT
|
|
#define IDSEXPUL __attribute__((visibility("default"))) ULONG
|
|
#define IDSEXPDEP attribute_deprecated __attribute__((visibility("default"))) INT
|
|
#else
|
|
#define IDSEXP INT
|
|
#define IDSEXPUL ULONG
|
|
#define IDSEXPDEP attribute_deprecated INT
|
|
#endif
|
|
|
|
typedef long (*WNDPROC) (HWND, UINT, WPARAM, LPARAM);
|
|
|
|
#define ZeroMemory(a,b) memset((a), 0, (b))
|
|
#define OutputDebugString(s) fprintf(stderr, s)
|
|
|
|
#define INFINITE -1
|
|
#else
|
|
|
|
#include <windows.h>
|
|
|
|
#if defined (NO_WARN_DEPRECATED)
|
|
#define attribute_deprecated
|
|
#else
|
|
#define attribute_deprecated __declspec(deprecated)
|
|
#endif
|
|
|
|
#define DEPRECATED(X) attribute_deprecated X
|
|
|
|
#if defined (_MSC_VER) || defined (__BORLANDC__) || defined (_WIN32_WCE)
|
|
#if defined (_PURE_C) && !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT)
|
|
#define IDSEXP extern __declspec(dllimport) INT __cdecl
|
|
#define IDSEXPDEP extern __declspec(dllimport) attribute_deprecated INT __cdecl
|
|
#define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
|
|
#elif defined (__STDC__) && !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT)
|
|
#define IDSEXP extern __declspec(dllimport) INT __cdecl
|
|
#define IDSEXPDEP extern __declspec(dllimport) attribute_deprecated INT __cdecl
|
|
#define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
|
|
#elif !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT) // using the DLL, not creating one
|
|
#define IDSEXP extern "C" __declspec(dllimport) INT __cdecl
|
|
#define IDSEXPDEP extern "C" __declspec(dllimport) attribute_deprecated INT __cdecl
|
|
#define IDSEXPUL extern "C" __declspec(dllimport) ULONG __cdecl
|
|
#elif defined (_IDS_VBSTD) || defined (_FALC_VBSTD) // for creating stdcall dll
|
|
#define IDSEXP extern __declspec(dllexport) INT __stdcall
|
|
#define IDSEXPDEP extern __declspec(dllexport) INT __stdcall
|
|
#define IDSEXPUL extern __declspec(dllexport) ULONG __stdcall
|
|
#else // for creating cdecl dll
|
|
#define IDSEXP extern __declspec(dllexport) INT __cdecl
|
|
#define IDSEXPDEP extern __declspec(dllexport) INT __cdecl
|
|
#define IDSEXPUL extern __declspec(dllexport) ULONG __cdecl
|
|
#endif
|
|
#elif !defined (_IDS_EXPORT) && !defined (_FALC_EXPORT) // using the DLL, not creating one
|
|
#define IDSEXP extern __declspec(dllimport) INT __cdecl
|
|
#define IDSEXPDEP extern __declspec(dllimport) attribute_deprecated INT __cdecl
|
|
#define IDSEXPUL extern __declspec(dllimport) ULONG __cdecl
|
|
#endif
|
|
|
|
typedef int INT;
|
|
|
|
#endif // Linux
|
|
|
|
#ifdef _WIN32_WCE
|
|
typedef TCHAR IS_CHAR;
|
|
#else
|
|
typedef char IS_CHAR;
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Typedefs
|
|
// ----------------------------------------------------------------------------
|
|
typedef DWORD HIDS;
|
|
#define HIDS_DEFINED
|
|
|
|
typedef DWORD HCAM;
|
|
#define HCAM_DEFINED
|
|
|
|
typedef DWORD HFALC;
|
|
#define HFALC_DEFINED
|
|
|
|
/*!
|
|
* \brief Data type for 32-bit signed int value ranges.
|
|
*/
|
|
typedef struct S_IS_RANGE_S32
|
|
{
|
|
INT s32Min;
|
|
INT s32Max;
|
|
INT s32Inc;
|
|
|
|
} IS_RANGE_S32;
|
|
|
|
/*!
|
|
* \brief Data type for 64-bit signed double value ranges.
|
|
*/
|
|
typedef struct S_IS_RANGE_F64
|
|
{
|
|
double f64Min;
|
|
double f64Max;
|
|
double f64Inc;
|
|
|
|
} IS_RANGE_F64;
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Invalid values for device handles
|
|
// ----------------------------------------------------------------------------
|
|
#define IS_INVALID_HIDS (HIDS)0
|
|
#define IS_INVALID_HCAM (HIDS)0
|
|
#define IS_INVALID_HFALC (HIDS)0
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Info struct
|
|
// ----------------------------------------------------------------------------
|
|
#define FALCINFO BOARDINFO
|
|
#define PFALCINFO PBOARDINFO
|
|
#define CAMINFO BOARDINFO
|
|
#define PCAMINFO PBOARDINFO
|
|
|
|
typedef struct
|
|
{
|
|
char SerNo[12]; // e.g. "1234512345" (11 char)
|
|
char ID[20]; // e.g. "IDS GmbH"
|
|
char Version[10]; // e.g. "V2.10" (9 char)
|
|
char Date[12]; // e.g. "24.01.2006" (11 char)
|
|
unsigned char Select; // contains board select number for multi board support
|
|
unsigned char Type; // e.g. IS_BOARD_TYPE_UEYE_USB
|
|
char Reserved[8]; // (7 char)
|
|
} BOARDINFO, *PBOARDINFO;
|
|
|
|
|
|
typedef struct _SENSORINFO
|
|
{
|
|
WORD SensorID; // e.g. IS_SENSOR_UI224X_C
|
|
IS_CHAR strSensorName[32]; // e.g. "UI-224X-C"
|
|
char nColorMode; // e.g. IS_COLORMODE_BAYER
|
|
DWORD nMaxWidth; // e.g. 1280
|
|
DWORD nMaxHeight; // e.g. 1024
|
|
BOOL bMasterGain; // e.g. TRUE
|
|
BOOL bRGain; // e.g. TRUE
|
|
BOOL bGGain; // e.g. TRUE
|
|
BOOL bBGain; // e.g. TRUE
|
|
BOOL bGlobShutter; // e.g. TRUE
|
|
WORD wPixelSize; // e.g. 465 = 4.65 um
|
|
char nUpperLeftBayerPixel; // e.g. BAYER_PIXEL_RED (value = 0)
|
|
char Reserved[13]; // not used
|
|
} SENSORINFO, *PSENSORINFO;
|
|
|
|
|
|
typedef enum _BAYER_PIXEL
|
|
{
|
|
BAYER_PIXEL_RED = 0,
|
|
BAYER_PIXEL_GREEN = 1,
|
|
BAYER_PIXEL_BLUE = 2
|
|
|
|
} BAYER_PIXEL;
|
|
|
|
|
|
typedef struct _REVISIONINFO
|
|
{
|
|
WORD size; // 2
|
|
WORD Sensor; // 2
|
|
WORD Cypress; // 2
|
|
DWORD Blackfin; // 4
|
|
WORD DspFirmware; // 2
|
|
// --12
|
|
WORD USB_Board; // 2
|
|
WORD Sensor_Board; // 2
|
|
WORD Processing_Board; // 2
|
|
WORD Memory_Board; // 2
|
|
WORD Housing; // 2
|
|
WORD Filter; // 2
|
|
WORD Timing_Board; // 2
|
|
WORD Product; // 2
|
|
WORD Power_Board; // 2
|
|
WORD Logic_Board; // 2
|
|
WORD FX3; // 2
|
|
WORD FPGA; // 2
|
|
DWORD HardwareConfig; // 4
|
|
// --40
|
|
BYTE reserved[88]; // --128
|
|
} REVISIONINFO, *PREVISIONINFO;
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Capture status
|
|
// ----------------------------------------------------------------------------
|
|
typedef enum _UEYE_CAPTURE_STATUS
|
|
{
|
|
IS_CAP_STATUS_API_NO_DEST_MEM = 0xa2,
|
|
IS_CAP_STATUS_API_CONVERSION_FAILED = 0xa3,
|
|
IS_CAP_STATUS_API_IMAGE_LOCKED = 0xa5,
|
|
|
|
IS_CAP_STATUS_DRV_OUT_OF_BUFFERS = 0xb2,
|
|
IS_CAP_STATUS_DRV_DEVICE_NOT_READY = 0xb4,
|
|
|
|
IS_CAP_STATUS_USB_TRANSFER_FAILED = 0xc7,
|
|
|
|
IS_CAP_STATUS_DEV_MISSED_IMAGES = 0xe5,
|
|
IS_CAP_STATUS_DEV_TIMEOUT = 0xd6,
|
|
IS_CAP_STATUS_DEV_FRAME_CAPTURE_FAILED = 0xd9,
|
|
|
|
IS_CAP_STATUS_ETH_BUFFER_OVERRUN = 0xe4,
|
|
IS_CAP_STATUS_ETH_MISSED_IMAGES = 0xe5
|
|
|
|
} UEYE_CAPTURE_STATUS;
|
|
|
|
|
|
typedef struct _UEYE_CAPTURE_STATUS_INFO
|
|
{
|
|
DWORD dwCapStatusCnt_Total;
|
|
BYTE reserved[60];
|
|
DWORD adwCapStatusCnt_Detail[256]; // access via UEYE_CAPTURE_STATUS
|
|
|
|
} UEYE_CAPTURE_STATUS_INFO;
|
|
|
|
|
|
typedef enum E_CAPTURE_STATUS_CMD
|
|
{
|
|
IS_CAPTURE_STATUS_INFO_CMD_RESET = 1,
|
|
IS_CAPTURE_STATUS_INFO_CMD_GET = 2,
|
|
IS_CAPTURE_STATUS_CRC_ERROR_COUNT_GET = 3
|
|
|
|
} CAPTURE_STATUS_CMD;
|
|
|
|
|
|
IDSEXP is_CaptureStatus(HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
#ifndef UEYE_CAMERA_INFO_STRUCT
|
|
#define UEYE_CAMERA_INFO_STRUCT
|
|
typedef struct _UEYE_CAMERA_INFO
|
|
{
|
|
DWORD dwCameraID; /*<! \brief this is the user definable camera ID */
|
|
DWORD dwDeviceID; /*<! \brief this is the systems enumeration ID */
|
|
DWORD dwSensorID; /*<! \brief this is the sensor ID e.g. IS_SENSOR_UI141X_M */
|
|
DWORD dwInUse; /*<! \brief flag, indicates whether the camera is in use or not */
|
|
IS_CHAR SerNo[16]; /*<! \brief zero terminated serial number string */
|
|
IS_CHAR Model[16]; /*<! \brief zero terminated short model name string */
|
|
DWORD dwStatus; /*<! \brief various flags with camera status */
|
|
DWORD dwReserved[2]; /*<! \brief reserved */
|
|
IS_CHAR FullModelName[32]; /*<! \brief zero terminated full model name string,
|
|
\note Use this string for display purpose only!
|
|
Do not depend on the contents of this string! */
|
|
DWORD dwReserved2[5]; /*<! \brief reserved */
|
|
}UEYE_CAMERA_INFO, *PUEYE_CAMERA_INFO;
|
|
#endif //UEYE_CAMERA_INFO_STRUCT
|
|
|
|
// usage of the list:
|
|
// 1. call the DLL with .dwCount = 0
|
|
// 2. DLL returns .dwCount = N (N = number of available cameras)
|
|
// 3. call DLL with .dwCount = N and a pointer to UEYE_CAMERA_LIST with
|
|
// and array of UEYE_CAMERA_INFO[N]
|
|
// 4. DLL will fill in the array with the camera infos and
|
|
// will update the .dwCount member with the actual number of cameras
|
|
// because there may be a change in number of cameras between step 2 and 3
|
|
// 5. check if there's a difference in actual .dwCount and formerly
|
|
// reported value of N and call DLL again with an updated array size
|
|
#ifndef UEYE_CAMERA_LIST_STRUCT
|
|
#define UEYE_CAMERA_LIST_STRUCT
|
|
typedef struct _UEYE_CAMERA_LIST
|
|
{
|
|
ULONG dwCount;
|
|
UEYE_CAMERA_INFO uci[1];
|
|
}UEYE_CAMERA_LIST, *PUEYE_CAMERA_LIST;
|
|
#endif //UEYE_CAMERA_LIST_STRUCT
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// the following defines are the status bits of the dwStatus member of
|
|
// the UEYE_CAMERA_INFO structure
|
|
#define FIRMWARE_DOWNLOAD_NOT_SUPPORTED 0x00000001
|
|
#define INTERFACE_SPEED_NOT_SUPPORTED 0x00000002
|
|
#define INVALID_SENSOR_DETECTED 0x00000004
|
|
#define AUTHORIZATION_FAILED 0x00000008
|
|
#define DEVSTS_INCLUDED_STARTER_FIRMWARE_INCOMPATIBLE 0x00000010
|
|
|
|
// the following macro determines the availability of the camera based
|
|
// on the status flags
|
|
#define IS_CAMERA_AVAILABLE(_s_) ( (((_s_) & FIRMWARE_DOWNLOAD_NOT_SUPPORTED) == 0) && \
|
|
(((_s_) & INTERFACE_SPEED_NOT_SUPPORTED) == 0) && \
|
|
(((_s_) & INVALID_SENSOR_DETECTED) == 0) && \
|
|
(((_s_) & AUTHORIZATION_FAILED) == 0) )
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Auto feature structs and definitions
|
|
// ----------------------------------------------------------------------------
|
|
#define AC_SHUTTER 0x00000001
|
|
#define AC_GAIN 0x00000002
|
|
#define AC_WHITEBAL 0x00000004
|
|
#define AC_WB_RED_CHANNEL 0x00000008
|
|
#define AC_WB_GREEN_CHANNEL 0x00000010
|
|
#define AC_WB_BLUE_CHANNEL 0x00000020
|
|
#define AC_FRAMERATE 0x00000040
|
|
#define AC_SENSOR_SHUTTER 0x00000080
|
|
#define AC_SENSOR_GAIN 0x00000100
|
|
#define AC_SENSOR_GAIN_SHUTTER 0x00000200
|
|
#define AC_SENSOR_FRAMERATE 0x00000400
|
|
#define AC_SENSOR_WB 0x00000800
|
|
#define AC_SENSOR_AUTO_REFERENCE 0x00001000
|
|
#define AC_SENSOR_AUTO_SPEED 0x00002000
|
|
#define AC_SENSOR_AUTO_HYSTERESIS 0x00004000
|
|
#define AC_SENSOR_AUTO_SKIPFRAMES 0x00008000
|
|
#define AC_SENSOR_AUTO_CONTRAST_CORRECTION 0x00010000
|
|
#define AC_SENSOR_AUTO_CONTRAST_FDT_AOI 0x00020000
|
|
#define AC_SENSOR_AUTO_BACKLIGHT_COMP 0x00040000
|
|
|
|
#define ACS_ADJUSTING 0x00000001
|
|
#define ACS_FINISHED 0x00000002
|
|
#define ACS_DISABLED 0x00000004
|
|
|
|
|
|
typedef struct _AUTO_BRIGHT_STATUS
|
|
{
|
|
DWORD curValue; // current average greylevel
|
|
long curError; // current auto brightness error
|
|
DWORD curController; // current active brightness controller -> AC_x
|
|
DWORD curCtrlStatus; // current control status -> ACS_x
|
|
} AUTO_BRIGHT_STATUS, *PAUTO_BRIGHT_STATUS;
|
|
|
|
|
|
|
|
typedef struct _AUTO_WB_CHANNNEL_STATUS
|
|
{
|
|
DWORD curValue; // current average greylevel
|
|
long curError; // current auto wb error
|
|
DWORD curCtrlStatus; // current control status -> ACS_x
|
|
} AUTO_WB_CHANNNEL_STATUS, *PAUTO_WB_CHANNNEL_STATUS;
|
|
|
|
typedef struct _AUTO_WB_STATUS
|
|
{
|
|
AUTO_WB_CHANNNEL_STATUS RedChannel;
|
|
AUTO_WB_CHANNNEL_STATUS GreenChannel;
|
|
AUTO_WB_CHANNNEL_STATUS BlueChannel;
|
|
DWORD curController; // current active wb controller -> AC_x
|
|
} AUTO_WB_STATUS, *PAUTO_WB_STATUS;
|
|
|
|
// auto shutter photometry capabilities
|
|
typedef enum E_AUTO_SHUTTER_PHOTOM
|
|
{
|
|
AS_PM_NONE = 0,
|
|
AS_PM_SENS_CENTER_WEIGHTED = 0x00000001, // sensor auto shutter: center weighted
|
|
AS_PM_SENS_CENTER_SPOT = 0x00000002, // sensor auto shutter: center spot
|
|
AS_PM_SENS_PORTRAIT = 0x00000004, // sensor auto shutter: portrait
|
|
AS_PM_SENS_LANDSCAPE = 0x00000008, // sensor auto shutter: landscape
|
|
AS_PM_SENS_CENTER_AVERAGE = 0x00000010 // sensor auto shutter: center average
|
|
|
|
}AUTO_SHUTTER_PHOTOM;
|
|
|
|
// auto gain photometry capabilities
|
|
typedef enum E_AUTO_GAIN_PHOTOM
|
|
{
|
|
AG_PM_NONE = 0,
|
|
AG_PM_SENS_CENTER_WEIGHTED = 0x00000001, // sensor auto gain: center weighted
|
|
AG_PM_SENS_CENTER_SPOT = 0x00000002, // sensor auto gain: center spot
|
|
AG_PM_SENS_PORTRAIT = 0x00000004, // sensor auto gain: portrait
|
|
AG_PM_SENS_LANDSCAPE = 0x00000008 // sensor auto gain: landscape
|
|
}AUTO_GAIN_PHOTOM;
|
|
|
|
// anti flicker modes
|
|
typedef enum E_ANTI_FLICKER_MODE
|
|
{
|
|
ANTIFLCK_MODE_OFF = 0,
|
|
ANTIFLCK_MODE_SENS_AUTO = 0x00000001,
|
|
ANTIFLCK_MODE_SENS_50_FIXED = 0x00000002,
|
|
ANTIFLCK_MODE_SENS_60_FIXED = 0x00000004
|
|
}ANTI_FLICKER_MODE;
|
|
|
|
// whitebalance modes
|
|
typedef enum E_WHITEBALANCE_MODE
|
|
{
|
|
WB_MODE_DISABLE = 0,
|
|
WB_MODE_AUTO = 0x00000001,
|
|
WB_MODE_ALL_PULLIN = 0x00000002,
|
|
WB_MODE_INCANDESCENT_LAMP = 0x00000004,
|
|
WB_MODE_FLUORESCENT_DL = 0x00000008,
|
|
WB_MODE_OUTDOOR_CLEAR_SKY = 0x00000010,
|
|
WB_MODE_OUTDOOR_CLOUDY = 0x00000020,
|
|
WB_MODE_FLUORESCENT_LAMP = 0x00000040,
|
|
WB_MODE_FLUORESCENT_NL = 0x00000080
|
|
|
|
}WHITEBALANCE_MODE;
|
|
|
|
typedef struct _UEYE_AUTO_INFO
|
|
{
|
|
DWORD AutoAbility; // auto control ability
|
|
AUTO_BRIGHT_STATUS sBrightCtrlStatus; // brightness auto control status
|
|
AUTO_WB_STATUS sWBCtrlStatus; // white balance auto control status
|
|
DWORD AShutterPhotomCaps; // auto shutter photometry capabilities(AUTO_SHUTTER_PHOTOM)
|
|
DWORD AGainPhotomCaps; // auto gain photometry capabilities (AUTO_GAIN_PHOTOM)
|
|
DWORD AAntiFlickerCaps; // auto anti-flicker capabilities
|
|
DWORD SensorWBModeCaps; // white balance mode capabilities
|
|
DWORD reserved[8];
|
|
} UEYE_AUTO_INFO, *PUEYE_AUTO_INFO;
|
|
|
|
typedef struct _DC_INFO
|
|
{
|
|
unsigned int nSize; // size of this structure (16 bytes)
|
|
HDC hDC; // handle to a DC
|
|
unsigned int nCx; // destination width to use for rendering
|
|
unsigned int nCy; // destination height to use for rendering
|
|
}DC_INFO, *PDC_INFO;
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// function exports
|
|
// ----------------------------------------------------------------------------
|
|
#ifdef __LINUX__
|
|
IDSEXP is_WaitEvent (HIDS hCam, INT which, INT nTimeout);
|
|
#endif
|
|
|
|
|
|
IDSEXP is_SetSaturation (HIDS hCam, INT ChromU, INT ChromV);
|
|
IDSEXP is_PrepareStealVideo (HIDS hCam, int Mode, ULONG StealColorMode);
|
|
IDSEXP is_GetNumberOfDevices (void);
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// common function
|
|
// ----------------------------------------------------------------------------
|
|
IDSEXP is_StopLiveVideo (HIDS hCam, INT Wait);
|
|
IDSEXP is_FreezeVideo (HIDS hCam, INT Wait);
|
|
IDSEXP is_CaptureVideo (HIDS hCam, INT Wait);
|
|
IDSEXP is_IsVideoFinish (HIDS hCam, INT* pValue);
|
|
IDSEXP is_HasVideoStarted (HIDS hCam, BOOL* pbo);
|
|
|
|
IDSEXP is_AllocImageMem (HIDS hCam, INT width, INT height, INT bitspixel, char** ppcImgMem, int* pid);
|
|
IDSEXP is_SetImageMem (HIDS hCam, char* pcMem, int id);
|
|
IDSEXP is_FreeImageMem (HIDS hCam, char* pcMem, int id);
|
|
IDSEXP is_GetImageMem (HIDS hCam, VOID** pMem);
|
|
IDSEXP is_GetActiveImageMem (HIDS hCam, char** ppcMem, int* pnID);
|
|
IDSEXP is_InquireImageMem (HIDS hCam, char* pcMem, int nID, int* pnX, int* pnY, int* pnBits, int* pnPitch);
|
|
IDSEXP is_GetImageMemPitch (HIDS hCam, INT* pPitch);
|
|
|
|
IDSEXP is_SetAllocatedImageMem (HIDS hCam, INT width, INT height, INT bitspixel, char* pcImgMem, int* pid);
|
|
IDSEXP is_CopyImageMem (HIDS hCam, char* pcSource, int nID, char* pcDest);
|
|
IDSEXP is_CopyImageMemLines (HIDS hCam, char* pcSource, int nID, int nLines, char* pcDest);
|
|
|
|
IDSEXP is_AddToSequence (HIDS hCam, char* pcMem, INT nID);
|
|
IDSEXP is_ClearSequence (HIDS hCam);
|
|
IDSEXP is_GetActSeqBuf (HIDS hCam, INT* pnNum, char** ppcMem, char** ppcMemLast);
|
|
IDSEXP is_LockSeqBuf (HIDS hCam, INT nNum, char* pcMem);
|
|
IDSEXP is_UnlockSeqBuf (HIDS hCam, INT nNum, char* pcMem);
|
|
|
|
IDSEXP is_GetError (HIDS hCam, INT* pErr, IS_CHAR** ppcErr);
|
|
IDSEXP is_SetErrorReport (HIDS hCam, INT Mode);
|
|
|
|
IDSEXP is_SetColorMode (HIDS hCam, INT Mode);
|
|
IDSEXP is_GetColorDepth (HIDS hCam, INT* pnCol, INT* pnColMode);
|
|
|
|
// Bitmap display function
|
|
IDSEXP is_RenderBitmap (HIDS hCam, INT nMemID, HWND hwnd, INT nMode);
|
|
|
|
IDSEXP is_SetDisplayMode (HIDS hCam, INT Mode);
|
|
IDSEXP is_SetDisplayPos (HIDS hCam, INT x, INT y);
|
|
|
|
IDSEXP is_SetHwnd (HIDS hCam, HWND hwnd);
|
|
|
|
IDSEXP is_GetVsyncCount (HIDS hCam, long* pIntr, long* pActIntr);
|
|
|
|
// Version information
|
|
IDSEXP is_GetDLLVersion (void);
|
|
|
|
IDSEXP is_InitEvent (HIDS hCam, HANDLE hEv, INT which);
|
|
IDSEXP is_ExitEvent (HIDS hCam, INT which);
|
|
IDSEXP is_EnableEvent (HIDS hCam, INT which);
|
|
IDSEXP is_DisableEvent (HIDS hCam, INT which);
|
|
|
|
IDSEXP is_SetExternalTrigger (HIDS hCam, INT nTriggerMode);
|
|
IDSEXPDEP is_SetTriggerCounter (HIDS hCam, INT nValue);
|
|
IDSEXP is_SetRopEffect (HIDS hCam, INT effect, INT param, INT reserved);
|
|
|
|
|
|
// Camera functions
|
|
IDSEXP is_InitCamera (HIDS* phCam, HWND hWnd);
|
|
IDSEXP is_ExitCamera (HIDS hCam);
|
|
IDSEXP is_GetCameraInfo (HIDS hCam, PCAMINFO pInfo);
|
|
IDSEXPUL is_CameraStatus (HIDS hCam, INT nInfo, ULONG ulValue);
|
|
IDSEXP is_GetCameraType (HIDS hCam);
|
|
IDSEXP is_GetNumberOfCameras (INT* pnNumCams);
|
|
|
|
IDSEXP is_GetUsedBandwidth (HIDS hCam);
|
|
|
|
// Set/Get Frame rate
|
|
IDSEXP is_GetFrameTimeRange (HIDS hCam, double *min, double *max, double *intervall);
|
|
IDSEXP is_SetFrameRate (HIDS hCam, double FPS, double* newFPS);
|
|
|
|
// Get frames per second
|
|
IDSEXP is_GetFramesPerSecond (HIDS hCam, double *dblFPS);
|
|
|
|
// Get Sensor info
|
|
IDSEXP is_GetSensorInfo (HIDS hCam, PSENSORINFO pInfo);
|
|
|
|
// Get RevisionInfo
|
|
IDSEXP is_GetRevisionInfo (HIDS hCam, PREVISIONINFO prevInfo);
|
|
|
|
// enable/disable AutoExit after device remove
|
|
IDSEXP is_EnableAutoExit (HIDS hCam, INT nMode);
|
|
|
|
// Message
|
|
IDSEXP is_EnableMessage (HIDS hCam, INT which, HWND hWnd);
|
|
|
|
// hardware gain settings
|
|
IDSEXP is_SetHardwareGain (HIDS hCam, INT nMaster, INT nRed, INT nGreen, INT nBlue);
|
|
|
|
// enable/disable WhiteBalance
|
|
IDSEXP is_SetWhiteBalance (HIDS hCam, INT nMode);
|
|
IDSEXP is_SetWhiteBalanceMultipliers (HIDS hCam, double dblRed, double dblGreen, double dblBlue);
|
|
IDSEXP is_GetWhiteBalanceMultipliers (HIDS hCam, double *pdblRed, double *pdblGreen, double *pdblBlue);
|
|
|
|
// Sensor features
|
|
IDSEXP is_SetColorCorrection (HIDS hCam, INT nEnable, double *factors);
|
|
|
|
IDSEXP is_SetSubSampling (HIDS hCam, INT mode);
|
|
IDSEXP is_ForceTrigger (HIDS hCam);
|
|
|
|
// new with driver version 1.12.0006
|
|
IDSEXP is_GetBusSpeed (HIDS hCam);
|
|
|
|
// new with driver version 1.12.0015
|
|
IDSEXP is_SetBinning (HIDS hCam, INT mode);
|
|
|
|
// new with driver version 1.12.0017
|
|
IDSEXP is_ResetToDefault (HIDS hCam);
|
|
|
|
// new with driver version 1.14.0008
|
|
IDSEXP is_SetCameraID (HIDS hCam, INT nID);
|
|
IDSEXP is_SetBayerConversion (HIDS hCam, INT nMode);
|
|
|
|
// new with driver version 1.14.0009
|
|
IDSEXP is_SetHardwareGamma (HIDS hCam, INT nMode);
|
|
|
|
// new with driver version 2.00.0001
|
|
IDSEXP is_GetCameraList (PUEYE_CAMERA_LIST pucl);
|
|
|
|
// new with driver version 2.00.0011
|
|
IDSEXP is_SetAutoParameter (HIDS hCam, INT param, double *pval1, double *pval2);
|
|
IDSEXP is_GetAutoInfo (HIDS hCam, UEYE_AUTO_INFO *pInfo);
|
|
|
|
IDSEXP is_GetImageHistogram (HIDS hCam, int nID, INT ColorMode, DWORD* pHistoMem);
|
|
IDSEXP is_SetTriggerDelay (HIDS hCam, INT nTriggerDelay);
|
|
|
|
// new with driver version 2.21.0000
|
|
IDSEXP is_SetGainBoost (HIDS hCam, INT mode);
|
|
|
|
IDSEXPDEP is_SetGlobalShutter (HIDS hCam, INT mode);
|
|
IDSEXP is_SetExtendedRegister (HIDS hCam, INT index,WORD value);
|
|
IDSEXP is_GetExtendedRegister (HIDS hCam, INT index, WORD *pwValue);
|
|
|
|
// new with driver version 2.22.0002
|
|
IDSEXP is_SetHWGainFactor (HIDS hCam, INT nMode, INT nFactor);
|
|
|
|
// camera renumeration
|
|
IDSEXP is_Renumerate (HIDS hCam, INT nMode);
|
|
|
|
// Read / Write I2C
|
|
IDSEXP is_WriteI2C (HIDS hCam, INT nDeviceAddr, INT nRegisterAddr, BYTE* pbData, INT nLen);
|
|
IDSEXP is_ReadI2C (HIDS hCam, INT nDeviceAddr, INT nRegisterAddr, BYTE* pbData, INT nLen);
|
|
|
|
|
|
// new with driver version 3.10.0000
|
|
typedef struct _KNEEPOINT
|
|
{
|
|
double x;
|
|
double y;
|
|
} KNEEPOINT, *PKNEEPOINT;
|
|
|
|
|
|
typedef struct _KNEEPOINTARRAY
|
|
{
|
|
INT NumberOfUsedKneepoints;
|
|
KNEEPOINT Kneepoint[10];
|
|
} KNEEPOINTARRAY, *PKNEEPOINTARRAY;
|
|
|
|
|
|
typedef struct _KNEEPOINTINFO
|
|
{
|
|
INT NumberOfSupportedKneepoints;
|
|
INT NumberOfUsedKneepoints;
|
|
double MinValueX;
|
|
double MaxValueX;
|
|
double MinValueY;
|
|
double MaxValueY;
|
|
KNEEPOINT DefaultKneepoint[10];
|
|
INT Reserved[10];
|
|
} KNEEPOINTINFO, *PKNEEPOINTINFO;
|
|
|
|
|
|
// HDR functions
|
|
IDSEXP is_GetHdrMode (HIDS hCam, INT *Mode);
|
|
IDSEXP is_EnableHdr (HIDS hCam, INT Enable);
|
|
IDSEXP is_SetHdrKneepoints (HIDS hCam, KNEEPOINTARRAY *KneepointArray, INT KneepointArraySize);
|
|
IDSEXP is_GetHdrKneepoints (HIDS hCam, KNEEPOINTARRAY *KneepointArray, INT KneepointArraySize);
|
|
IDSEXP is_GetHdrKneepointInfo (HIDS hCam, KNEEPOINTINFO *KneepointInfo, INT KneepointInfoSize);
|
|
|
|
IDSEXP is_SetOptimalCameraTiming (HIDS hCam, INT Mode, INT Timeout, INT *pMaxPxlClk, double *pMaxFrameRate);
|
|
|
|
IDSEXP is_GetSupportedTestImages (HIDS hCam, INT *SupportedTestImages);
|
|
IDSEXP is_GetTestImageValueRange (HIDS hCam, INT TestImage, INT *TestImageValueMin, INT *TestImageValueMax);
|
|
IDSEXP is_SetSensorTestImage (HIDS hCam, INT Param1, INT Param2);
|
|
|
|
IDSEXP is_GetColorConverter (HIDS hCam, INT ColorMode, INT *pCurrentConvertMode, INT *pDefaultConvertMode, INT *pSupportedConvertModes);
|
|
IDSEXP is_SetColorConverter (HIDS hCam, INT ColorMode, INT ConvertMode);
|
|
|
|
IDSEXP is_WaitForNextImage (HIDS hCam, UINT timeout, char **ppcMem, INT *imageID);
|
|
IDSEXP is_InitImageQueue (HIDS hCam, INT nMode);
|
|
IDSEXP is_ExitImageQueue (HIDS hCam);
|
|
|
|
IDSEXP is_SetTimeout (HIDS hCam, UINT nMode, UINT Timeout);
|
|
IDSEXP is_GetTimeout (HIDS hCam, UINT nMode, UINT *pTimeout);
|
|
|
|
|
|
typedef enum eUEYE_GET_ESTIMATED_TIME_MODE
|
|
{
|
|
IS_SE_STARTER_FW_UPLOAD = 0x00000001, /*!< get estimated duration of GigE SE starter firmware upload in milliseconds */
|
|
IS_CP_STARTER_FW_UPLOAD = 0x00000002, /*!< get estimated duration of GigE CP starter firmware upload in milliseconds */
|
|
IS_STARTER_FW_UPLOAD = 0x00000004 /*!< get estimated duration of starter firmware upload in milliseconds using hCam to */
|
|
} UEYE_GET_ESTIMATED_TIME_MODE;
|
|
|
|
|
|
IDSEXP is_GetDuration (HIDS hCam, UINT nMode, INT* pnTime);
|
|
|
|
|
|
// new with driver version 3.40.0000
|
|
typedef struct _SENSORSCALERINFO
|
|
{
|
|
INT nCurrMode;
|
|
INT nNumberOfSteps;
|
|
double dblFactorIncrement;
|
|
double dblMinFactor;
|
|
double dblMaxFactor;
|
|
double dblCurrFactor;
|
|
INT nSupportedModes;
|
|
BYTE bReserved[84];
|
|
} SENSORSCALERINFO;
|
|
|
|
|
|
IDSEXP is_GetSensorScalerInfo (HIDS hCam, SENSORSCALERINFO *pSensorScalerInfo, INT nSensorScalerInfoSize);
|
|
IDSEXP is_SetSensorScaler (HIDS hCam, UINT nMode, double dblFactor);
|
|
|
|
typedef struct _UEYETIME
|
|
{
|
|
WORD wYear;
|
|
WORD wMonth;
|
|
WORD wDay;
|
|
WORD wHour;
|
|
WORD wMinute;
|
|
WORD wSecond;
|
|
WORD wMilliseconds;
|
|
BYTE byReserved[10];
|
|
} UEYETIME;
|
|
|
|
|
|
typedef struct _UEYEIMAGEINFO
|
|
{
|
|
DWORD dwFlags;
|
|
BYTE byReserved1[4];
|
|
UINT64 u64TimestampDevice;
|
|
UEYETIME TimestampSystem;
|
|
DWORD dwIoStatus;
|
|
WORD wAOIIndex;
|
|
WORD wAOICycle;
|
|
UINT64 u64FrameNumber;
|
|
DWORD dwImageBuffers;
|
|
DWORD dwImageBuffersInUse;
|
|
DWORD dwReserved3;
|
|
DWORD dwImageHeight;
|
|
DWORD dwImageWidth;
|
|
DWORD dwHostProcessTime; /* Time spend processing this image in micro seconds */
|
|
BYTE bySequencerIndex;
|
|
DWORD dwFocusValue;
|
|
BOOL bFocusing;
|
|
} UEYEIMAGEINFO;
|
|
|
|
|
|
IDSEXP is_GetImageInfo (HIDS hCam, INT nImageBufferID, UEYEIMAGEINFO *pImageInfo, INT nImageInfoSize);
|
|
|
|
|
|
// New functions and defines for 3.52 (uEye XS)
|
|
IDSEXP is_ImageFormat (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_IMAGE_FORMAT_CMD
|
|
{
|
|
IMGFRMT_CMD_GET_NUM_ENTRIES = 1, /* Get the number of supported image formats.
|
|
pParam hast to be a Pointer to IS_U32. If -1 is reported, the device
|
|
supports continuous AOI settings (maybe with fixed increments) */
|
|
IMGFRMT_CMD_GET_LIST = 2, /* Get a array of IMAGE_FORMAT_ELEMENTs. */
|
|
IMGFRMT_CMD_SET_FORMAT = 3, /* Select a image format */
|
|
IMGFRMT_CMD_GET_ARBITRARY_AOI_SUPPORTED = 4, /* Does the device supports the setting of an arbitrary AOI. */
|
|
IMGFRMT_CMD_GET_FORMAT_INFO = 5 /* Get IMAGE_FORMAT_INFO for a given formatID */
|
|
|
|
} IMAGE_FORMAT_CMD;
|
|
|
|
|
|
typedef enum E_CAPTUREMODE
|
|
{
|
|
|
|
// no trigger
|
|
CAPTMODE_FREERUN = 0x00000001,
|
|
CAPTMODE_SINGLE = 0x00000002,
|
|
|
|
// software trigger modes
|
|
CAPTMODE_TRIGGER_SOFT_SINGLE = 0x00000010,
|
|
CAPTMODE_TRIGGER_SOFT_CONTINUOUS = 0x00000020,
|
|
|
|
// hardware trigger modes
|
|
CAPTMODE_TRIGGER_HW_SINGLE = 0x00000100,
|
|
CAPTMODE_TRIGGER_HW_CONTINUOUS = 0x00000200
|
|
|
|
} CAPTUREMODE;
|
|
|
|
|
|
typedef struct S_IMAGE_FORMAT_INFO
|
|
{
|
|
INT nFormatID; /* Image format ID. */
|
|
UINT nWidth; /* Width. */
|
|
UINT nHeight; /* Height. */
|
|
INT nX0; /* Start position x. */
|
|
INT nY0; /* Start position Y. */
|
|
UINT nSupportedCaptureModes; /* Flag field with supported capture modes for this resolution (Bitmask of
|
|
of CAPTUREMODE enumeration). */
|
|
UINT nBinningMode; /* Binning mode. */
|
|
UINT nSubsamplingMode; /* Subsampling mode. */
|
|
IS_CHAR strFormatName[64]; /* Format name. */
|
|
double dSensorScalerFactor; /* Sensor scaler factor. */
|
|
UINT nReserved[22];
|
|
} IMAGE_FORMAT_INFO;
|
|
|
|
|
|
typedef struct S_IMAGE_FORMAT_LIST
|
|
{
|
|
UINT nSizeOfListEntry; /* Size of one list entry in byte. */
|
|
UINT nNumListElements; /* Number of list entries. */
|
|
UINT nReserved[4]; /* Reserved for future use. */
|
|
IMAGE_FORMAT_INFO FormatInfo[1]; /* First format entry. */
|
|
} IMAGE_FORMAT_LIST;
|
|
|
|
|
|
IDSEXP is_FaceDetection (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_FDT_CAPABILITY_FLAGS
|
|
{
|
|
FDT_CAP_INVALID = 0,
|
|
FDT_CAP_SUPPORTED = 0x00000001, /* Face detection supported. */
|
|
FDT_CAP_SEARCH_ANGLE = 0x00000002, /* Search angle. */
|
|
FDT_CAP_SEARCH_AOI = 0x00000004, /* Search AOI. */
|
|
FDT_CAP_INFO_POSX = 0x00000010, /* Query horizontal position (center) of detected face. */
|
|
FDT_CAP_INFO_POSY = 0x00000020, /* Query vertical position(center) of detected face. */
|
|
FDT_CAP_INFO_WIDTH = 0x00000040, /* Query width of detected face. */
|
|
FDT_CAP_INFO_HEIGHT = 0x00000080, /* Query height of detected face. */
|
|
FDT_CAP_INFO_ANGLE = 0x00000100, /* Query angle of detected face. */
|
|
FDT_CAP_INFO_POSTURE = 0x00000200, /* Query posture of detected face. */
|
|
FDT_CAP_INFO_FACENUMBER = 0x00000400, /* Query number of detected faces. */
|
|
FDT_CAP_INFO_OVL = 0x00000800, /* Overlay: Mark the detected face in the image. */
|
|
FDT_CAP_INFO_NUM_OVL = 0x00001000, /* Overlay: Limit the maximum number of overlays in one image. */
|
|
FDT_CAP_INFO_OVL_LINEWIDTH = 0x00002000 /* Overlay line width. */
|
|
} FDT_CAPABILITY_FLAGS;
|
|
|
|
|
|
typedef struct S_FDT_INFO_EL
|
|
{
|
|
INT nFacePosX; /* Start X position. */
|
|
INT nFacePosY; /* Start Y position. */
|
|
INT nFaceWidth; /* Face width. */
|
|
INT nFaceHeight; /* Face height. */
|
|
INT nAngle; /* Face Angle (0...360° clockwise, 0° at twelve o'clock position. -1: undefined ). */
|
|
UINT nPosture; /* Face posture. */
|
|
UEYETIME TimestampSystem; /* System time stamp (device query time) . */
|
|
UINT64 nReserved; /* Reserved for future use. */
|
|
UINT nReserved2[4]; /* Reserved for future use. */
|
|
|
|
} FDT_INFO_EL;
|
|
|
|
|
|
typedef struct S_FDT_INFO_LIST
|
|
{
|
|
UINT nSizeOfListEntry; /* Size of one list entry in byte(in). */
|
|
UINT nNumDetectedFaces; /* Number of detected faces(out). */
|
|
UINT nNumListElements; /* Number of list elements(in). */
|
|
UINT nReserved[4]; /* reserved for future use(out). */
|
|
FDT_INFO_EL FaceEntry[1]; /* First face entry. */
|
|
} FDT_INFO_LIST;
|
|
|
|
|
|
typedef enum E_FDT_CMD
|
|
{
|
|
FDT_CMD_GET_CAPABILITIES = 0, /* Get the capabilities for face detection. */
|
|
FDT_CMD_SET_DISABLE = 1, /* Disable face detection. */
|
|
FDT_CMD_SET_ENABLE = 2, /* Enable face detection. */
|
|
FDT_CMD_SET_SEARCH_ANGLE = 3, /* Set the search angle. */
|
|
FDT_CMD_GET_SEARCH_ANGLE = 4, /* Get the search angle parameter. */
|
|
FDT_CMD_SET_SEARCH_ANGLE_ENABLE = 5, /* Enable search angle. */
|
|
FDT_CMD_SET_SEARCH_ANGLE_DISABLE = 6, /* Enable search angle. */
|
|
FDT_CMD_GET_SEARCH_ANGLE_ENABLE = 7, /* Get the current setting of search angle enable. */
|
|
FDT_CMD_SET_SEARCH_AOI = 8, /* Set the search AOI. */
|
|
FDT_CMD_GET_SEARCH_AOI = 9, /* Get the search AOI. */
|
|
FDT_CMD_GET_FACE_LIST = 10, /* Get a list with detected faces. */
|
|
FDT_CMD_GET_NUMBER_FACES = 11, /* Get the number of detected faces. */
|
|
FDT_CMD_SET_SUSPEND = 12, /* Keep the face detection result of that moment. */
|
|
FDT_CMD_SET_RESUME = 13, /* Continue with the face detection. */
|
|
FDT_CMD_GET_MAX_NUM_FACES = 14, /* Get the maximum number of faces that can be detected once. */
|
|
FDT_CMD_SET_INFO_MAX_NUM_OVL = 15, /* Set the maximum number of overlays displayed. */
|
|
FDT_CMD_GET_INFO_MAX_NUM_OVL = 16, /* Get the setting 'maximum number of overlays displayed'. */
|
|
FDT_CMD_SET_INFO_OVL_LINE_WIDTH = 17, /* Set the overlay line width. */
|
|
FDT_CMD_GET_INFO_OVL_LINE_WIDTH = 18, /* Get the overlay line width. */
|
|
FDT_CMD_GET_ENABLE = 19, /* Face detection enabled?. */
|
|
FDT_CMD_GET_SUSPEND = 20, /* Face detection suspended?. */
|
|
FDT_CMD_GET_HORIZONTAL_RESOLUTION = 21, /* Horizontal resolution of face detection. */
|
|
FDT_CMD_GET_VERTICAL_RESOLUTION = 22 /* Vertical resolution of face detection. */
|
|
|
|
} FDT_CMD;
|
|
|
|
typedef struct
|
|
{
|
|
INT s32X;
|
|
INT s32Y;
|
|
} IS_POINT_2D;
|
|
|
|
typedef struct
|
|
{
|
|
INT s32Width;
|
|
INT s32Height;
|
|
} IS_SIZE_2D;
|
|
|
|
typedef struct
|
|
{
|
|
INT s32X;
|
|
INT s32Y;
|
|
INT s32Width;
|
|
INT s32Height;
|
|
} IS_RECT;
|
|
|
|
IDSEXP is_Focus (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_FOCUS_CAPABILITY_FLAGS
|
|
{
|
|
FOC_CAP_INVALID = 0,
|
|
FOC_CAP_AUTOFOCUS_SUPPORTED = 0x00000001, /* Auto focus supported. */
|
|
FOC_CAP_MANUAL_SUPPORTED = 0x00000002, /* Manual focus supported. */
|
|
FOC_CAP_GET_DISTANCE = 0x00000004, /* Support for query the distance of the focused object. */
|
|
FOC_CAP_SET_AUTOFOCUS_RANGE = 0x00000008, /* Support for setting focus ranges. */
|
|
FOC_CAP_AUTOFOCUS_FDT_AOI = 0x00000010, /* Use of face detection AOI for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_ZONE = 0x00000020,
|
|
FOC_CAP_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM = 0x00000040, /* Use of sharpness calculation algorithm for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM = 0x00000080, /* Use of peak search algorithm for autofocus once supported. */
|
|
FOC_CAP_AUTOFOCUS_AOI = 0x00000100, /* Use of aoi for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_LIMIT = 0x00000200, /* Use of limit for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_LENS_RESPONSE_TIME = 0x00000400, /* Use of lens response time for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_HYSTERESIS = 0x00000800, /* Use of hysteresis for autofocus supported. */
|
|
FOC_CAP_AUTOFOCUS_CALLBACK = 0x00001000 /* Use of callback for autofocus supported. */
|
|
} FOCUS_CAPABILITY_FLAGS;
|
|
|
|
|
|
typedef enum E_FOCUS_RANGE
|
|
{
|
|
FOC_RANGE_NORMAL = 0x00000001, /* Normal focus range(without Macro). */
|
|
FOC_RANGE_ALLRANGE = 0x00000002, /* Allrange (macro to Infinity). */
|
|
FOC_RANGE_MACRO = 0x00000004 /* Macro (only macro). */
|
|
} FOCUS_RANGE;
|
|
|
|
typedef enum E_FOCUS_STATUS
|
|
{
|
|
FOC_STATUS_UNDEFINED = 0x00000000, /* Initial state when auto focus is active */
|
|
FOC_STATUS_ERROR = 0x00000001, /* Focus error has occurred */
|
|
FOC_STATUS_FOCUSED = 0x00000002, /* Lens has been focused */
|
|
FOC_STATUS_FOCUSING = 0x00000004, /* Lens is being focused */
|
|
FOC_STATUS_TIMEOUT = 0x00000008, /* Focus timout has occurred */
|
|
FOC_STATUS_CANCEL = 0x00000010 /* Focus has been canceled */
|
|
} FOCUS_STATUS;
|
|
|
|
typedef enum E_FOCUS_ZONE_WEIGHT
|
|
{
|
|
FOC_ZONE_WEIGHT_DISABLE = 0,
|
|
FOC_ZONE_WEIGHT_WEAK = 0x0021,
|
|
FOC_ZONE_WEIGHT_MIDDLE = 0x0032,
|
|
FOC_ZONE_WEIGHT_STRONG = 0x0042
|
|
} FOCUS_ZONE_WEIGHT;
|
|
|
|
/*!
|
|
* \brief Enumeration of presets for the focus measurement window
|
|
*/
|
|
typedef enum E_FOCUS_ZONE_AOI_PRESET
|
|
{
|
|
FOC_ZONE_AOI_PRESET_CENTER = 0,
|
|
FOC_ZONE_AOI_PRESET_UPPER_LEFT = 0x0001,
|
|
FOC_ZONE_AOI_PRESET_BOTTOM_LEFT = 0x0002,
|
|
FOC_ZONE_AOI_PRESET_UPPER_RIGHT = 0x0004,
|
|
FOC_ZONE_AOI_PRESET_BOTTOM_RIGHT = 0x0008,
|
|
FOC_ZONE_AOI_PRESET_UPPER_CENTER = 0x0010,
|
|
FOC_ZONE_AOI_PRESET_BOTTOM_CENTER = 0x0020,
|
|
FOC_ZONE_AOI_PRESET_CENTER_LEFT = 0x0040,
|
|
FOC_ZONE_AOI_PRESET_CENTER_RIGHT = 0x0080
|
|
} FOCUS_ZONE_AOI_PRESET;
|
|
|
|
typedef enum E_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM
|
|
{
|
|
AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM_TENENGRAD = 0x01,
|
|
AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM_MEAN_SCORE = 0x02,
|
|
AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM_HISTOGRAM_VARIANCE = 0x04
|
|
} AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM;
|
|
|
|
typedef enum E_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM
|
|
{
|
|
AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM_GOLDEN_RATIO_SEARCH = 0x01,
|
|
AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM_HILL_CLIMBING_SEARCH = 0x02,
|
|
AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM_GLOBAL_SEARCH = 0x04,
|
|
AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM_FULL_SCAN = 0x08
|
|
} AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM;
|
|
|
|
typedef enum E_AUTOFOCUS_AOI_WEIGHT
|
|
{
|
|
AUTOFOCUS_AOI_WEIGHT_MIDDLE = 0x0042
|
|
} AUTOFOCUS_AOI_WEIGHT;
|
|
|
|
typedef struct S_AUTOFOCUS_AOI
|
|
{
|
|
UINT uNumberAOI;
|
|
IS_RECT rcAOI;
|
|
AUTOFOCUS_AOI_WEIGHT eWeight;
|
|
} AUTOFOCUS_AOI;
|
|
|
|
typedef enum E_AUTOFOCUS_AOI_PRESET
|
|
{
|
|
AUTOFOCUS_AOI_PRESET_CENTER = 0x01
|
|
} AUTOFOCUS_AOI_PRESET;
|
|
|
|
typedef struct S_AUTOFOCUS_LIMIT
|
|
{
|
|
INT sMin;
|
|
INT sMax;
|
|
} AUTOFOCUS_LIMIT;
|
|
|
|
typedef void(__cdecl *IS_AUTOFOCUS_CALLBACK_FUNC)(UINT, INT, void*);
|
|
|
|
typedef struct S_AUTOFOCUS_CALLBACK
|
|
{
|
|
IS_AUTOFOCUS_CALLBACK_FUNC pfFunc;
|
|
void* pContext;
|
|
} AUTOFOCUS_CALLBACK;
|
|
|
|
typedef enum E_FOCUS_CMD
|
|
{
|
|
FOC_CMD_GET_CAPABILITIES = 0, /* Get focus capabilities. */
|
|
FOC_CMD_SET_DISABLE_AUTOFOCUS = 1, /* Disable autofocus. */
|
|
FOC_CMD_SET_ENABLE_AUTOFOCUS = 2, /* Enable autofocus. */
|
|
FOC_CMD_GET_AUTOFOCUS_ENABLE = 3, /* Autofocus enabled?. */
|
|
FOC_CMD_SET_AUTOFOCUS_RANGE = 4, /* Preset autofocus range. */
|
|
FOC_CMD_GET_AUTOFOCUS_RANGE = 5, /* Get preset of autofocus range. */
|
|
FOC_CMD_GET_DISTANCE = 6, /* Get distance to focused object. */
|
|
FOC_CMD_SET_MANUAL_FOCUS = 7, /* Set manual focus. */
|
|
FOC_CMD_GET_MANUAL_FOCUS = 8, /* Get the value for manual focus. */
|
|
FOC_CMD_GET_MANUAL_FOCUS_MIN = 9, /* Get the minimum manual focus value. */
|
|
FOC_CMD_GET_MANUAL_FOCUS_MAX = 10, /* Get the maximum manual focus value. */
|
|
FOC_CMD_GET_MANUAL_FOCUS_INC = 11, /* Get the increment of the manual focus value. */
|
|
FOC_CMD_SET_ENABLE_AF_FDT_AOI = 12, /* Enable face detection AOI use for autofocus. */
|
|
FOC_CMD_SET_DISABLE_AF_FDT_AOI = 13, /* Disable face detection AOI use for autofocus */
|
|
FOC_CMD_GET_AF_FDT_AOI_ENABLE = 14, /* Use autofocus FDT AOI? */
|
|
FOC_CMD_SET_ENABLE_AUTOFOCUS_ONCE = 15, /* Enable autofocus once */
|
|
FOC_CMD_GET_AUTOFOCUS_STATUS = 16, /* Get the autofocus status */
|
|
FOC_CMD_SET_AUTOFOCUS_ZONE_AOI = 17, /* Set the focus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_AOI = 18, /* Get the focus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_AOI_DEFAULT = 19, /* Get the default focus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_POS_MIN = 20, /* Get the minimal position of the measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_POS_MAX = 21, /* Get the maximal position of the measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_POS_INC = 22, /* Get the incrementation for the positions of the measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_SIZE_MIN = 23, /* Get the minimal size of the measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_SIZE_MAX = 24, /* Get the maxiaml size of the measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_SIZE_INC = 25, /* Get the incrementation for the size of the measurement window */
|
|
FOC_CMD_SET_AUTOFOCUS_ZONE_WEIGHT = 26, /* Set the weight for the different zones */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_WEIGHT = 27, /* Get the weight for the different zones */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_WEIGHT_COUNT = 28, /* Get the zone count */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_WEIGHT_DEFAULT = 29, /* Get the default weight for the different zones */
|
|
FOC_CMD_SET_AUTOFOCUS_ZONE_AOI_PRESET = 30, /* Set the focus measurement window specified by a preset /see FOCUS_ZONE_AOI_PRESET */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_AOI_PRESET = 31, /* Get the focus measurement window specified by a preset */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_AOI_PRESET_DEFAULT = 32, /* Get the default focus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_ZONE_ARBITRARY_AOI_SUPPORTED = 33, /* Returns if an arbritrary focus measurement window is supported */
|
|
FOC_CMD_SET_MANUAL_FOCUS_RELATIVE = 34, /* Set manual focus relative. */
|
|
FOC_CMD_GET_AUTOFOCUS_SUPPORTED_SHARPNESS_CALCULATION_ALGORITHM = 35, /* Get autofocus supported sharpness calculation algorithm */
|
|
FOC_CMD_SET_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM = 36, /* Set autofocus sharpness calculation algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM = 37, /* Get autofocus sharpness calculation algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_SHARPNESS_CALCULATION_ALGORITHM_DEFAULT = 38, /* Get autofocus default sharpness calculation algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_ONCE_SUPPORTED_PEAK_SEARCH_ALGORITHM = 39, /* Get autofocus once supported peak search algorithm */
|
|
FOC_CMD_SET_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM = 40, /* Set autofocus once peak search algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM = 41, /* Get autofocus once peak search algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_ONCE_PEAK_SEARCH_ALGORITHM_DEFAULT = 42, /* Get autofocus once default peak search algorithm */
|
|
FOC_CMD_GET_AUTOFOCUS_NUMBER_OF_SUPPORTED_AOIS = 43, /* Get autofocus number of supported measurement windows */
|
|
FOC_CMD_SET_AUTOFOCUS_AOI = 44, /* Set autofocus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_AOI = 45, /* Get autofocus measurement window */
|
|
FOC_CMD_GET_AUTOFOCUS_AOI_SIZE_MIN = 47, /* Get the minimal size of the measurement window */
|
|
FOC_CMD_SET_AUTOFOCUS_AOI_PRESET = 48, /* Set the autofocus measurement window specified by a preset */
|
|
FOC_CMD_SET_AUTOFOCUS_LIMIT = 49, /* Set autofocus limit. */
|
|
FOC_CMD_GET_AUTOFOCUS_LIMIT = 50, /* Get autofocus limit. */
|
|
FOC_CMD_GET_AUTOFOCUS_LIMIT_DEFAULT = 51, /* Get autofocus default */
|
|
FOC_CMD_SET_AUTOFOCUS_LENS_RESPONSE_TIME = 52, /* Set autofocus lens response time */
|
|
FOC_CMD_GET_AUTOFOCUS_LENS_RESPONSE_TIME = 53, /* Get autofocus lens reponse time */
|
|
FOC_CMD_GET_AUTOFOCUS_LENS_RESPONSE_TIME_DEFAULT = 54, /* Get autofocus default lens reponse time */
|
|
FOC_CMD_SET_AUTOFOCUS_HYSTERESIS = 55, /* Set autofocus hysteresis */
|
|
FOC_CMD_GET_AUTOFOCUS_HYSTERESIS = 56, /* Get autofocus hysteresis */
|
|
FOC_CMD_GET_AUTOFOCUS_HYSTERESIS_DEFAULT = 57, /* Get autofocus default hysteresis */
|
|
FOC_CMD_SET_AUTOFOCUS_CALLBACK = 58 /* Set autofocus callback */
|
|
|
|
} FOCUS_CMD;
|
|
|
|
|
|
IDSEXP is_ImageStabilization(HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
// image stabilization capability flags
|
|
typedef enum E_IMGSTAB_CAPABILITY_FLAGS
|
|
{
|
|
IMGSTAB_CAP_INVALID = 0,
|
|
IMGSTAB_CAP_IMAGE_STABILIZATION_SUPPORTED = 0x00000001 /* Image stabilization supported. */
|
|
} IMGSTAB_CAPABILITY_FLAGS;
|
|
|
|
|
|
typedef enum E_IMGSTAB_CMD
|
|
{
|
|
IMGSTAB_CMD_GET_CAPABILITIES = 0, /* Get the capabilities for image stabilization. */
|
|
IMGSTAB_CMD_SET_DISABLE = 1, /* Disable image stabilization. */
|
|
IMGSTAB_CMD_SET_ENABLE = 2, /* Enable image stabilization. */
|
|
IMGSTAB_CMD_GET_ENABLE = 3 /* Image stabilization enabled? */
|
|
|
|
} IMGSTAB_CMD;
|
|
|
|
// New functions and defines for 3.61 (uEye XS)
|
|
IDSEXP is_ScenePreset(HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
typedef enum E_SCENE_CMD
|
|
{
|
|
SCENE_CMD_GET_SUPPORTED_PRESETS = 1,/* Get the supported scene presets */
|
|
SCENE_CMD_SET_PRESET = 2,/* Set the scene preset */
|
|
SCENE_CMD_GET_PRESET = 3,/* Get the current sensor scene preset */
|
|
SCENE_CMD_GET_DEFAULT_PRESET = 4 /* Get the default sensor scene preset */
|
|
} SCENE_CMD;
|
|
|
|
|
|
|
|
typedef enum E_SCENE_PRESET
|
|
{
|
|
SCENE_INVALID = 0,
|
|
SCENE_SENSOR_AUTOMATIC = 0x00000001,
|
|
SCENE_SENSOR_PORTRAIT = 0x00000002,
|
|
SCENE_SENSOR_SUNNY = 0x00000004,
|
|
SCENE_SENSOR_ENTERTAINMENT= 0x00000008,
|
|
SCENE_SENSOR_NIGHT = 0x00000010,
|
|
SCENE_SENSOR_SPORTS = 0x00000040,
|
|
SCENE_SENSOR_LANDSCAPE = 0x00000080
|
|
} SCENE_PRESET;
|
|
|
|
|
|
IDSEXP is_Zoom (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
typedef enum E_ZOOM_CMD
|
|
{
|
|
ZOOM_CMD_GET_CAPABILITIES = 0, /* Get the zoom capabilities. */
|
|
ZOOM_CMD_DIGITAL_GET_NUM_LIST_ENTRIES = 1, /* Get the number of list entries. */
|
|
ZOOM_CMD_DIGITAL_GET_LIST = 2, /* Get a list of supported zoom factors. */
|
|
ZOOM_CMD_DIGITAL_SET_VALUE = 3, /* Set the digital zoom factor zoom factors. */
|
|
ZOOM_CMD_DIGITAL_GET_VALUE = 4, /* Get a current digital zoom factor. */
|
|
ZOOM_CMD_DIGITAL_GET_VALUE_RANGE = 5, /* Get the digital zoom factor range. */
|
|
ZOOM_CMD_DIGITAL_GET_VALUE_DEFAULT = 6 /* Get the default digital zoom factor. */
|
|
|
|
} ZOOM_CMD;
|
|
|
|
|
|
typedef enum E_ZOOM_CAPABILITY_FLAGS
|
|
{
|
|
ZOOM_CAP_INVALID = 0,
|
|
ZOOM_CAP_DIGITAL_ZOOM = 0x00001
|
|
} ZOOM_CAPABILITY_FLAGS;
|
|
|
|
|
|
IDSEXP is_Sharpness (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_SHARPNESS_CMD
|
|
{
|
|
SHARPNESS_CMD_GET_CAPABILITIES = 0, /* Get the sharpness capabilities */
|
|
SHARPNESS_CMD_GET_VALUE = 1, /* Get the current sharpness value */
|
|
SHARPNESS_CMD_GET_MIN_VALUE = 2, /* Get the minimum sharpness value */
|
|
SHARPNESS_CMD_GET_MAX_VALUE = 3, /* Get the maximum sharpness value */
|
|
SHARPNESS_CMD_GET_INCREMENT = 4, /* Get the sharpness increment */
|
|
SHARPNESS_CMD_GET_DEFAULT_VALUE = 5, /* Get the default sharpness value */
|
|
SHARPNESS_CMD_SET_VALUE = 6 /* Set the sharpness value */
|
|
|
|
} SHARPNESS_CMD;
|
|
|
|
|
|
typedef enum E_SHARPNESS_CAPABILITY_FLAGS
|
|
{
|
|
SHARPNESS_CAP_INVALID = 0x0000,
|
|
SHARPNESS_CAP_SHARPNESS_SUPPORTED = 0x0001
|
|
|
|
} SHARPNESS_CAPABILITY_FLAGS;
|
|
|
|
|
|
IDSEXP is_Saturation (HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_SATURATION_CMD
|
|
{
|
|
SATURATION_CMD_GET_CAPABILITIES = 0, /* Get the saturation capabilities */
|
|
SATURATION_CMD_GET_VALUE = 1, /* Get the current saturation value */
|
|
SATURATION_CMD_GET_MIN_VALUE = 2, /* Get the minimum saturation value */
|
|
SATURATION_CMD_GET_MAX_VALUE = 3, /* Get the maximum saturation value */
|
|
SATURATION_CMD_GET_INCREMENT = 4, /* Get the saturation increment */
|
|
SATURATION_CMD_GET_DEFAULT_VALUE = 5, /* Get the default saturation value */
|
|
SATURATION_CMD_SET_VALUE = 6 /* Set the saturation value */
|
|
|
|
} SATURATION_CMD;
|
|
|
|
|
|
typedef enum E_SATURATION_CAPABILITY_FLAGS
|
|
{
|
|
SATURATION_CAP_INVALID = 0x0000,
|
|
SATURATION_CAP_SATURATION_SUPPORTED = 0x0001
|
|
|
|
} SATURATION_CAPABILITY_FLAGS;
|
|
|
|
|
|
// Trigger debounce modes
|
|
typedef enum E_TRIGGER_DEBOUNCE_MODE
|
|
{
|
|
TRIGGER_DEBOUNCE_MODE_NONE = 0x0000,
|
|
TRIGGER_DEBOUNCE_MODE_FALLING_EDGE = 0x0001,
|
|
TRIGGER_DEBOUNCE_MODE_RISING_EDGE = 0x0002,
|
|
TRIGGER_DEBOUNCE_MODE_BOTH_EDGES = 0x0004,
|
|
TRIGGER_DEBOUNCE_MODE_AUTOMATIC = 0x0008
|
|
|
|
} TRIGGER_DEBOUNCE_MODE;
|
|
|
|
|
|
// Trigger debounce commands
|
|
typedef enum E_TRIGGER_DEBOUNCE_CMD
|
|
{
|
|
TRIGGER_DEBOUNCE_CMD_SET_MODE = 0, /* Set a new trigger debounce mode */
|
|
TRIGGER_DEBOUNCE_CMD_SET_DELAY_TIME = 1, /* Set a new trigger debounce delay time */
|
|
TRIGGER_DEBOUNCE_CMD_GET_SUPPORTED_MODES = 2, /* Get the supported modes */
|
|
TRIGGER_DEBOUNCE_CMD_GET_MODE = 3, /* Get the current trigger debounce mode */
|
|
TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME = 4, /* Get the current trigger debounce delay time */
|
|
TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_MIN = 5, /* Get the minimum value for the trigger debounce delay time */
|
|
TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_MAX = 6, /* Get the maximum value for the trigger debounce delay time */
|
|
TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_INC = 7, /* Get the increment of the trigger debounce delay time */
|
|
TRIGGER_DEBOUNCE_CMD_GET_MODE_DEFAULT = 8, /* Get the default trigger debounce mode */
|
|
TRIGGER_DEBOUNCE_CMD_GET_DELAY_TIME_DEFAULT = 9 /* Get the default trigger debounce delay time */
|
|
|
|
} TRIGGER_DEBOUNCE_CMD;
|
|
|
|
|
|
IDSEXP is_TriggerDebounce(HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef enum E_RGB_COLOR_MODELS
|
|
{
|
|
RGB_COLOR_MODEL_SRGB_D50 = 0x0001,
|
|
RGB_COLOR_MODEL_SRGB_D65 = 0x0002,
|
|
RGB_COLOR_MODEL_CIE_RGB_E = 0x0004,
|
|
RGB_COLOR_MODEL_ECI_RGB_D50 = 0x0008,
|
|
RGB_COLOR_MODEL_ADOBE_RGB_D65 = 0x0010
|
|
|
|
} RGB_COLOR_MODELS;
|
|
|
|
typedef enum E_LENS_SHADING_MODELS
|
|
{
|
|
LSC_MODEL_AGL = 0x0001,
|
|
LSC_MODEL_TL84 = 0x0002,
|
|
LSC_MODEL_D50 = 0x0004,
|
|
LSC_MODEL_D65 = 0x0008
|
|
|
|
} LENS_SHADING_MODELS;
|
|
|
|
|
|
typedef enum E_COLOR_TEMPERATURE_CMD
|
|
{
|
|
COLOR_TEMPERATURE_CMD_SET_TEMPERATURE = 0, /* Set a new color temperature */
|
|
COLOR_TEMPERATURE_CMD_SET_RGB_COLOR_MODEL = 1, /* Set a new RGB color model */
|
|
COLOR_TEMPERATURE_CMD_GET_SUPPORTED_RGB_COLOR_MODELS = 2, /* Get the supported RGB color models */
|
|
COLOR_TEMPERATURE_CMD_GET_TEMPERATURE = 3, /* Get the current color temperature */
|
|
COLOR_TEMPERATURE_CMD_GET_RGB_COLOR_MODEL = 4, /* Get the current RGB color model */
|
|
COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_MIN = 5, /* Get the minimum value for the color temperature */
|
|
COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_MAX = 6, /* Get the maximum value for the color temperature */
|
|
COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_INC = 7, /* Get the increment of the color temperature */
|
|
COLOR_TEMPERATURE_CMD_GET_TEMPERATURE_DEFAULT = 8, /* Get the default color temperature */
|
|
COLOR_TEMPERATURE_CMD_GET_RGB_COLOR_MODEL_DEFAULT = 9, /* Get the default RGB color model */
|
|
COLOR_TEMPERATURE_CMD_SET_LENS_SHADING_MODEL = 10, /* Set a new lens shading model */
|
|
COLOR_TEMPERATURE_CMD_GET_LENS_SHADING_MODEL = 11, /* Get the current lens shading model */
|
|
COLOR_TEMPERATURE_CMD_GET_LENS_SHADING_MODEL_SUPPORTED = 12, /* Get the supported lens shading models */
|
|
COLOR_TEMPERATURE_CMD_GET_LENS_SHADING_MODEL_DEFAULT = 13 /* Get the default lens shading model */
|
|
|
|
} COLOR_TEMPERATURE_CMD;
|
|
|
|
IDSEXP is_ColorTemperature(HIDS hCam, UINT nCommand, void *pParam, UINT nSizeOfParam);
|
|
|
|
|
|
typedef struct _OPENGL_DISPLAY
|
|
{
|
|
int nWindowID;
|
|
void *pDisplay;
|
|
} OPENGL_DISPLAY;
|
|
|
|
IDSEXP is_DirectRenderer(HIDS hCam, UINT nMode, void *pParam, UINT SizeOfParam);
|
|
|
|
IDSEXP is_HotPixel(HIDS hCam, UINT nMode, void *pParam, UINT SizeOfParam);
|
|
|
|
/*!
|
|
* \brief Parameters of an AOI used in the AOI sequence mode
|
|
*/
|
|
typedef struct
|
|
{
|
|
INT s32AOIIndex;
|
|
INT s32NumberOfCycleRepetitions;
|
|
INT s32X;
|
|
INT s32Y;
|
|
double dblExposure;
|
|
INT s32Gain;
|
|
INT s32BinningMode;
|
|
INT s32SubsamplingMode;
|
|
INT s32DetachImageParameters;
|
|
double dblScalerFactor;
|
|
INT s32InUse;
|
|
BYTE byReserved[60];
|
|
} AOI_SEQUENCE_PARAMS;
|
|
|
|
|
|
IDSEXP is_AOI(HIDS hCam, UINT nCommand, void *pParam, UINT SizeOfParam);
|
|
|
|
/*!
|
|
* \brief Data type for 32-bit unsigned int value ranges.
|
|
*
|
|
* \since uEye SDK 3.80.
|
|
*/
|
|
typedef struct S_RANGE_OF_VALUES_U32
|
|
{
|
|
UINT u32Minimum; /*!< \brief Minimum value. */
|
|
UINT u32Maximum; /*!< \brief Maximum value, not considered Infinite. */
|
|
UINT u32Increment; /*!< \brief Increment value. */
|
|
UINT u32Default; /*!< \brief Default value. */
|
|
UINT u32Infinite; /*!< \brief Infinite code, where applicable. */
|
|
|
|
} RANGE_OF_VALUES_U32;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of transfer engine's capability flags.
|
|
*
|
|
* \sa is_Transfer, TRANSFER_CMD_QUERY_CAPABILITIES.
|
|
*
|
|
* \note to come
|
|
*/
|
|
typedef enum E_TRANSFER_CAPABILITY_FLAGS
|
|
{
|
|
/*!
|
|
* \brief Capability flag: 'Image delay' setting supported.
|
|
*/
|
|
TRANSFER_CAP_IMAGEDELAY = 0x01,
|
|
|
|
/*!
|
|
* \brief Capability flag: 'Packet clock' setting supported.
|
|
*/
|
|
TRANSFER_CAP_PACKETINTERVAL = 0x20,
|
|
|
|
} TRANSFER_CAPABILITY_FLAGS;
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the transfer engine access function.
|
|
*
|
|
* \sa is_Transfer.
|
|
*
|
|
* \note to come
|
|
*/
|
|
typedef enum E_TRANSFER_CMD
|
|
{
|
|
/*!
|
|
* \brief Query the transfer engine capabilities.
|
|
* Type of value: unsigned int bitmask, 32-bit.
|
|
* \sa TRANSFER_CAPABILITY_FLAGS.
|
|
*/
|
|
TRANSFER_CMD_QUERY_CAPABILITIES = 0,
|
|
|
|
/*!
|
|
* \brief Set 'image delay' in us units.
|
|
* Type of value: unsigned int, 32-bit.
|
|
*/
|
|
TRANSFER_CMD_SET_IMAGEDELAY_US = 1000,
|
|
/*!
|
|
* \brief Set 'packet clock' in us units.
|
|
* Type of value: unsigned int, 32-bit.
|
|
*/
|
|
TRANSFER_CMD_SET_PACKETINTERVAL_US = 1005,
|
|
|
|
/*!
|
|
* \brief Get 'image delay' in us units.
|
|
* Type of value: unsigned int, 32-bit.
|
|
*/
|
|
TRANSFER_CMD_GET_IMAGEDELAY_US = 2000,
|
|
/*!
|
|
* \brief Get 'packet clock' in us units.
|
|
* Type of value: unsigned int, 32-bit.
|
|
*/
|
|
TRANSFER_CMD_GET_PACKETINTERVAL_US = 2005,
|
|
|
|
/*!
|
|
* \brief Get range of values for 'image delay'.
|
|
* Type of value: RANGE_OF_VALUES_U32, size of RANGE_OF_VALUES_U32.
|
|
*/
|
|
TRANSFER_CMD_GETRANGE_IMAGEDELAY_US = 3000,
|
|
/*!
|
|
* \brief Get range of values for 'packet clock'.
|
|
* Type of value: RANGE_OF_VALUES_U32, size of RANGE_OF_VALUES_U32.
|
|
*/
|
|
TRANSFER_CMD_GETRANGE_PACKETINTERVAL_US = 3005,
|
|
|
|
/*!
|
|
* \brief Sets Image Destination \see TRANSFER_MODE
|
|
* Type of value: TRANSFER_MODE, size of TRANSFER_MODE.
|
|
*/
|
|
TRANSFER_CMD_SET_IMAGE_DESTINATION = 5000,
|
|
|
|
/*!
|
|
* \brief Retrieves currently set Image Destination \see TRANSFER_MODE
|
|
* Type of value: TRANSFER_MODE, size of TRANSFER_MODE.
|
|
*/
|
|
TRANSFER_CMD_GET_IMAGE_DESTINATION = 5001,
|
|
|
|
/*!
|
|
* \brief Retrieves possible Image Destinations \see TRANSFER_MODE
|
|
* Type of value: TRANSFER_MODE, size of TRANSFER_MODE.
|
|
*/
|
|
TRANSFER_CMD_GET_IMAGE_DESTINATION_CAPABILITIES = 5002
|
|
|
|
} TRANSFER_CMD;
|
|
|
|
|
|
typedef enum E_TRANSFER_TARGET
|
|
{
|
|
IS_TRANSFER_DESTINATION_DEVICE_MEMORY = 1,
|
|
IS_TRANSFER_DESTINATION_USER_MEMORY = 2
|
|
|
|
} TRANSFER_TARGET;
|
|
|
|
|
|
/*!
|
|
* \brief Generic interface to the transfer engine setup.
|
|
*
|
|
* \param hCam valid device handle.
|
|
* \param nCommand code, indicates requested access and accessed value, one from \ref TRANSFER_CMD enumeration.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*
|
|
* \note For 'set' commands: If the resulting transfer engine setup differs from the current state the transfer param
|
|
* is immediately written to the device.
|
|
* \note For 'set' commands: The function forces the value to the next lower catch according to the related increment.
|
|
*/
|
|
IDSEXP is_Transfer(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/**
|
|
* \defgroup IDS_BootBoost IDS Boot Boost
|
|
*/
|
|
/**@{*/
|
|
|
|
/*!
|
|
* \brief Definition of the boot boost id
|
|
*
|
|
* \since uEye SDK 3.90.
|
|
*/
|
|
typedef BYTE IS_BOOTBOOST_ID;
|
|
|
|
#define IS_BOOTBOOST_ID_MIN 1 /*!< \brief minimum valid id */
|
|
#define IS_BOOTBOOST_ID_MAX 254 /*!< \brief maximum valid id */
|
|
#define IS_BOOTBOOST_ID_NONE 0 /*!< \brief special value: no id's */
|
|
#define IS_BOOTBOOST_ID_ALL 255 /*!< \brief special value: all id's */
|
|
|
|
/*! \brief Default wait timeout for the boot boost 'wait operations':
|
|
* \li IS_BOOTBOOST_CMD_ENABLE_AND_WAIT
|
|
* \li IS_BOOTBOOST_CMD_DISABLE_AND_WAIT
|
|
* \li IS_BOOTBOOST_CMD_WAIT
|
|
*
|
|
* \since uEye SDK 4.50.
|
|
*/
|
|
#define IS_BOOTBOOST_DEFAULT_WAIT_TIMEOUT_SEC 60
|
|
|
|
/*!
|
|
* \brief Definition of the boot boost id list object
|
|
*
|
|
* \since uEye SDK 3.90.
|
|
*/
|
|
typedef struct S_IS_BOOTBOOST_IDLIST
|
|
{
|
|
/*! \brief The number of listed elements. */
|
|
DWORD u32NumberOfEntries;
|
|
|
|
/*! \brief The list. */
|
|
IS_BOOTBOOST_ID aList[1];
|
|
|
|
} IS_BOOTBOOST_IDLIST;
|
|
|
|
/*! \brief Size of id list header */
|
|
#define IS_BOOTBOOST_IDLIST_HEADERSIZE (sizeof(DWORD))
|
|
/*! \brief Size of id list element */
|
|
#define IS_BOOTBOOST_IDLIST_ELEMENTSIZE (sizeof(IS_BOOTBOOST_ID))
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the boot boost access function \ref is_BootBoost.
|
|
*/
|
|
typedef enum E_IS_BOOTBOOST_CMD
|
|
{
|
|
/*!
|
|
* \brief Enable BootBoost.
|
|
* Type of data: no data.
|
|
*/
|
|
IS_BOOTBOOST_CMD_ENABLE = 0x00010001,
|
|
|
|
/*!
|
|
* \brief Enable BootBoost and wait until all relevant devices are boot-boosted.
|
|
* Type of data: Optional UINT timeout value in seconds.
|
|
*
|
|
* \since uEye SDK 4.50.
|
|
* \note If the caller does not specify a timeout,
|
|
* the function will default to IS_BOOTBOOST_DEFAULT_WAIT_TIMEOUT_SEC.
|
|
*/
|
|
IS_BOOTBOOST_CMD_ENABLE_AND_WAIT = 0x00010101,
|
|
|
|
/*!
|
|
* \brief Disable BootBoost.
|
|
* Type of data: no data.
|
|
*/
|
|
IS_BOOTBOOST_CMD_DISABLE = 0x00010011,
|
|
|
|
/*!
|
|
* \brief Disable BootBoost and wait until all relevant devices are non-boot-boosted.
|
|
* Type of data: Optional UINT timeout value in seconds.
|
|
*
|
|
* \since uEye SDK 4.50.
|
|
* \note If the caller does not specify a timeout,
|
|
* the function will default to IS_BOOTBOOST_DEFAULT_WAIT_TIMEOUT_SEC.
|
|
*/
|
|
IS_BOOTBOOST_CMD_DISABLE_AND_WAIT = 0x00010111,
|
|
|
|
/*!
|
|
* \brief Wait for all relevant devices to apply the configured boot-boost mode (enabled or disabled).
|
|
* Type of data: Optional UINT timeout value in seconds.
|
|
*
|
|
* \since uEye SDK 4.50.
|
|
* \note If the caller does not specify a timeout,
|
|
* the function will default to IS_BOOTBOOST_DEFAULT_WAIT_TIMEOUT_SEC.
|
|
*/
|
|
IS_BOOTBOOST_CMD_WAIT = 0x00010100,
|
|
|
|
/*!
|
|
* \brief Query enabled state of BootBoost.
|
|
* Type of data: DWORD.
|
|
*/
|
|
IS_BOOTBOOST_CMD_GET_ENABLED = 0x20010021,
|
|
|
|
/*!
|
|
* \brief Add an id to the id list.
|
|
* Type of data: \ref IS_BOOTBOOST_ID.
|
|
*/
|
|
IS_BOOTBOOST_CMD_ADD_ID = 0x10100001,
|
|
|
|
/*!
|
|
* \brief Replace id list.
|
|
* Type of data: \ref IS_BOOTBOOST_IDLIST.
|
|
*/
|
|
IS_BOOTBOOST_CMD_SET_IDLIST = 0x10100005,
|
|
|
|
/*!
|
|
* \brief Remove an id from the id list.
|
|
* Type of data: \ref IS_BOOTBOOST_ID.
|
|
*/
|
|
IS_BOOTBOOST_CMD_REMOVE_ID = 0x10100011,
|
|
|
|
/*!
|
|
* \brief Clear id list.
|
|
* Type of data: no data.
|
|
*/
|
|
IS_BOOTBOOST_CMD_CLEAR_IDLIST = 0x00100015,
|
|
|
|
/*!
|
|
* \brief Query id list.
|
|
* Type of data: \ref IS_BOOTBOOST_IDLIST.
|
|
*/
|
|
IS_BOOTBOOST_CMD_GET_IDLIST = 0x30100021,
|
|
|
|
/*!
|
|
* \brief Query the number of listed id's.
|
|
* Type of data: \ref DWORD.
|
|
*/
|
|
IS_BOOTBOOST_CMD_GET_IDLIST_SIZE = 0x20100022,
|
|
|
|
} IS_BOOTBOOST_CMD;
|
|
|
|
/*!
|
|
* \brief Generic interface to the boot boost functionality.
|
|
*
|
|
* \param hCam currently not used / ignored, passing 0 recommended
|
|
* \param nCommand code, indicates requested access and accessed parameter, one of \ref BOOTBOOST_CMD enumeration.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*
|
|
* \since uEye SDK 3.90.
|
|
*
|
|
* \note For the reason of your application's compatibility to future extensions
|
|
* it is strongly recommended to pass the value 0 for hCam.
|
|
*/
|
|
IDSEXP is_BootBoost(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
/** @} */ // end of group IDS_BootBoost
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the device feature function \ref is_DeviceFeature.
|
|
*/
|
|
typedef enum E_DEVICE_FEATURE_CMD
|
|
{
|
|
IS_DEVICE_FEATURE_CMD_GET_SUPPORTED_FEATURES = 1,
|
|
IS_DEVICE_FEATURE_CMD_SET_LINESCAN_MODE = 2,
|
|
IS_DEVICE_FEATURE_CMD_GET_LINESCAN_MODE = 3,
|
|
IS_DEVICE_FEATURE_CMD_SET_LINESCAN_NUMBER = 4,
|
|
IS_DEVICE_FEATURE_CMD_GET_LINESCAN_NUMBER = 5,
|
|
IS_DEVICE_FEATURE_CMD_SET_SHUTTER_MODE = 6,
|
|
IS_DEVICE_FEATURE_CMD_GET_SHUTTER_MODE = 7,
|
|
IS_DEVICE_FEATURE_CMD_SET_PREFER_XS_HS_MODE = 8,
|
|
IS_DEVICE_FEATURE_CMD_GET_PREFER_XS_HS_MODE = 9,
|
|
IS_DEVICE_FEATURE_CMD_GET_DEFAULT_PREFER_XS_HS_MODE = 10,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_DEFAULT = 11,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE = 12,
|
|
IS_DEVICE_FEATURE_CMD_SET_LOG_MODE = 13,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE_DEFAULT = 14,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE_RANGE = 15,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE = 16,
|
|
IS_DEVICE_FEATURE_CMD_SET_LOG_MODE_MANUAL_VALUE = 17,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN_DEFAULT = 18,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN_RANGE = 19,
|
|
IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN = 20,
|
|
IS_DEVICE_FEATURE_CMD_SET_LOG_MODE_MANUAL_GAIN = 21,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_MODE_DEFAULT = 22,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_MODE = 23,
|
|
IS_DEVICE_FEATURE_CMD_SET_VERTICAL_AOI_MERGE_MODE = 24,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_POSITION_DEFAULT = 25,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_POSITION_RANGE = 26,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_POSITION = 27,
|
|
IS_DEVICE_FEATURE_CMD_SET_VERTICAL_AOI_MERGE_POSITION = 28,
|
|
IS_DEVICE_FEATURE_CMD_GET_FPN_CORRECTION_MODE_DEFAULT = 29,
|
|
IS_DEVICE_FEATURE_CMD_GET_FPN_CORRECTION_MODE = 30,
|
|
IS_DEVICE_FEATURE_CMD_SET_FPN_CORRECTION_MODE = 31,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_SOURCE_GAIN_RANGE = 32,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_SOURCE_GAIN_DEFAULT = 33,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_SOURCE_GAIN = 34,
|
|
IS_DEVICE_FEATURE_CMD_SET_SENSOR_SOURCE_GAIN = 35,
|
|
IS_DEVICE_FEATURE_CMD_GET_BLACK_REFERENCE_MODE_DEFAULT = 36,
|
|
IS_DEVICE_FEATURE_CMD_GET_BLACK_REFERENCE_MODE = 37,
|
|
IS_DEVICE_FEATURE_CMD_SET_BLACK_REFERENCE_MODE = 38,
|
|
IS_DEVICE_FEATURE_CMD_GET_ALLOW_RAW_WITH_LUT = 39,
|
|
IS_DEVICE_FEATURE_CMD_SET_ALLOW_RAW_WITH_LUT = 40,
|
|
IS_DEVICE_FEATURE_CMD_GET_SUPPORTED_SENSOR_BIT_DEPTHS = 41,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_BIT_DEPTH_DEFAULT = 42,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_BIT_DEPTH = 43,
|
|
IS_DEVICE_FEATURE_CMD_SET_SENSOR_BIT_DEPTH = 44,
|
|
IS_DEVICE_FEATURE_CMD_GET_TEMPERATURE = 45,
|
|
IS_DEVICE_FEATURE_CMD_GET_JPEG_COMPRESSION = 46,
|
|
IS_DEVICE_FEATURE_CMD_SET_JPEG_COMPRESSION = 47,
|
|
IS_DEVICE_FEATURE_CMD_GET_JPEG_COMPRESSION_DEFAULT = 48,
|
|
IS_DEVICE_FEATURE_CMD_GET_JPEG_COMPRESSION_RANGE = 49,
|
|
IS_DEVICE_FEATURE_CMD_GET_NOISE_REDUCTION_MODE = 50,
|
|
IS_DEVICE_FEATURE_CMD_SET_NOISE_REDUCTION_MODE = 51,
|
|
IS_DEVICE_FEATURE_CMD_GET_NOISE_REDUCTION_MODE_DEFAULT = 52,
|
|
IS_DEVICE_FEATURE_CMD_GET_TIMESTAMP_CONFIGURATION = 53,
|
|
IS_DEVICE_FEATURE_CMD_SET_TIMESTAMP_CONFIGURATION = 54,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_HEIGHT_DEFAULT = 55,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_HEIGHT_NUMBER = 56,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_HEIGHT_LIST = 57,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_HEIGHT = 58,
|
|
IS_DEVICE_FEATURE_CMD_SET_VERTICAL_AOI_MERGE_HEIGHT = 59,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_ADDITIONAL_POSITION_DEFAULT = 60,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_ADDITIONAL_POSITION_RANGE = 61,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_ADDITIONAL_POSITION = 62,
|
|
IS_DEVICE_FEATURE_CMD_SET_VERTICAL_AOI_MERGE_ADDITIONAL_POSITION = 63,
|
|
IS_DEVICE_FEATURE_CMD_GET_SENSOR_TEMPERATURE_NUMERICAL_VALUE = 64,
|
|
IS_DEVICE_FEATURE_CMD_SET_IMAGE_EFFECT = 65,
|
|
IS_DEVICE_FEATURE_CMD_GET_IMAGE_EFFECT = 66,
|
|
IS_DEVICE_FEATURE_CMD_GET_IMAGE_EFFECT_DEFAULT = 67,
|
|
IS_DEVICE_FEATURE_CMD_GET_EXTENDED_PIXELCLOCK_RANGE_ENABLE_DEFAULT = 68,
|
|
IS_DEVICE_FEATURE_CMD_GET_EXTENDED_PIXELCLOCK_RANGE_ENABLE = 69,
|
|
IS_DEVICE_FEATURE_CMD_SET_EXTENDED_PIXELCLOCK_RANGE_ENABLE = 70,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_SCOPE = 71,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_PARAMS = 72,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_PARAMS = 73,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE_DEFAULT = 74,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE = 75,
|
|
IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_MODE = 76,
|
|
IS_DEVICE_FEATURE_CMD_SET_I2C_TARGET = 77,
|
|
IS_DEVICE_FEATURE_CMD_SET_WIDE_DYNAMIC_RANGE_MODE = 78,
|
|
IS_DEVICE_FEATURE_CMD_GET_WIDE_DYNAMIC_RANGE_MODE = 79,
|
|
IS_DEVICE_FEATURE_CMD_GET_WIDE_DYNAMIC_RANGE_MODE_DEFAULT = 80,
|
|
IS_DEVICE_FEATURE_CMD_GET_SUPPORTED_BLACK_REFERENCE_MODES = 81,
|
|
IS_DEVICE_FEATURE_CMD_SET_LEVEL_CONTROLLED_TRIGGER_INPUT_MODE = 82,
|
|
IS_DEVICE_FEATURE_CMD_GET_LEVEL_CONTROLLED_TRIGGER_INPUT_MODE = 83,
|
|
IS_DEVICE_FEATURE_CMD_GET_LEVEL_CONTROLLED_TRIGGER_INPUT_MODE_DEFAULT = 84,
|
|
IS_DEVICE_FEATURE_CMD_GET_VERTICAL_AOI_MERGE_MODE_SUPPORTED_LINE_MODES = 85,
|
|
IS_DEVICE_FEATURE_CMD_SET_REPEATED_START_CONDITION_I2C = 86,
|
|
IS_DEVICE_FEATURE_CMD_GET_REPEATED_START_CONDITION_I2C = 87,
|
|
IS_DEVICE_FEATURE_CMD_GET_REPEATED_START_CONDITION_I2C_DEFAULT = 88,
|
|
IS_DEVICE_FEATURE_CMD_GET_TEMPERATURE_STATUS = 89,
|
|
IS_DEVICE_FEATURE_CMD_GET_MEMORY_MODE_ENABLE = 90,
|
|
IS_DEVICE_FEATURE_CMD_SET_MEMORY_MODE_ENABLE = 91,
|
|
IS_DEVICE_FEATURE_CMD_GET_MEMORY_MODE_ENABLE_DEFAULT = 92,
|
|
IS_DEVICE_FEATURE_CMD_93 = 93,
|
|
IS_DEVICE_FEATURE_CMD_94 = 94,
|
|
IS_DEVICE_FEATURE_CMD_95 = 95,
|
|
IS_DEVICE_FEATURE_CMD_96 = 96,
|
|
IS_DEVICE_FEATURE_CMD_GET_SUPPORTED_EXTERNAL_INTERFACES = 97,
|
|
IS_DEVICE_FEATURE_CMD_GET_EXTERNAL_INTERFACE = 98,
|
|
IS_DEVICE_FEATURE_CMD_SET_EXTERNAL_INTERFACE = 99,
|
|
IS_DEVICE_FEATURE_CMD_EXTENDED_AWB_LIMITS_GET = 100,
|
|
IS_DEVICE_FEATURE_CMD_EXTENDED_AWB_LIMITS_SET = 101,
|
|
IS_DEVICE_FEATURE_CMD_GET_MEMORY_MODE_ENABLE_SUPPORTED = 102,
|
|
IS_DEVICE_FEATURE_CMD_SET_SPI_TARGET = 103,
|
|
IS_DEVICE_FEATURE_CMD_GET_FPN_CORRECTION_IS_CALIBRATED = 104,
|
|
IS_DEVICE_FEATURE_CMD_SET_FPN_CORRECTION_DATA_LOADING = 105,
|
|
IS_DEVICE_FEATURE_CMD_GET_FPN_CORRECTION_DATA_LOADING = 106,
|
|
IS_DEVICE_FEATURE_CMD_GET_MEMORY_MODE_BUFFER_LIMIT = 107,
|
|
IS_DEVICE_FEATURE_CMD_GET_MEMORY_MODE_BUFFER_LIMIT_DEFAULT = 108,
|
|
IS_DEVICE_FEATURE_CMD_SET_MEMORY_MODE_BUFFER_LIMIT = 109,
|
|
IS_DEVICE_FEATURE_CMD_GET_FPN_CORRECTION_DATA_LOADING_DEFAULT = 110,
|
|
IS_DEVICE_FEATURE_CMD_GET_BLACKLEVEL_OFFSET_CORRECTION = 111,
|
|
IS_DEVICE_FEATURE_CMD_SET_BLACKLEVEL_OFFSET_CORRECTION = 112,
|
|
IS_DEVICE_FEATURE_CMD_GET_ALTERNATIVE_TRIGGER_MODE = 113,
|
|
IS_DEVICE_FEATURE_CMD_SET_ALTERNATIVE_TRIGGER_MODE = 114
|
|
} DEVICE_FEATURE_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of device feature capability flags.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_DEVICE_FEATURE_MODE_CAPS
|
|
{
|
|
IS_DEVICE_FEATURE_CAP_SHUTTER_MODE_ROLLING = 0x00000001,
|
|
IS_DEVICE_FEATURE_CAP_SHUTTER_MODE_GLOBAL = 0x00000002,
|
|
IS_DEVICE_FEATURE_CAP_LINESCAN_MODE_FAST = 0x00000004,
|
|
IS_DEVICE_FEATURE_CAP_LINESCAN_NUMBER = 0x00000008,
|
|
IS_DEVICE_FEATURE_CAP_PREFER_XS_HS_MODE = 0x00000010,
|
|
IS_DEVICE_FEATURE_CAP_LOG_MODE = 0x00000020,
|
|
IS_DEVICE_FEATURE_CAP_SHUTTER_MODE_ROLLING_GLOBAL_START = 0x00000040,
|
|
IS_DEVICE_FEATURE_CAP_SHUTTER_MODE_GLOBAL_ALTERNATIVE_TIMING = 0x00000080,
|
|
IS_DEVICE_FEATURE_CAP_VERTICAL_AOI_MERGE = 0x00000100,
|
|
IS_DEVICE_FEATURE_CAP_FPN_CORRECTION = 0x00000200,
|
|
IS_DEVICE_FEATURE_CAP_SENSOR_SOURCE_GAIN = 0x00000400,
|
|
IS_DEVICE_FEATURE_CAP_BLACK_REFERENCE = 0x00000800,
|
|
IS_DEVICE_FEATURE_CAP_SENSOR_BIT_DEPTH = 0x00001000,
|
|
IS_DEVICE_FEATURE_CAP_TEMPERATURE = 0x00002000,
|
|
IS_DEVICE_FEATURE_CAP_JPEG_COMPRESSION = 0x00004000,
|
|
IS_DEVICE_FEATURE_CAP_NOISE_REDUCTION = 0x00008000,
|
|
IS_DEVICE_FEATURE_CAP_TIMESTAMP_CONFIGURATION = 0x00010000,
|
|
IS_DEVICE_FEATURE_CAP_IMAGE_EFFECT = 0x00020000,
|
|
IS_DEVICE_FEATURE_CAP_EXTENDED_PIXELCLOCK_RANGE = 0x00040000,
|
|
IS_DEVICE_FEATURE_CAP_MULTI_INTEGRATION = 0x00080000,
|
|
IS_DEVICE_FEATURE_CAP_WIDE_DYNAMIC_RANGE = 0x00100000,
|
|
IS_DEVICE_FEATURE_CAP_LEVEL_CONTROLLED_TRIGGER = 0x00200000,
|
|
IS_DEVICE_FEATURE_CAP_REPEATED_START_CONDITION_I2C = 0x00400000,
|
|
IS_DEVICE_FEATURE_CAP_TEMPERATURE_STATUS = 0x00800000,
|
|
IS_DEVICE_FEATURE_CAP_MEMORY_MODE = 0x01000000,
|
|
IS_DEVICE_FEATURE_CAP_SEND_EXTERNAL_INTERFACE_DATA = 0x02000000
|
|
|
|
} DEVICE_FEATURE_MODE_CAPS;
|
|
|
|
/*!
|
|
* \brief Enumeration of temperature states.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_IS_TEMPERATURE_CONTROL_STATUS
|
|
{
|
|
TEMPERATURE_CONTROL_STATUS_NORMAL = 0,
|
|
TEMPERATURE_CONTROL_STATUS_WARNING = 1,
|
|
TEMPERATURE_CONTROL_STATUS_CRITICAL = 2
|
|
|
|
} IS_TEMPERATURE_CONTROL_STATUS;
|
|
|
|
/*!
|
|
* \brief Enumeration of Noise modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_NOISE_REDUCTION_MODES
|
|
{
|
|
IS_NOISE_REDUCTION_OFF = 0,
|
|
IS_NOISE_REDUCTION_ADAPTIVE = 1
|
|
} NOISE_REDUCTION_MODES;
|
|
|
|
/*!
|
|
* \brief Enumeration of Log modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_LOG_MODES
|
|
{
|
|
IS_LOG_MODE_FACTORY_DEFAULT = 0,
|
|
IS_LOG_MODE_OFF = 1,
|
|
IS_LOG_MODE_MANUAL = 2,
|
|
IS_LOG_MODE_AUTO = 3
|
|
|
|
} LOG_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of Vertical AOI merge modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_VERTICAL_AOI_MERGE_MODES
|
|
{
|
|
IS_VERTICAL_AOI_MERGE_MODE_OFF = 0,
|
|
IS_VERTICAL_AOI_MERGE_MODE_FREERUN = 1,
|
|
IS_VERTICAL_AOI_MERGE_MODE_TRIGGERED_SOFTWARE = 2,
|
|
IS_VERTICAL_AOI_MERGE_MODE_TRIGGERED_FALLING_GPIO1 = 3,
|
|
IS_VERTICAL_AOI_MERGE_MODE_TRIGGERED_RISING_GPIO1 = 4,
|
|
IS_VERTICAL_AOI_MERGE_MODE_TRIGGERED_FALLING_GPIO2 = 5,
|
|
IS_VERTICAL_AOI_MERGE_MODE_TRIGGERED_RISING_GPIO2 = 6
|
|
|
|
} VERTICAL_AOI_MERGE_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of supported Vertical AOI merge mode line trigger modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_VERTICAL_AOI_MERGE_MODE_LINE_TRIGGER
|
|
{
|
|
IS_VERTICAL_AOI_MERGE_MODE_LINE_FREERUN = 1,
|
|
IS_VERTICAL_AOI_MERGE_MODE_LINE_SOFTWARE_TRIGGER = 2,
|
|
IS_VERTICAL_AOI_MERGE_MODE_LINE_GPIO_TRIGGER = 4
|
|
|
|
} VERTICAL_AOI_MERGE_MODE_LINE_TRIGGER;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of LEVEL_CONTROLLED_TRIGGER input modes
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_LEVEL_CONTROLLED_TRIGGER_INPUT_MODES
|
|
{
|
|
IS_LEVEL_CONTROLLED_TRIGGER_INPUT_OFF = 0,
|
|
IS_LEVEL_CONTROLLED_TRIGGER_INPUT_ON = 1
|
|
|
|
} LEVEL_CONTROLLED_TRIGGER_INPUT_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of FPN correction modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_FPN_CORRECTION_MODES
|
|
{
|
|
IS_FPN_CORRECTION_MODE_OFF = 0,
|
|
IS_FPN_CORRECTION_MODE_HARDWARE = 1
|
|
|
|
} FPN_CORRECTION_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of FPN persistent modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_FPN_CORRECTION_DATA_LOADING
|
|
{
|
|
IS_FPN_CORRECTION_DATA_LOADING_OFF = 0,
|
|
IS_FPN_CORRECTION_DATA_LOADING_ON = 1
|
|
|
|
} FPN_CORRECTION_DATA_LOADING;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of black reference pixel modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_BLACK_REFERENCE_MODES
|
|
{
|
|
IS_BLACK_REFERENCE_MODE_OFF = 0x00000000,
|
|
IS_BLACK_REFERENCE_MODE_COLUMNS_LEFT = 0x00000001,
|
|
IS_BLACK_REFERENCE_MODE_ROWS_TOP = 0x00000002
|
|
|
|
} BLACK_REFERENCE_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of sensor bit depths.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_SENSOR_BIT_DEPTH
|
|
{
|
|
IS_SENSOR_BIT_DEPTH_AUTO = 0x00000000,
|
|
IS_SENSOR_BIT_DEPTH_8_BIT = 0x00000001,
|
|
IS_SENSOR_BIT_DEPTH_10_BIT = 0x00000002,
|
|
IS_SENSOR_BIT_DEPTH_12_BIT = 0x00000004
|
|
|
|
} SENSOR_BIT_DEPTH;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of timestamp configuration modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_TIMESTAMP_CONFIGURATION_MODE
|
|
{
|
|
IS_RESET_TIMESTAMP_ONCE = 1
|
|
|
|
} TIMESTAMP_CONFIGURATION_MODE;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of timestamp configuration pins.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_TIMESTAMP_CONFIGURATION_PIN
|
|
{
|
|
TIMESTAMP_CONFIGURATION_PIN_NONE = 0,
|
|
TIMESTAMP_CONFIGURATION_PIN_TRIGGER = 1,
|
|
TIMESTAMP_CONFIGURATION_PIN_GPIO_1 = 2,
|
|
TIMESTAMP_CONFIGURATION_PIN_GPIO_2 = 3
|
|
|
|
} TIMESTAMP_CONFIGURATION_PIN;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of timestamp configuration edges.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_TIMESTAMP_CONFIGURATION_EDGE
|
|
{
|
|
TIMESTAMP_CONFIGURATION_EDGE_FALLING = 0,
|
|
TIMESTAMP_CONFIGURATION_EDGE_RISING = 1
|
|
|
|
} TIMESTAMP_CONFIGURATION_EDGE;
|
|
|
|
|
|
typedef struct S_IS_TIMESTAMP_CONFIGURATION
|
|
{
|
|
INT s32Mode;
|
|
INT s32Pin;
|
|
INT s32Edge;
|
|
|
|
} IS_TIMESTAMP_CONFIGURATION;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of image effect configuration.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_IMAGE_EFFECT_MODE
|
|
{
|
|
IS_IMAGE_EFFECT_DISABLE = 0,
|
|
IS_IMAGE_EFFECT_SEPIA = 1,
|
|
IS_IMAGE_EFFECT_MONOCHROME = 2,
|
|
IS_IMAGE_EFFECT_NEGATIVE = 3,
|
|
IS_IMAGE_EFFECT_CROSSHAIRS = 4
|
|
|
|
} IMAGE_EFFECT_MODE;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of the extended pixelclock ranges.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum S_IS_EXTENDED_PIXELCLOCK_RANGE
|
|
{
|
|
EXTENDED_PIXELCLOCK_RANGE_OFF = 0,
|
|
EXTENDED_PIXELCLOCK_RANGE_ON = 1
|
|
|
|
} IS_EXTENDED_PIXELCLOCK_RANGE;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of the multi integration modes.
|
|
*
|
|
* \sa is_DeviceFeature
|
|
*/
|
|
typedef enum E_IS_MULTI_INTEGRATION_MODE
|
|
{
|
|
MULTI_INTEGRATION_MODE_OFF = 0,
|
|
MULTI_INTEGRATION_MODE_SOFTWARE = 1,
|
|
MULTI_INTEGRATION_MODE_GPIO1 = 2,
|
|
MULTI_INTEGRATION_MODE_GPIO2 = 3
|
|
|
|
} IS_MULTI_INTEGRATION_MODE;
|
|
|
|
|
|
typedef struct S_IS_MULTI_INTEGRATION_CYCLES
|
|
{
|
|
double dblIntegration_ms;
|
|
double dblPause_ms;
|
|
|
|
} IS_MULTI_INTEGRATION_CYCLES;
|
|
|
|
|
|
typedef struct S_IS_MULTI_INTEGRATION_SCOPE
|
|
{
|
|
double dblMinIntegration_ms;
|
|
double dblMaxIntegration_ms;
|
|
double dblIntegrationGranularity_ms;
|
|
double dblMinPause_ms;
|
|
double dblMaxPause_ms;
|
|
double dblPauseGranularity_ms;
|
|
double dblMinCycle_ms;
|
|
double dblMaxCycle_ms;
|
|
double dblCycleGranularity_ms;
|
|
double dblMinTriggerCycle_ms;
|
|
double dblMinTriggerDuration_ms;
|
|
UINT nMinNumberOfCycles;
|
|
UINT nMaxNumberOfCycles;
|
|
BYTE m_bReserved[32];
|
|
|
|
} IS_MULTI_INTEGRATION_SCOPE;
|
|
|
|
|
|
typedef enum E_IS_I2C_TARGET
|
|
{
|
|
I2C_TARGET_DEFAULT = 0,
|
|
I2C_TARGET_SENSOR_1 = 1,
|
|
I2C_TARGET_SENSOR_2 = 2,
|
|
I2C_TARGET_LOGIC_BOARD = 4
|
|
|
|
} IS_I2C_TARGET;
|
|
|
|
|
|
typedef enum E_IS_SPI_TARGET
|
|
{
|
|
SPI_TARGET_DEFAULT = 0,
|
|
SPI_TARGET_SENSOR_1 = 1,
|
|
SPI_TARGET_SENSOR_2 = 2
|
|
|
|
} IS_SPI_TARGET;
|
|
|
|
typedef enum E_IS_MEMORY_MODE
|
|
{
|
|
IS_MEMORY_MODE_OFF = 0,
|
|
IS_MEMORY_MODE_ON = 1
|
|
|
|
} IS_MEMORY_MODE;
|
|
|
|
|
|
typedef enum E_IS_EXTERNAL_INTERFACE_TYPE
|
|
{
|
|
IS_EXTERNAL_INTERFACE_TYPE_NONE = 0,
|
|
IS_EXTERNAL_INTERFACE_TYPE_I2C = 1
|
|
|
|
} IS_EXTERNAL_INTERFACE_TYPE;
|
|
|
|
|
|
typedef enum E_IS_EXTERNAL_INTERFACE_REGISTER_TYPE
|
|
{
|
|
IS_EXTERNAL_INTERFACE_REGISTER_TYPE_8BIT = 0,
|
|
IS_EXTERNAL_INTERFACE_REGISTER_TYPE_16BIT = 1,
|
|
IS_EXTERNAL_INTERFACE_REGISTER_TYPE_NONE = 2
|
|
|
|
} IS_EXTERNAL_INTERFACE_REGISTER_TYPE;
|
|
|
|
|
|
typedef enum E_IS_EXTERNAL_INTERFACE_EVENT
|
|
{
|
|
IS_EXTERNAL_INTERFACE_EVENT_RISING_VSYNC = 0,
|
|
IS_EXTERNAL_INTERFACE_EVENT_FALLING_VSYNC = 1
|
|
|
|
} IS_EXTERNAL_INTERFACE_EVENT;
|
|
|
|
|
|
typedef enum E_IS_EXTERNAL_INTERFACE_DATA
|
|
{
|
|
IS_EXTERNAL_INTERFACE_DATA_USER = 0,
|
|
IS_EXTERNAL_INTERFACE_DATA_TIMESTAMP_FULL = 1,
|
|
IS_EXTERNAL_INTERFACE_DATA_TIMESTAMP_LOWBYTE = 2,
|
|
IS_EXTERNAL_INTERFACE_DATA_TIMESTAMP_HIGHBYTE = 3
|
|
|
|
} IS_EXTERNAL_INTERFACE_DATA;
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
typedef struct S_IS_EXTERNAL_INTERFACE_I2C_CONFIGURATION
|
|
{
|
|
BYTE bySlaveAddress;
|
|
WORD wRegisterAddress;
|
|
BYTE byRegisterAddressType;
|
|
BYTE byAckPolling;
|
|
BYTE byReserved[11];
|
|
|
|
} IS_EXTERNAL_INTERFACE_I2C_CONFIGURATION;
|
|
|
|
|
|
typedef struct S_IS_EXTERNAL_INTERFACE_CONFIGURATION
|
|
{
|
|
WORD wInterfaceType;
|
|
BYTE sInterfaceConfiguration[16];
|
|
WORD wSendEvent;
|
|
WORD wDataSelection;
|
|
|
|
} IS_EXTERNAL_INTERFACE_CONFIGURATION;
|
|
|
|
#pragma pack(pop)
|
|
|
|
|
|
/*!
|
|
* \brief Interface to control various device features.
|
|
*
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command and device.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_DeviceFeature(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the exposure function.
|
|
*
|
|
* \sa is_Exposure.
|
|
*/
|
|
typedef enum E_EXPOSURE_CMD
|
|
{
|
|
IS_EXPOSURE_CMD_GET_CAPS = 1,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE_DEFAULT = 2,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE_RANGE_MIN = 3,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE_RANGE_MAX = 4,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE_RANGE_INC = 5,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE_RANGE = 6,
|
|
IS_EXPOSURE_CMD_GET_EXPOSURE = 7,
|
|
IS_EXPOSURE_CMD_GET_FINE_INCREMENT_RANGE_MIN = 8,
|
|
IS_EXPOSURE_CMD_GET_FINE_INCREMENT_RANGE_MAX = 9,
|
|
IS_EXPOSURE_CMD_GET_FINE_INCREMENT_RANGE_INC = 10,
|
|
IS_EXPOSURE_CMD_GET_FINE_INCREMENT_RANGE = 11,
|
|
IS_EXPOSURE_CMD_SET_EXPOSURE = 12,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_RANGE_MIN = 13,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_RANGE_MAX = 14,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_RANGE_INC = 15,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_RANGE = 16,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_ENABLE = 17,
|
|
IS_EXPOSURE_CMD_SET_LONG_EXPOSURE_ENABLE = 18,
|
|
IS_EXPOSURE_CMD_GET_DUAL_EXPOSURE_RATIO_DEFAULT = 19,
|
|
IS_EXPOSURE_CMD_GET_DUAL_EXPOSURE_RATIO_RANGE = 20,
|
|
IS_EXPOSURE_CMD_GET_DUAL_EXPOSURE_RATIO = 21,
|
|
IS_EXPOSURE_CMD_SET_DUAL_EXPOSURE_RATIO = 22,
|
|
IS_EXPOSURE_CMD_GET_LONG_EXPOSURE_FRAMERATE_LIMIT = 23,
|
|
IS_EXPOSURE_CMD_SET_LONG_EXPOSURE_FRAMERATE_LIMIT = 24
|
|
|
|
} EXPOSURE_CMD;
|
|
|
|
|
|
typedef enum E_EXPOSURE_CAPS
|
|
{
|
|
IS_EXPOSURE_CAP_EXPOSURE = 0x00000001,
|
|
IS_EXPOSURE_CAP_FINE_INCREMENT = 0x00000002,
|
|
IS_EXPOSURE_CAP_LONG_EXPOSURE = 0x00000004,
|
|
IS_EXPOSURE_CAP_DUAL_EXPOSURE = 0x00000008
|
|
|
|
} EXPOSURE_CAPS;
|
|
|
|
|
|
/*!
|
|
* \brief Interface to control the camera exposure
|
|
*
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_Exposure(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
|
|
typedef enum E_TRIGGER_CMD
|
|
{
|
|
IS_TRIGGER_CMD_GET_BURST_SIZE_SUPPORTED = 1,
|
|
IS_TRIGGER_CMD_GET_BURST_SIZE_RANGE = 2,
|
|
IS_TRIGGER_CMD_GET_BURST_SIZE = 3,
|
|
IS_TRIGGER_CMD_SET_BURST_SIZE = 4,
|
|
IS_TRIGGER_CMD_GET_FRAME_PRESCALER_SUPPORTED = 5,
|
|
IS_TRIGGER_CMD_GET_FRAME_PRESCALER_RANGE = 6,
|
|
IS_TRIGGER_CMD_GET_FRAME_PRESCALER = 7,
|
|
IS_TRIGGER_CMD_SET_FRAME_PRESCALER = 8,
|
|
IS_TRIGGER_CMD_GET_LINE_PRESCALER_SUPPORTED = 9,
|
|
IS_TRIGGER_CMD_GET_LINE_PRESCALER_RANGE = 10,
|
|
IS_TRIGGER_CMD_GET_LINE_PRESCALER = 11,
|
|
IS_TRIGGER_CMD_SET_LINE_PRESCALER = 12
|
|
|
|
} TRIGGER_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Interface to control the trigger functions
|
|
*
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_Trigger(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
/*!
|
|
* \brief Definition of the uEye device info / heartbeat
|
|
*
|
|
* This data is periodically received from the device.
|
|
*
|
|
* \sa IS_DEVICE_INFO
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
typedef struct S_IS_DEVICE_INFO_HEARTBEAT
|
|
{
|
|
BYTE reserved_1[24]; /*!< \brief reserved */
|
|
|
|
DWORD dwRuntimeFirmwareVersion; /*!< \brief Runtime firmware version */
|
|
|
|
BYTE reserved_2[8]; /*!< \brief reserved */
|
|
|
|
WORD wTemperature; /*!< \brief camera temperature */
|
|
WORD wLinkSpeed_Mb; /*!< \brief current link speed in Mbit/s */
|
|
|
|
BYTE reserved_3[6]; /*!< \brief reserved */
|
|
|
|
WORD wComportOffset; /*!< \brief comport offset from 100, valid range -99 to +156 */
|
|
|
|
BYTE reserved[200]; /*!< \brief reserved */
|
|
|
|
} IS_DEVICE_INFO_HEARTBEAT;
|
|
|
|
/*!
|
|
* \brief Definition of the uEye device info / control
|
|
*
|
|
* This data is provided by the uEye driver.
|
|
*
|
|
* \sa IS_DEVICE_INFO
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
typedef struct S_IS_DEVICE_INFO_CONTROL
|
|
{
|
|
DWORD dwDeviceId; /*!< \brief device id */
|
|
|
|
BYTE reserved[148]; /*!< \brief reserved */
|
|
|
|
} IS_DEVICE_INFO_CONTROL;
|
|
|
|
/*!
|
|
* \brief Definition of the uEye device info
|
|
*
|
|
* This data is provided by the uEye driver.
|
|
*
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
typedef struct S_IS_DEVICE_INFO
|
|
{
|
|
IS_DEVICE_INFO_HEARTBEAT infoDevHeartbeat; /*!< \brief device info / heartbeat */
|
|
|
|
IS_DEVICE_INFO_CONTROL infoDevControl; /*!< \brief device info / control */
|
|
|
|
BYTE reserved[240]; /*!< \brief reserved */
|
|
|
|
} IS_DEVICE_INFO;
|
|
|
|
#pragma pack(pop)
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the device info access function \ref is_DeviceInfo.
|
|
*
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
typedef enum E_IS_DEVICE_INFO_CMD
|
|
{
|
|
/*!
|
|
* \brief Get the device info.
|
|
* Type of data: \ref IS_DEVICE_INFO.
|
|
*/
|
|
IS_DEVICE_INFO_CMD_GET_DEVICE_INFO = 0x02010001,
|
|
|
|
} IS_DEVICE_INFO_CMD;
|
|
|
|
/*!
|
|
* \brief Generic interface to the device info functionality.
|
|
*
|
|
* \param hCam currently not used / ignored, passing 0 recommended
|
|
* \param nCommand code, indicates requested access and accessed parameter,
|
|
* one from \ref IS_DEVICE_INFO_CMD enumeration.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
IDSEXP is_DeviceInfo(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
typedef enum E_IS_OPTIMAL_CAMERA_TIMING_CMD
|
|
{
|
|
/*!
|
|
* \brief Get optimal camera timing.
|
|
* Type of data: \ref IS_OPTIMAL_CAMERA_TIMING_CMD_GET_PIXELCLOCK.
|
|
*/
|
|
IS_OPTIMAL_CAMERA_TIMING_CMD_GET_PIXELCLOCK = 0x00000001,
|
|
|
|
/*!
|
|
* \brief Get optimal camera timing.
|
|
* Type of data: \ref IS_OPTIMAL_CAMERA_TIMING_CMD_GET_FRAMERATE.
|
|
*/
|
|
IS_OPTIMAL_CAMERA_TIMING_CMD_GET_FRAMERATE = 0x00000002
|
|
|
|
} IS_OPTIMAL_CAMERA_TIMING_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief I/O structure of the optimal camera parameters
|
|
*
|
|
* \since uEye SDK 4.30.
|
|
*/
|
|
typedef struct S_IS_OPTIMAL_CAMERA_TIMING
|
|
{
|
|
INT s32Mode;
|
|
INT s32TimeoutFineTuning;
|
|
INT* ps32PixelClock;
|
|
double* pdFramerate;
|
|
|
|
} IS_OPTIMAL_CAMERA_TIMING;
|
|
|
|
|
|
/*! \brief Generic interface to the optimal camera timing functionality.
|
|
*
|
|
* \param hCam valid device handle.
|
|
* \param nCommand specify the optimal value to be read back (pixelclock and/or framerate).
|
|
* \param pParam input or output storage for the I/O data.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*
|
|
* \since uEye SDK 4.30.
|
|
*/
|
|
IDSEXP is_OptimalCameraTiming(HIDS hCam, UINT u32Command, void* pParam, UINT u32SizeOfParam);
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// functions and datatypes only valid for uEye ETH
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
// IP V4 address
|
|
typedef union _UEYE_ETH_ADDR_IPV4
|
|
{
|
|
struct
|
|
{
|
|
BYTE by1;
|
|
BYTE by2;
|
|
BYTE by3;
|
|
BYTE by4;
|
|
} by;
|
|
|
|
DWORD dwAddr;
|
|
|
|
} UEYE_ETH_ADDR_IPV4, *PUEYE_ETH_ADDR_IPV4;
|
|
|
|
// Ethernet address
|
|
typedef struct _UEYE_ETH_ADDR_MAC
|
|
{
|
|
BYTE abyOctet[6];
|
|
|
|
} UEYE_ETH_ADDR_MAC, *PUEYE_ETH_ADDR_MAC;
|
|
|
|
// IP configuration
|
|
typedef struct _UEYE_ETH_IP_CONFIGURATION
|
|
{
|
|
UEYE_ETH_ADDR_IPV4 ipAddress; /*!< IP address */
|
|
UEYE_ETH_ADDR_IPV4 ipSubnetmask; /*!< IP subnetmask */
|
|
|
|
BYTE reserved[4]; /*!< reserved */
|
|
|
|
} UEYE_ETH_IP_CONFIGURATION, *PUEYE_ETH_IP_CONFIGURATION;
|
|
|
|
// values for UEYE_ETH_DEVICE_INFO_HEARTBEAT::dwDeviceStatusFlags
|
|
typedef enum _UEYE_ETH_DEVICESTATUS
|
|
{
|
|
IS_ETH_DEVSTATUS_READY_TO_OPERATE= 0x00000001, /*!< device is ready to operate */
|
|
IS_ETH_DEVSTATUS_TESTING_IP_CURRENT= 0x00000002, /*!< device is (arp-)probing its current ip */
|
|
IS_ETH_DEVSTATUS_TESTING_IP_PERSISTENT= 0x00000004, /*!< device is (arp-)probing its persistent ip */
|
|
IS_ETH_DEVSTATUS_TESTING_IP_RANGE= 0x00000008, /*!< device is (arp-)probing the autocfg ip range */
|
|
|
|
IS_ETH_DEVSTATUS_INAPPLICABLE_IP_CURRENT= 0x00000010, /*!< current ip is inapplicable */
|
|
IS_ETH_DEVSTATUS_INAPPLICABLE_IP_PERSISTENT= 0x00000020, /*!< persistent ip is inapplicable */
|
|
IS_ETH_DEVSTATUS_INAPPLICABLE_IP_RANGE= 0x00000040, /*!< autocfg ip range is inapplicable */
|
|
|
|
IS_ETH_DEVSTATUS_UNPAIRED= 0x00000100, /*!< device is unpaired */
|
|
IS_ETH_DEVSTATUS_PAIRING_IN_PROGRESS= 0x00000200, /*!< device is being paired */
|
|
IS_ETH_DEVSTATUS_PAIRED= 0x00000400, /*!< device is paired */
|
|
|
|
IS_ETH_DEVSTATUS_FORCE_100MBPS= 0x00001000, /*!< device phy is configured to 100 Mbps */
|
|
IS_ETH_DEVSTATUS_NO_COMPORT= 0x00002000, /*!< device does not support ueye eth comport */
|
|
|
|
IS_ETH_DEVSTATUS_RECEIVING_FW_STARTER= 0x00010000, /*!< device is receiving the starter firmware */
|
|
IS_ETH_DEVSTATUS_RECEIVING_FW_RUNTIME= 0x00020000, /*!< device is receiving the runtime firmware */
|
|
IS_ETH_DEVSTATUS_INAPPLICABLE_FW_RUNTIME= 0x00040000, /*!< runtime firmware is inapplicable */
|
|
IS_ETH_DEVSTATUS_INAPPLICABLE_FW_STARTER= 0x00080000, /*!< starter firmware is inapplicable */
|
|
|
|
IS_ETH_DEVSTATUS_REBOOTING_FW_RUNTIME= 0x00100000, /*!< device is rebooting to runtime firmware */
|
|
IS_ETH_DEVSTATUS_REBOOTING_FW_STARTER= 0x00200000, /*!< device is rebooting to starter firmware */
|
|
IS_ETH_DEVSTATUS_REBOOTING_FW_FAILSAFE= 0x00400000, /*!< device is rebooting to failsafe firmware */
|
|
|
|
IS_ETH_DEVSTATUS_RUNTIME_FW_ERR0= 0x80000000 /*!< checksum error runtime firmware */
|
|
|
|
} UEYE_ETH_DEVICESTATUS;
|
|
|
|
|
|
// heartbeat info transmitted periodically by a device
|
|
// contained in UEYE_ETH_DEVICE_INFO
|
|
typedef struct _UEYE_ETH_DEVICE_INFO_HEARTBEAT
|
|
{
|
|
BYTE abySerialNumber[12]; /*!< \brief camera's serial number (string) */
|
|
|
|
BYTE byDeviceType; /*!< \brief device type / board type, 0x80 for ETH */
|
|
|
|
BYTE byCameraID; /*!< \brief camera id */
|
|
|
|
WORD wSensorID; /*!< \brief camera's sensor's id */
|
|
|
|
WORD wSizeImgMem_MB; /*!< \brief size of camera's image memory in MB */
|
|
|
|
BYTE reserved_1[2]; /*!< \brief reserved */
|
|
|
|
DWORD dwVerStarterFirmware; /*!< \brief starter firmware version */
|
|
|
|
DWORD dwVerRuntimeFirmware; /*!< \brief runtime firmware version */
|
|
|
|
DWORD dwStatus; /*!< \brief camera status flags */
|
|
|
|
BYTE reserved_2[4]; /*!< \brief reserved */
|
|
|
|
WORD wTemperature; /*!< \brief camera temperature */
|
|
|
|
WORD wLinkSpeed_Mb; /*!< \brief link speed in Mb */
|
|
|
|
UEYE_ETH_ADDR_MAC macDevice; /*!< \brief camera's MAC address */
|
|
|
|
WORD wComportOffset; /*!< \brief comport offset from 100, valid range -99 to +156 */
|
|
|
|
UEYE_ETH_IP_CONFIGURATION ipcfgPersistentIpCfg; /*!< \brief persistent IP configuration */
|
|
|
|
UEYE_ETH_IP_CONFIGURATION ipcfgCurrentIpCfg; /*!< \brief current IP configuration */
|
|
|
|
UEYE_ETH_ADDR_MAC macPairedHost; /*!< \brief paired host's MAC address */
|
|
|
|
BYTE reserved_4[2]; /*!< \brief reserved */
|
|
|
|
UEYE_ETH_ADDR_IPV4 ipPairedHostIp; /*!< \brief paired host's IP address */
|
|
|
|
UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeBegin; /*!< \brief begin of IP address range */
|
|
|
|
UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeEnd; /*!< \brief end of IP address range */
|
|
|
|
BYTE abyUserSpace[8]; /*!< \brief user space data (first 8 bytes) */
|
|
|
|
BYTE reserved_5[84]; /*!< \brief reserved */
|
|
|
|
BYTE reserved_6[64]; /*!< \brief reserved */
|
|
|
|
} UEYE_ETH_DEVICE_INFO_HEARTBEAT, *PUEYE_ETH_DEVICE_INFO_HEARTBEAT;
|
|
|
|
// values for UEYE_ETH_DEVICE_INFO_CONTROL::dwControlStatus
|
|
typedef enum _UEYE_ETH_CONTROLSTATUS
|
|
{
|
|
IS_ETH_CTRLSTATUS_AVAILABLE = 0x00000001, /*!< device is available TO SELF */
|
|
IS_ETH_CTRLSTATUS_ACCESSIBLE1 = 0x00000002, /*!< device is accessible BY SELF, i.e. directly 'unicastable' */
|
|
IS_ETH_CTRLSTATUS_ACCESSIBLE2 = 0x00000004, /*!< device is accessible BY SELF, i.e. not on persistent ip and adapters ip autocfg range is valid */
|
|
|
|
IS_ETH_CTRLSTATUS_PERSISTENT_IP_USED = 0x00000010, /*!< device is running on persistent ip configuration */
|
|
IS_ETH_CTRLSTATUS_COMPATIBLE = 0x00000020, /*!< device is compatible TO SELF */
|
|
IS_ETH_CTRLSTATUS_ADAPTER_ON_DHCP = 0x00000040, /*!< adapter is configured to use dhcp */
|
|
IS_ETH_CTRLSTATUS_ADAPTER_SETUP_OK = 0x00000080, /*!< adapter's setup is ok with respect to uEye needs */
|
|
|
|
IS_ETH_CTRLSTATUS_UNPAIRING_IN_PROGRESS = 0x00000100, /*!< device is being unpaired FROM SELF */
|
|
IS_ETH_CTRLSTATUS_PAIRING_IN_PROGRESS = 0x00000200, /*!< device is being paired TO SELF */
|
|
|
|
IS_ETH_CTRLSTATUS_PAIRED = 0x00001000, /*!< device is paired TO SELF */
|
|
IS_ETH_CTRLSTATUS_OPENED = 0x00004000, /*!< device is opened BY SELF */
|
|
|
|
IS_ETH_CTRLSTATUS_FW_UPLOAD_STARTER = 0x00010000, /*!< device is receiving the starter firmware */
|
|
IS_ETH_CTRLSTATUS_FW_UPLOAD_RUNTIME = 0x00020000, /*!< device is receiving the runtime firmware */
|
|
|
|
IS_ETH_CTRLSTATUS_REBOOTING = 0x00100000, /*!< device is rebooting */
|
|
|
|
IS_ETH_CTRLSTATUS_BOOTBOOST_ENABLED = 0x01000000, /*!< boot-boosting is enabled for this device */
|
|
IS_ETH_CTRLSTATUS_BOOTBOOST_ACTIVE = 0x02000000, /*!< boot-boosting is active for this device */
|
|
IS_ETH_CTRLSTATUS_INITIALIZED = 0x08000000, /*!< device object is initialized */
|
|
|
|
IS_ETH_CTRLSTATUS_TO_BE_DELETED = 0x40000000, /*!< device object is being deleted */
|
|
IS_ETH_CTRLSTATUS_TO_BE_REMOVED = 0x80000000, /*!< device object is being removed */
|
|
|
|
} UEYE_ETH_CONTROLSTATUS;
|
|
|
|
// control info for a listed device
|
|
// contained in UEYE_ETH_DEVICE_INFO
|
|
typedef struct _UEYE_ETH_DEVICE_INFO_CONTROL
|
|
{
|
|
DWORD dwDeviceID; /*!< device's unique id */
|
|
|
|
DWORD dwControlStatus; /*!< device control status */
|
|
|
|
BYTE reserved_1[80]; /*!< reserved */
|
|
|
|
BYTE reserved_2[64]; /*!< reserved */
|
|
|
|
} UEYE_ETH_DEVICE_INFO_CONTROL, *PUEYE_ETH_DEVICE_INFO_CONTROL;
|
|
|
|
// Ethernet configuration
|
|
typedef struct _UEYE_ETH_ETHERNET_CONFIGURATION
|
|
{
|
|
UEYE_ETH_IP_CONFIGURATION ipcfg;
|
|
UEYE_ETH_ADDR_MAC mac;
|
|
|
|
} UEYE_ETH_ETHERNET_CONFIGURATION, *PUEYE_ETH_ETHERNET_CONFIGURATION;
|
|
|
|
// autocfg ip setup
|
|
typedef struct _UEYE_ETH_AUTOCFG_IP_SETUP
|
|
{
|
|
UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeBegin; /*!< begin of ip address range for devices */
|
|
UEYE_ETH_ADDR_IPV4 ipAutoCfgIpRangeEnd; /*!< end of ip address range for devices */
|
|
|
|
BYTE reserved[4]; /*!< reserved */
|
|
|
|
} UEYE_ETH_AUTOCFG_IP_SETUP, *PUEYE_ETH_AUTOCFG_IP_SETUP;
|
|
|
|
// values for incoming packets filter setup
|
|
typedef enum _UEYE_ETH_PACKETFILTER_SETUP
|
|
{
|
|
// notice: arp and icmp (ping) packets are always passed!
|
|
|
|
IS_ETH_PCKTFLT_PASSALL= 0, /*!< pass all packets to OS */
|
|
IS_ETH_PCKTFLT_BLOCKUEGET= 1, /*!< block UEGET packets to the OS */
|
|
IS_ETH_PCKTFLT_BLOCKALL= 2 /*!< block all packets to the OS */
|
|
|
|
} UEYE_ETH_PACKETFILTER_SETUP;
|
|
|
|
// values for link speed setup
|
|
typedef enum _UEYE_ETH_LINKSPEED_SETUP
|
|
{
|
|
IS_ETH_LINKSPEED_100MB= 100, /*!< 100 MBits */
|
|
IS_ETH_LINKSPEED_1000MB= 1000 /*!< 1000 MBits */
|
|
|
|
} UEYE_ETH_LINKSPEED_SETUP;
|
|
|
|
|
|
// control info for a device's network adapter
|
|
// contained in UEYE_ETH_DEVICE_INFO
|
|
typedef struct _UEYE_ETH_ADAPTER_INFO
|
|
{
|
|
DWORD dwAdapterID; /*!< adapter's unique id */
|
|
|
|
DWORD dwDeviceLinkspeed; /*!< device's linked to this adapter are forced to use this link speed */
|
|
|
|
UEYE_ETH_ETHERNET_CONFIGURATION ethcfg; /*!< adapter's eth configuration */
|
|
BYTE reserved_2[2]; /*!< reserved */
|
|
BOOL bIsEnabledDHCP; /*!< adapter's dhcp enabled flag */
|
|
|
|
UEYE_ETH_AUTOCFG_IP_SETUP autoCfgIp; /*!< the setup for the ip auto configuration */
|
|
BOOL bIsValidAutoCfgIpRange; /*!< the given range is valid when:
|
|
- begin and end are valid ip addresses
|
|
- begin and end are in the subnet of the adapter
|
|
- */
|
|
|
|
DWORD dwCntDevicesKnown; /*!< count of listed Known devices */
|
|
DWORD dwCntDevicesPaired; /*!< count of listed Paired devices */
|
|
|
|
WORD wPacketFilter; /*!< Setting for the Incoming Packets Filter. see UEYE_ETH_PACKETFILTER_SETUP enum above. */
|
|
|
|
BYTE reserved_3[38]; /*!< reserved */
|
|
BYTE reserved_4[64]; /*!< reserved */
|
|
|
|
} UEYE_ETH_ADAPTER_INFO, *PUEYE_ETH_ADAPTER_INFO;
|
|
|
|
// driver info
|
|
// contained in UEYE_ETH_DEVICE_INFO
|
|
typedef struct _UEYE_ETH_DRIVER_INFO
|
|
{
|
|
DWORD dwMinVerStarterFirmware; /*!< minimum version compatible starter firmware */
|
|
DWORD dwMaxVerStarterFirmware; /*!< maximum version compatible starter firmware */
|
|
|
|
BYTE reserved_1[8]; /*!< reserved */
|
|
BYTE reserved_2[64]; /*!< reserved */
|
|
|
|
} UEYE_ETH_DRIVER_INFO, *PUEYE_ETH_DRIVER_INFO;
|
|
|
|
|
|
|
|
// use is_GetEthDeviceInfo() to obtain this data.
|
|
typedef struct _UEYE_ETH_DEVICE_INFO
|
|
{
|
|
UEYE_ETH_DEVICE_INFO_HEARTBEAT infoDevHeartbeat;
|
|
|
|
UEYE_ETH_DEVICE_INFO_CONTROL infoDevControl;
|
|
|
|
UEYE_ETH_ADAPTER_INFO infoAdapter;
|
|
|
|
UEYE_ETH_DRIVER_INFO infoDriver;
|
|
|
|
} UEYE_ETH_DEVICE_INFO, *PUEYE_ETH_DEVICE_INFO;
|
|
|
|
|
|
typedef struct _UEYE_COMPORT_CONFIGURATION
|
|
{
|
|
WORD wComportNumber;
|
|
|
|
} UEYE_COMPORT_CONFIGURATION, *PUEYE_COMPORT_CONFIGURATION;
|
|
|
|
|
|
#pragma pack(pop)
|
|
|
|
IDSEXP is_SetStarterFirmware (HIDS hCam, const CHAR* pcFilepath, UINT uFilepathLen);
|
|
IDSEXP is_SetPacketFilter (INT iAdapterID, UINT uFilterSetting);
|
|
IDSEXP is_GetComportNumber (HIDS hCam, UINT *pComportNumber);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of IpConfig capability flags.
|
|
*
|
|
* \sa is_IpConfig, IPCONFIG_CMD_QUERY_CAPABILITIES.
|
|
* \since uEye SDK 3.80.
|
|
*/
|
|
typedef enum E_IPCONFIG_CAPABILITY_FLAGS
|
|
{
|
|
/*! \brief Capability flag indicates support of Persistent IP for the device in question. */
|
|
IPCONFIG_CAP_PERSISTENT_IP_SUPPORTED = 0x01,
|
|
|
|
/*! \brief Capability flag indicates support of IP auto configuration for the device in question. */
|
|
IPCONFIG_CAP_AUTOCONFIG_IP_SUPPORTED = 0x04
|
|
|
|
} IPCONFIG_CAPABILITY_FLAGS;
|
|
|
|
/*!
|
|
* \brief Enumeration of commands supported by the IP configuration access function \ref is_IpConfig.
|
|
*
|
|
* \since uEye SDK 3.80.
|
|
*/
|
|
typedef enum E_IPCONFIG_CMD
|
|
{
|
|
/*!
|
|
* \brief Query the IP configuration capabilities.
|
|
* Type of value: unsigned int bitmask, 32-bit.
|
|
* \sa IPCONFIG_CAPABILITY_FLAGS.
|
|
*/
|
|
IPCONFIG_CMD_QUERY_CAPABILITIES = 0,
|
|
|
|
/*!
|
|
* \brief Set persistent IP configuration.
|
|
* Type of value: \ref UEYE_ETH_IP_CONFIGURATION.
|
|
*
|
|
* \note Use camera's device id or camera's MAC address as identifier for \ref is_IpConfig.
|
|
* \note Changing persistent IP configuration enabled status is allowed only if device is not paired.
|
|
*/
|
|
IPCONFIG_CMD_SET_PERSISTENT_IP = 0x01010000,
|
|
/*!
|
|
* \brief Set IP auto configuration setup.
|
|
* Type of value: \ref UEYE_ETH_AUTOCFG_IP_SETUP.
|
|
*
|
|
* \note Use NIC's adapter id or NIC's MAC address as identifier for \ref is_IpConfig.
|
|
* \note Changed autoconfig IP setup is applied for each device connected to the addressed NIC
|
|
* at the next pairing of the device.
|
|
*/
|
|
IPCONFIG_CMD_SET_AUTOCONFIG_IP = 0x01040000,
|
|
/*!
|
|
* \brief Set IP auto configuration setup by device identification.
|
|
* Type of value: \ref UEYE_ETH_AUTOCFG_IP_SETUP.
|
|
*
|
|
* \note Use camera's device id or camera's MAC address as identifier for \ref is_IpConfig.
|
|
* \note Changed autoconfig IP setup is applied for each device connected to the addressed NIC
|
|
* at the next pairing of the device.
|
|
*
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
IPCONFIG_CMD_SET_AUTOCONFIG_IP_BYDEVICE = 0x01040100,
|
|
|
|
IPCONFIG_CMD_RESERVED1 = 0x01080000,
|
|
|
|
/*!
|
|
* \brief Get persistent IP configuration.
|
|
* Type of value: \ref UEYE_ETH_IP_CONFIGURATION.
|
|
*
|
|
* \note Use camera's device id or camera's MAC address as identifier for \ref is_IpConfig.
|
|
*/
|
|
IPCONFIG_CMD_GET_PERSISTENT_IP = 0x02010000,
|
|
/*!
|
|
* \brief Get IP auto configuration setup.
|
|
* Type of value: \ref UEYE_ETH_AUTOCFG_IP_SETUP.
|
|
*
|
|
* \note Use NIC's adapter id or NIC's MAC address as identifier for \ref is_IpConfig.
|
|
*/
|
|
IPCONFIG_CMD_GET_AUTOCONFIG_IP = 0x02040000,
|
|
/*!
|
|
* \brief Get IP auto configuration setup by device identification.
|
|
* Type of value: \ref UEYE_ETH_AUTOCFG_IP_SETUP.
|
|
*
|
|
* \note Use camera's device id or camera's MAC address as identifier for \ref is_IpConfig.
|
|
*
|
|
* \since uEye SDK 4.00.
|
|
*/
|
|
IPCONFIG_CMD_GET_AUTOCONFIG_IP_BYDEVICE = 0x02040100
|
|
|
|
} IPCONFIG_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Generic interface to the device's IP configuration.
|
|
* \param iID if != -1: id of the addressed camera device / network adapter.
|
|
* \param mac if iID == -1: mac of the addressed camera device / network adapter.
|
|
* \param nCommand code, indicates requested access and accessed value, \ref IPCONFIG_CMD enumeration.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*
|
|
* \since uEye SDK 3.80.
|
|
*/
|
|
IDSEXP is_IpConfig(INT iID, UEYE_ETH_ADDR_MAC mac, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of defines used by is_Configuration(), \ref is_Configuration.
|
|
*/
|
|
typedef enum E_CONFIGURATION_SEL
|
|
{
|
|
IS_CONFIG_CPU_IDLE_STATES_BIT_AC_VALUE = 0x01, /*!< Mains power */
|
|
IS_CONFIG_CPU_IDLE_STATES_BIT_DC_VALUE = 0x02, /*!< Battery power */
|
|
|
|
IS_CONFIG_IPO_NOT_ALLOWED = 0,
|
|
IS_CONFIG_IPO_ALLOWED = 1,
|
|
|
|
IS_CONFIG_OPEN_MP_DISABLE = 0,
|
|
IS_CONFIG_OPEN_MP_ENABLE = 1,
|
|
|
|
IS_CONFIG_INITIAL_PARAMETERSET_NONE = 0,
|
|
IS_CONFIG_INITIAL_PARAMETERSET_1 = 1,
|
|
IS_CONFIG_INITIAL_PARAMETERSET_2 = 2,
|
|
|
|
IS_CONFIG_ETH_CONFIGURATION_MODE_OFF = 0,
|
|
IS_CONFIG_ETH_CONFIGURATION_MODE_ON = 1,
|
|
|
|
IS_CONFIG_TRUSTED_PAIRING_OFF = 0,
|
|
IS_CONFIG_TRUSTED_PAIRING_ON = 1,
|
|
|
|
IS_CONFIG_IMAGE_MEMORY_COMPATIBILITY_MODE_OFF = 0,
|
|
IS_CONFIG_IMAGE_MEMORY_COMPATIBILITY_MODE_ON = 1
|
|
|
|
} CONFIGURATION_SEL;
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_Configuration , \ref is_Configuration.
|
|
*/
|
|
typedef enum E_CONFIGURATION_CMD
|
|
{
|
|
IS_CONFIG_CMD_GET_CAPABILITIES = 1, /*!< Get supported configuration capabilities (bitmask of CONFIGURATION_CAPS)*/
|
|
|
|
IS_CONFIG_CPU_IDLE_STATES_CMD_GET_ENABLE = 2, /*!< Get the current CPU idle states enable state (bitmask of CONFIGURATION_SEL)*/
|
|
IS_CONFIG_CPU_IDLE_STATES_CMD_SET_DISABLE_ON_OPEN = 4, /*!< Disable migration to other CPU idle states (other than C0) if the first USB camera is being opened*/
|
|
IS_CONFIG_CPU_IDLE_STATES_CMD_GET_DISABLE_ON_OPEN = 5, /*!< Get the current setting of the command IS_CPU_IDLE_STATES_CMD_SET_DISABLE_ON_OPEN*/
|
|
|
|
IS_CONFIG_OPEN_MP_CMD_GET_ENABLE = 6,
|
|
IS_CONFIG_OPEN_MP_CMD_SET_ENABLE = 7,
|
|
IS_CONFIG_OPEN_MP_CMD_GET_ENABLE_DEFAULT = 8,
|
|
|
|
IS_CONFIG_INITIAL_PARAMETERSET_CMD_SET = 9,
|
|
IS_CONFIG_INITIAL_PARAMETERSET_CMD_GET = 10,
|
|
|
|
IS_CONFIG_ETH_CONFIGURATION_MODE_CMD_SET_ENABLE = 11,
|
|
IS_CONFIG_ETH_CONFIGURATION_MODE_CMD_GET_ENABLE = 12,
|
|
|
|
IS_CONFIG_IPO_CMD_GET_ALLOWED = 13,
|
|
IS_CONFIG_IPO_CMD_SET_ALLOWED = 14,
|
|
|
|
IS_CONFIG_CMD_TRUSTED_PAIRING_SET = 15,
|
|
IS_CONFIG_CMD_TRUSTED_PAIRING_GET = 16,
|
|
IS_CONFIG_CMD_TRUSTED_PAIRING_GET_DEFAULT = 17,
|
|
IS_CONFIG_CMD_RESERVED_1 = 18,
|
|
|
|
IS_CONFIG_CMD_SET_IMAGE_MEMORY_COMPATIBILIY_MODE = 19,
|
|
IS_CONFIG_CMD_GET_IMAGE_MEMORY_COMPATIBILIY_MODE = 20,
|
|
IS_CONFIG_CMD_GET_IMAGE_MEMORY_COMPATIBILIY_MODE_DEFAULT = 21
|
|
|
|
} CONFIGURATION_CMD;
|
|
|
|
/*!
|
|
* \brief Enumeration of configuration command capability flags, \ref is_Configuration.
|
|
*/
|
|
typedef enum E_CONFIGURATION_CAPS
|
|
{
|
|
IS_CONFIG_CPU_IDLE_STATES_CAP_SUPPORTED = 0x00000001, /*!< CPU idle state commands are supported by the SDK */
|
|
IS_CONFIG_OPEN_MP_CAP_SUPPORTED = 0x00000002, /*!< Open MP commands are supported by the SDK */
|
|
IS_CONFIG_INITIAL_PARAMETERSET_CAP_SUPPORTED = 0x00000004, /*!< Initial parameter set commands are supported by the SDK */
|
|
IS_CONFIG_IPO_CAP_SUPPORTED = 0x00000008, /*!< "Intel Performance Thread" is supported by the SDK */
|
|
IS_CONFIG_TRUSTED_PAIRING_CAP_SUPPORTED = 0x00000010 /*!< Camera supports trusted pairing when network connection was lost */
|
|
|
|
} CONFIGURATION_CAPS;
|
|
|
|
/*!
|
|
* \brief Command to set general configuration parameters (e.g. the CPU idle state settings)
|
|
* \param nCommand specifies the command, \ref CONFIGURATION_CMD.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code.
|
|
*/
|
|
IDSEXP is_Configuration(UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Structure for flash delay and duration \ref is_IO.
|
|
*/
|
|
typedef struct S_IO_FLASH_PARAMS
|
|
{
|
|
INT s32Delay;
|
|
UINT u32Duration;
|
|
} IO_FLASH_PARAMS;
|
|
|
|
|
|
/*!
|
|
* \brief Structure for the PWM params \ref is_IO.
|
|
*/
|
|
typedef struct S_IO_PWM_PARAMS
|
|
{
|
|
double dblFrequency_Hz;
|
|
double dblDutyCycle;
|
|
} IO_PWM_PARAMS;
|
|
|
|
|
|
/*!
|
|
* \brief Structure for the configuration params of the GPIOs \ref is_IO.
|
|
*/
|
|
typedef struct S_IO_GPIO_CONFIGURATION
|
|
{
|
|
UINT u32Gpio;
|
|
UINT u32Caps;
|
|
UINT u32Configuration;
|
|
UINT u32State;
|
|
UINT u32Reserved[12];
|
|
|
|
} IO_GPIO_CONFIGURATION;
|
|
|
|
|
|
/*!
|
|
* \brief Defines used by is_IO(), \ref is_IO.
|
|
*/
|
|
#define IO_LED_STATE_1 0 // Bit 0
|
|
#define IO_LED_STATE_2 1 //
|
|
#define IO_LED_ENABLE 2 // after cam start up default: blink off, blink x times off
|
|
#define IO_LED_DISABLE 3 // blink off, blink x times off
|
|
#define IO_LED_BLINK_ENABLE 4 // no retrun value
|
|
#define IO_LED_BLINK_DISABLE 5 // no retrun value
|
|
#define IO_LED_BLINK_5_TIMES 6 // no retrun value
|
|
|
|
|
|
|
|
#define IO_FLASH_MODE_OFF 0
|
|
#define IO_FLASH_MODE_TRIGGER_LO_ACTIVE 1
|
|
#define IO_FLASH_MODE_TRIGGER_HI_ACTIVE 2
|
|
#define IO_FLASH_MODE_CONSTANT_HIGH 3
|
|
#define IO_FLASH_MODE_CONSTANT_LOW 4
|
|
#define IO_FLASH_MODE_FREERUN_LO_ACTIVE 5
|
|
#define IO_FLASH_MODE_FREERUN_HI_ACTIVE 6
|
|
|
|
#define IS_FLASH_MODE_PWM 0x8000
|
|
#define IO_FLASH_MODE_GPIO_1 0x0010
|
|
#define IO_FLASH_MODE_GPIO_2 0x0020
|
|
#define IO_FLASH_MODE_GPIO_3 0x0040
|
|
#define IO_FLASH_MODE_GPIO_4 0x0080
|
|
#define IO_FLASH_MODE_GPIO_5 0x0100
|
|
#define IO_FLASH_MODE_GPIO_6 0x0200
|
|
|
|
#define IO_FLASH_GPIO_PORT_MASK (IO_FLASH_MODE_GPIO_1 | IO_FLASH_MODE_GPIO_2 | IO_FLASH_MODE_GPIO_3 | IO_FLASH_MODE_GPIO_4 | IO_FLASH_MODE_GPIO_5 | IO_FLASH_MODE_GPIO_6)
|
|
|
|
#define IO_GPIO_1 0x0001
|
|
#define IO_GPIO_2 0x0002
|
|
#define IO_GPIO_3 0x0004
|
|
#define IO_GPIO_4 0x0008
|
|
#define IO_GPIO_5 0x0010
|
|
#define IO_GPIO_6 0x0020
|
|
|
|
#define IS_GPIO_INPUT 0x0001
|
|
#define IS_GPIO_OUTPUT 0x0002
|
|
#define IS_GPIO_FLASH 0x0004
|
|
#define IS_GPIO_PWM 0x0008
|
|
#define IS_GPIO_COMPORT_RX 0x0010
|
|
#define IS_GPIO_COMPORT_TX 0x0020
|
|
#define IS_GPIO_MULTI_INTEGRATION_MODE 0x0040
|
|
#define IS_GPIO_TRIGGER 0x0080
|
|
#define IS_GPIO_I2C 0x0100
|
|
#define IS_GPIO_TWI IS_GPIO_I2C
|
|
|
|
#define IS_FLASH_AUTO_FREERUN_OFF 0
|
|
#define IS_FLASH_AUTO_FREERUN_ON 1
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_IO , \ref is_IO.
|
|
*/
|
|
typedef enum E_IO_CMD
|
|
{
|
|
IS_IO_CMD_GPIOS_GET_SUPPORTED = 1,
|
|
IS_IO_CMD_GPIOS_GET_SUPPORTED_INPUTS = 2,
|
|
IS_IO_CMD_GPIOS_GET_SUPPORTED_OUTPUTS = 3,
|
|
IS_IO_CMD_GPIOS_GET_DIRECTION = 4,
|
|
IS_IO_CMD_GPIOS_SET_DIRECTION = 5,
|
|
IS_IO_CMD_GPIOS_GET_STATE = 6,
|
|
IS_IO_CMD_GPIOS_SET_STATE = 7,
|
|
IS_IO_CMD_LED_GET_STATE = 8,
|
|
IS_IO_CMD_LED_SET_STATE = 9,
|
|
IS_IO_CMD_LED_TOGGLE_STATE = 10,
|
|
IS_IO_CMD_FLASH_GET_GLOBAL_PARAMS = 11,
|
|
IS_IO_CMD_FLASH_APPLY_GLOBAL_PARAMS = 12,
|
|
IS_IO_CMD_FLASH_GET_SUPPORTED_GPIOS = 13,
|
|
IS_IO_CMD_FLASH_GET_PARAMS_MIN = 14,
|
|
IS_IO_CMD_FLASH_GET_PARAMS_MAX = 15,
|
|
IS_IO_CMD_FLASH_GET_PARAMS_INC = 16,
|
|
IS_IO_CMD_FLASH_GET_PARAMS = 17,
|
|
IS_IO_CMD_FLASH_SET_PARAMS = 18,
|
|
IS_IO_CMD_FLASH_GET_MODE = 19,
|
|
IS_IO_CMD_FLASH_SET_MODE = 20,
|
|
IS_IO_CMD_PWM_GET_SUPPORTED_GPIOS = 21,
|
|
IS_IO_CMD_PWM_GET_PARAMS_MIN = 22,
|
|
IS_IO_CMD_PWM_GET_PARAMS_MAX = 23,
|
|
IS_IO_CMD_PWM_GET_PARAMS_INC = 24,
|
|
IS_IO_CMD_PWM_GET_PARAMS = 25,
|
|
IS_IO_CMD_PWM_SET_PARAMS = 26,
|
|
IS_IO_CMD_PWM_GET_MODE = 27,
|
|
IS_IO_CMD_PWM_SET_MODE = 28,
|
|
IS_IO_CMD_GPIOS_GET_CONFIGURATION = 29,
|
|
IS_IO_CMD_GPIOS_SET_CONFIGURATION = 30,
|
|
IS_IO_CMD_FLASH_GET_GPIO_PARAMS_MIN = 31,
|
|
IS_IO_CMD_FLASH_SET_GPIO_PARAMS = 32,
|
|
IS_IO_CMD_FLASH_GET_AUTO_FREERUN_DEFAULT = 33,
|
|
IS_IO_CMD_FLASH_GET_AUTO_FREERUN = 34,
|
|
IS_IO_CMD_FLASH_SET_AUTO_FREERUN = 35
|
|
|
|
} IO_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Function for all IO features (including flash)
|
|
* \param nCommand specifies the command, \ref CONFIGURATION_CMD.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code.
|
|
*/
|
|
IDSEXP is_IO(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef enum E_AUTOPARAMETER_CMD
|
|
{
|
|
IS_AWB_CMD_GET_SUPPORTED_TYPES = 1,
|
|
IS_AWB_CMD_GET_TYPE = 2,
|
|
IS_AWB_CMD_SET_TYPE = 3,
|
|
IS_AWB_CMD_GET_ENABLE = 4,
|
|
IS_AWB_CMD_SET_ENABLE = 5,
|
|
IS_AWB_CMD_GET_SUPPORTED_RGB_COLOR_MODELS = 6,
|
|
IS_AWB_CMD_GET_RGB_COLOR_MODEL = 7,
|
|
IS_AWB_CMD_SET_RGB_COLOR_MODEL = 8,
|
|
|
|
IS_AES_CMD_GET_SUPPORTED_TYPES = 9,
|
|
IS_AES_CMD_SET_ENABLE = 10,
|
|
IS_AES_CMD_GET_ENABLE = 11,
|
|
IS_AES_CMD_SET_TYPE = 12,
|
|
IS_AES_CMD_GET_TYPE = 13,
|
|
IS_AES_CMD_SET_CONFIGURATION = 14,
|
|
IS_AES_CMD_GET_CONFIGURATION = 15,
|
|
IS_AES_CMD_GET_CONFIGURATION_DEFAULT = 16,
|
|
IS_AES_CMD_GET_CONFIGURATION_RANGE = 17
|
|
|
|
} AUTOPARAMETER_CMD;
|
|
|
|
/*!
|
|
* \brief AES modes used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef enum E_AES_MODE
|
|
{
|
|
IS_AES_MODE_PEAK = 0x01,
|
|
IS_AES_MODE_MEAN = 0x02
|
|
|
|
}AES_MODE;
|
|
|
|
/*!
|
|
* \brief AES configuration used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef struct
|
|
{
|
|
INT nMode;
|
|
CHAR pConfiguration[1];
|
|
|
|
} AES_CONFIGURATION;
|
|
|
|
/*!
|
|
* \brief AES peak white configuration used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef struct
|
|
{
|
|
IS_RECT rectUserAOI;
|
|
UINT nFrameSkip;
|
|
UINT nHysteresis;
|
|
UINT nReference;
|
|
UINT nChannel;
|
|
double f64Maximum;
|
|
double f64Minimum;
|
|
|
|
CHAR reserved[32];
|
|
|
|
}AES_PEAK_WHITE_CONFIGURATION;
|
|
|
|
/*!
|
|
* \brief AES peak configuration used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef struct
|
|
{
|
|
IS_RECT rectUserAOI;
|
|
UINT nFrameSkip;
|
|
UINT nHysteresis;
|
|
UINT nReference;
|
|
UINT nChannel;
|
|
double f64Maximum;
|
|
double f64Minimum;
|
|
UINT nMode;
|
|
UINT nGranularity;
|
|
|
|
}AES_PEAK_CONFIGURATION;
|
|
|
|
/*!
|
|
* \brief AES peak white configuration range used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef struct
|
|
{
|
|
IS_RANGE_S32 rangeFrameSkip;
|
|
IS_RANGE_S32 rangeHysteresis;
|
|
IS_RANGE_S32 rangeReference;
|
|
|
|
CHAR reserved[32];
|
|
|
|
}AES_PEAK_WHITE_CONFIGURATION_RANGE;
|
|
|
|
/*!
|
|
* \brief AES peak configuration range used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef struct
|
|
{
|
|
IS_RANGE_S32 rangeFrameSkip;
|
|
IS_RANGE_S32 rangeHysteresis;
|
|
IS_RANGE_S32 rangeReference;
|
|
|
|
}AES_PEAK_CONFIGURATION_RANGE;
|
|
|
|
/*!
|
|
* \brief AES channel enumeration used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
typedef enum E_AES_CHANNEL
|
|
{
|
|
IS_AES_CHANNEL_MONO = 0x01,
|
|
IS_AES_CHANNEL_RED = 0x01,
|
|
IS_AES_CHANNEL_GREEN = 0x02,
|
|
IS_AES_CHANNEL_BLUE = 0x04
|
|
|
|
}AES_CHANNEL;
|
|
|
|
/*!
|
|
* \brief AES peak channel mode enumeration used by AES_PEAK_CONFIGURATION, \ref AES_PEAK_CONFIGURATION.
|
|
*/
|
|
typedef enum E_AES_PEAK_MODE
|
|
{
|
|
IS_AES_PEAK_MODE_SELECTED_CHANNELS = 0x00,
|
|
IS_AES_PEAK_MODE_LEADING_CHANNEL = 0x01,
|
|
IS_AES_PEAK_MODE_ACCUMULATED_CHANNELS = 0x02
|
|
|
|
}AES_PEAK_MODE;
|
|
|
|
/*!
|
|
* \brief AES peak granularity enumeration used by AES_PEAK_CONFIGURATION, \ref AES_PEAK_CONFIGURATION.
|
|
*/
|
|
typedef enum E_AES_GRANULARITY
|
|
{
|
|
IS_AES_GRANULARITY_PER_100 = 0x00,
|
|
IS_AES_GRANULARITY_PER_1000 = 0x01,
|
|
IS_AES_GRANULARITY_PER_10000 = 0x02
|
|
|
|
}AES_GRANULARITY;
|
|
|
|
/*!
|
|
* \brief Defines used by is_AutoParameter, \ref is_AutoParameter.
|
|
*/
|
|
#define IS_AWB_GREYWORLD 0x0001
|
|
#define IS_AWB_COLOR_TEMPERATURE 0x0002
|
|
|
|
#define IS_AUTOPARAMETER_DISABLE 0
|
|
#define IS_AUTOPARAMETER_ENABLE 1
|
|
#define IS_AUTOPARAMETER_ENABLE_RUNONCE 2
|
|
|
|
|
|
/*!
|
|
* \brief Function to control all auto parameter settings
|
|
* \param nCommand specifies the command, \ref AUTOPARAMETER_CMD.
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code.
|
|
*/
|
|
IDSEXP is_AutoParameter(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
typedef struct
|
|
{
|
|
char* pSourceBuffer;
|
|
char* pDestBuffer;
|
|
INT nDestPixelFormat;
|
|
INT nDestPixelConverter;
|
|
INT nDestGamma;
|
|
INT nDestEdgeEnhancement;
|
|
INT nDestColorCorrectionMode;
|
|
INT nDestSaturationU;
|
|
INT nDestSaturationV;
|
|
BYTE reserved[32];
|
|
|
|
} BUFFER_CONVERSION_PARAMS;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_Convert , \ref is_Convert.
|
|
*/
|
|
typedef enum E_CONVERT_CMD
|
|
{
|
|
IS_CONVERT_CMD_APPLY_PARAMS_AND_CONVERT_BUFFER = 1
|
|
|
|
} CONVERT_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Function for different conversions (e.g. raw images to different pixelformats)
|
|
* \param hCam valid device handle.
|
|
* \param nCommand specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code.
|
|
*/
|
|
IDSEXP is_Convert(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_ParameterSet , \ref is_ParameterSet.
|
|
*/
|
|
typedef enum E_PARAMETERSET_CMD
|
|
{
|
|
IS_PARAMETERSET_CMD_LOAD_EEPROM = 1,
|
|
IS_PARAMETERSET_CMD_LOAD_FILE = 2,
|
|
IS_PARAMETERSET_CMD_SAVE_EEPROM = 3,
|
|
IS_PARAMETERSET_CMD_SAVE_FILE = 4,
|
|
IS_PARAMETERSET_CMD_GET_NUMBER_SUPPORTED = 5,
|
|
IS_PARAMETERSET_CMD_GET_HW_PARAMETERSET_AVAILABLE = 6,
|
|
IS_PARAMETERSET_CMD_ERASE_HW_PARAMETERSET = 7
|
|
} PARAMETERSET_CMD;
|
|
|
|
/*!
|
|
* \brief Interface to control all parameters settings
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_ParameterSet(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_EdgeEnhancement , \ref is_EdgeEnhancement.
|
|
*/
|
|
typedef enum E_EDGE_ENHANCEMENT_CMD
|
|
{
|
|
IS_EDGE_ENHANCEMENT_CMD_GET_RANGE = 1,
|
|
IS_EDGE_ENHANCEMENT_CMD_GET_DEFAULT = 2,
|
|
IS_EDGE_ENHANCEMENT_CMD_GET = 3,
|
|
IS_EDGE_ENHANCEMENT_CMD_SET = 4
|
|
|
|
} EDGE_ENHANCEMENT_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Interface to set the edge enhancement
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_EdgeEnhancement(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function is_PixelClock , \ref is_PixelClock.
|
|
*/
|
|
typedef enum E_PIXELCLOCK_CMD
|
|
{
|
|
IS_PIXELCLOCK_CMD_GET_NUMBER = 1,
|
|
IS_PIXELCLOCK_CMD_GET_LIST = 2,
|
|
IS_PIXELCLOCK_CMD_GET_RANGE = 3,
|
|
IS_PIXELCLOCK_CMD_GET_DEFAULT = 4,
|
|
IS_PIXELCLOCK_CMD_GET = 5,
|
|
IS_PIXELCLOCK_CMD_SET = 6
|
|
|
|
} PIXELCLOCK_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Interface to set the pixel clock
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_PixelClock(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
wchar_t* pwchFileName;
|
|
UINT nFileType;
|
|
UINT nQuality;
|
|
char** ppcImageMem;
|
|
UINT* pnImageID;
|
|
BYTE reserved[32];
|
|
|
|
} IMAGE_FILE_PARAMS;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function \ref is_ImageFile,
|
|
*
|
|
* \sa is_ImageFile.
|
|
*/
|
|
typedef enum E_IMAGE_FILE_CMD
|
|
{
|
|
IS_IMAGE_FILE_CMD_LOAD = 1,
|
|
IS_IMAGE_FILE_CMD_SAVE = 2
|
|
|
|
} IMAGE_FILE_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Interface for all image file operations
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_ImageFile(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
/*!
|
|
* \brief Enumeration of modes of function \ref is_Blacklevel.
|
|
*/
|
|
typedef enum E_BLACKLEVEL_MODES
|
|
{
|
|
IS_AUTO_BLACKLEVEL_OFF = 0,
|
|
IS_AUTO_BLACKLEVEL_ON = 1
|
|
|
|
} BLACKLEVEL_MODES;
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of caps of function \ref is_Blacklevel.
|
|
*/
|
|
typedef enum E_BLACKLEVEL_CAPS
|
|
{
|
|
IS_BLACKLEVEL_CAP_SET_AUTO_BLACKLEVEL = 1,
|
|
IS_BLACKLEVEL_CAP_SET_OFFSET = 2,
|
|
|
|
} BLACKLEVEL_CAPS;
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function \ref is_Blacklevel.
|
|
*/
|
|
typedef enum E_BLACKLEVEL_CMD
|
|
{
|
|
IS_BLACKLEVEL_CMD_GET_CAPS = 1,
|
|
IS_BLACKLEVEL_CMD_GET_MODE_DEFAULT = 2,
|
|
IS_BLACKLEVEL_CMD_GET_MODE = 3,
|
|
IS_BLACKLEVEL_CMD_SET_MODE = 4,
|
|
IS_BLACKLEVEL_CMD_GET_OFFSET_DEFAULT = 5,
|
|
IS_BLACKLEVEL_CMD_GET_OFFSET_RANGE = 6,
|
|
IS_BLACKLEVEL_CMD_GET_OFFSET = 7,
|
|
IS_BLACKLEVEL_CMD_SET_OFFSET = 8
|
|
|
|
} BLACKLEVEL_CMD;
|
|
|
|
/*!
|
|
* \brief Interface for all black level operations
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_Blacklevel(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function \ref is_ImageBuffer.
|
|
*/
|
|
typedef enum E_IMGBUF_CMD
|
|
{
|
|
IS_IMGBUF_DEVMEM_CMD_GET_AVAILABLE_ITERATIONS = 1,
|
|
IS_IMGBUF_DEVMEM_CMD_GET_ITERATION_INFO = 2,
|
|
IS_IMGBUF_DEVMEM_CMD_TRANSFER_IMAGE = 3,
|
|
IS_IMGBUF_DEVMEM_CMD_RELEASE_ITERATIONS = 4
|
|
|
|
} IMGBUF_CMD;
|
|
|
|
|
|
/*!
|
|
* \brief Data type for ID ranges of iterations or image IDs
|
|
*/
|
|
typedef struct S_ID_RANGE
|
|
{
|
|
INT s32First;
|
|
INT s32Last;
|
|
|
|
} ID_RANGE;
|
|
|
|
|
|
/*!
|
|
* \brief Info structure for capture iterations.
|
|
*/
|
|
typedef struct S_IMGBUF_ITERATION_INFO
|
|
{
|
|
UINT u32IterationID;
|
|
ID_RANGE rangeImageID;
|
|
BYTE bReserved[52];
|
|
|
|
} IMGBUF_ITERATION_INFO;
|
|
|
|
|
|
/*!
|
|
* \brief Structure to specify concrete image
|
|
*/
|
|
typedef struct S_IMGBUF_ITEM
|
|
{
|
|
UINT u32IterationID;
|
|
INT s32ImageID;
|
|
|
|
} IMGBUF_ITEM;
|
|
|
|
|
|
/*!
|
|
* \brief Interface for all ImageBuffer operations
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_ImageBuffer(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
typedef enum E_MEASURE_SHARPNESS_CALCULATION_ALGORITHM
|
|
{
|
|
IS_MEASURE_SHARPNESS_CALCULATION_ALGORITHM_TENENGRAD = 0x01,
|
|
IS_MEASURE_SHARPNESS_CALCULATION_ALGORITHM_MEAN_SCORE = 0x02,
|
|
IS_MEASURE_SHARPNESS_CALCULATION_ALGORITHM_HISTOGRAM_VARIANCE = 0x04,
|
|
IS_MEASURE_SHARPNESS_CALCULATION_ALGORITHM_SOBEL = 0x10
|
|
|
|
} MEASURE_SHARPNESS_CALCULATION_ALGORITHM;
|
|
|
|
/*!
|
|
* \brief Info structure about the calculated sharpness value from the function \ref is_Measure.
|
|
*/
|
|
struct S_MEASURE_SHARPNESS_AOI_INFO
|
|
{
|
|
UINT u32NumberAOI;
|
|
UINT u32SharpnessValue;
|
|
IS_RECT rcAOI;
|
|
|
|
};
|
|
|
|
typedef DEPRECATED(struct S_MEASURE_SHARPNESS_AOI_INFO MEASURE_SHARPNESS_AOI_INFO);
|
|
|
|
typedef struct S_MEASURE_SHARPNESS_INFO
|
|
{
|
|
UINT u32NumberAOI;
|
|
float fSharpnessValue;
|
|
IS_RECT rcAOI;
|
|
char* pcImageMem;
|
|
|
|
} MEASURE_SHARPNESS_INFO;
|
|
|
|
/*!
|
|
* \brief Enumeration of commands of function \ref is_Measure.
|
|
*/
|
|
typedef enum E_MEASURE_CMD
|
|
{
|
|
IS_MEASURE_CMD_SHARPNESS_AOI_SET = 1,
|
|
IS_MEASURE_CMD_SHARPNESS_AOI_INQUIRE = 2,
|
|
IS_MEASURE_CMD_SHARPNESS_AOI_SET_PRESET = 3,
|
|
IS_MEASURE_CMD_SHARPNESS_CALCULATION_ALGORITHM_SET = 4
|
|
|
|
} MEASURE_CMD;
|
|
|
|
/*!
|
|
* \brief sharpness AOI presets for the function \ref is_Measure.
|
|
*/
|
|
typedef enum E_MEASURE_SHARPNESS_AOI_PRESETS
|
|
{
|
|
IS_MEASURE_SHARPNESS_AOI_PRESET_1 = 1
|
|
|
|
} MEASURE_SHARPNESS_AOI_PRESETS;
|
|
|
|
/*!
|
|
* \brief Interface for all measure operations
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_Measure(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
/*!
|
|
* \brief Defines for the is_LUT() function
|
|
*/
|
|
#define IS_LUT_64 64
|
|
#define IS_LUT_128 128
|
|
|
|
#define IS_LUT_PRESET_ID_IDENTITY 0
|
|
#define IS_LUT_PRESET_ID_NEGATIVE 1
|
|
#define IS_LUT_PRESET_ID_GLOW1 2
|
|
#define IS_LUT_PRESET_ID_GLOW2 3
|
|
#define IS_LUT_PRESET_ID_ASTRO1 4
|
|
#define IS_LUT_PRESET_ID_RAINBOW1 5
|
|
#define IS_LUT_PRESET_ID_MAP1 6
|
|
#define IS_LUT_PRESET_ID_HOT 7
|
|
#define IS_LUT_PRESET_ID_SEPIC 8
|
|
#define IS_LUT_PRESET_ID_ONLY_RED 9
|
|
#define IS_LUT_PRESET_ID_ONLY_GREEN 10
|
|
#define IS_LUT_PRESET_ID_ONLY_BLUE 11
|
|
#define IS_LUT_PRESET_ID_DIGITAL_GAIN_2X 12
|
|
#define IS_LUT_PRESET_ID_DIGITAL_GAIN_4X 13
|
|
#define IS_LUT_PRESET_ID_DIGITAL_GAIN_8X 14
|
|
|
|
typedef INT IS_LUT_PRESET;
|
|
|
|
/*!
|
|
* \brief Structure with LUT values \ref is_LUT.
|
|
*/
|
|
typedef struct
|
|
{
|
|
double dblValues[3][IS_LUT_64];
|
|
BOOL bAllChannelsAreEqual;
|
|
|
|
} IS_LUT_CONFIGURATION_64;
|
|
|
|
/*!
|
|
* \brief Structure for LUT presets \ref is_LUT.
|
|
*/
|
|
typedef struct
|
|
{
|
|
IS_LUT_PRESET predefinedLutID;
|
|
IS_LUT_CONFIGURATION_64 lutConfiguration;
|
|
|
|
} IS_LUT_CONFIGURATION_PRESET_64;
|
|
|
|
/*!
|
|
* \brief Commands for the is_LUT function \ref is_LUT.
|
|
*/
|
|
#define IS_LUT_CMD_SET_ENABLED 0x0001
|
|
#define IS_LUT_CMD_SET_MODE 0x0002
|
|
#define IS_LUT_CMD_GET_STATE 0x0005
|
|
#define IS_LUT_CMD_GET_SUPPORT_INFO 0x0006
|
|
#define IS_LUT_CMD_SET_USER_LUT 0x0010
|
|
#define IS_LUT_CMD_GET_USER_LUT 0x0011
|
|
#define IS_LUT_CMD_GET_COMPLETE_LUT 0x0012
|
|
#define IS_LUT_CMD_GET_PRESET_LUT 0x0013
|
|
#define IS_LUT_CMD_LOAD_FILE 0x0100
|
|
#define IS_LUT_CMD_SAVE_FILE 0x0101
|
|
|
|
/*!
|
|
* \brief Defines for the state of the LUT \ref is_LUT.
|
|
*/
|
|
#define IS_LUT_STATE_ID_FLAG_HARDWARE 0x0010
|
|
#define IS_LUT_STATE_ID_FLAG_SOFTWARE 0x0020
|
|
#define IS_LUT_STATE_ID_FLAG_GAMMA 0x0100
|
|
#define IS_LUT_STATE_ID_FLAG_LUT 0x0200
|
|
|
|
#define IS_LUT_STATE_ID_INACTIVE 0x0000
|
|
#define IS_LUT_STATE_ID_NOT_SUPPORTED 0x0001
|
|
#define IS_LUT_STATE_ID_HARDWARE_LUT (IS_LUT_STATE_ID_FLAG_HARDWARE | IS_LUT_STATE_ID_FLAG_LUT)
|
|
#define IS_LUT_STATE_ID_HARDWARE_GAMMA (IS_LUT_STATE_ID_FLAG_HARDWARE | IS_LUT_STATE_ID_FLAG_GAMMA)
|
|
#define IS_LUT_STATE_ID_HARDWARE_LUTANDGAMMA (IS_LUT_STATE_ID_FLAG_HARDWARE | IS_LUT_STATE_ID_FLAG_LUT | IS_LUT_STATE_ID_FLAG_GAMMA)
|
|
#define IS_LUT_STATE_ID_SOFTWARE_LUT (IS_LUT_STATE_ID_FLAG_SOFTWARE | IS_LUT_STATE_ID_FLAG_LUT)
|
|
#define IS_LUT_STATE_ID_SOFTWARE_GAMMA (IS_LUT_STATE_ID_FLAG_SOFTWARE | IS_LUT_STATE_ID_FLAG_GAMMA)
|
|
#define IS_LUT_STATE_ID_SOFTWARE_LUTANDGAMMA (IS_LUT_STATE_ID_FLAG_SOFTWARE | IS_LUT_STATE_ID_FLAG_LUT | IS_LUT_STATE_ID_FLAG_GAMMA)
|
|
|
|
#define IS_LUT_MODE_ID_DEFAULT 0
|
|
#define IS_LUT_MODE_ID_FORCE_HARDWARE 1
|
|
#define IS_LUT_MODE_ID_FORCE_SOFTWARE 2
|
|
|
|
#define IS_LUT_DISABLED 0
|
|
#define IS_LUT_ENABLED 1
|
|
|
|
typedef INT IS_LUT_ENABLED_STATE;
|
|
typedef INT IS_LUT_MODE;
|
|
|
|
/*!
|
|
* \brief Structure for the state of the LUT \ref is_LUT.
|
|
*/
|
|
typedef struct
|
|
{
|
|
/* use userdefined lut (or only gamma?) */
|
|
BOOL bLUTEnabled;
|
|
|
|
/* lut state id */
|
|
INT nLUTStateID;
|
|
|
|
/* lut mode */
|
|
INT nLUTModeID;
|
|
|
|
/* lut bit depth */
|
|
INT nLUTBits;
|
|
|
|
} IS_LUT_STATE;
|
|
|
|
/*!
|
|
* \brief Structure with infos about the LUT settings \ref is_LUT.
|
|
*/
|
|
typedef struct
|
|
{
|
|
/* supported lut features in current color/conversion mode */
|
|
BOOL bSupportLUTHardware;
|
|
BOOL bSupportLUTSoftware;
|
|
|
|
INT nBitsHardware;
|
|
INT nBitsSoftware;
|
|
|
|
/* supported lut channels */
|
|
INT nChannelsHardware;
|
|
INT nChannelsSoftware;
|
|
|
|
} IS_LUT_SUPPORT_INFO;
|
|
|
|
/*!
|
|
* \brief Function to control the LUT
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_LUT(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParams);
|
|
|
|
|
|
/*!
|
|
* \brief Defines for the is_Gamma function \ref is_Gamma.
|
|
*/
|
|
#define IS_GAMMA_CMD_SET 0x0001
|
|
#define IS_GAMMA_CMD_GET_DEFAULT 0x0002
|
|
#define IS_GAMMA_CMD_GET 0x0003
|
|
|
|
#define IS_GAMMA_VALUE_MIN 1
|
|
#define IS_GAMMA_VALUE_MAX 1000
|
|
|
|
/*!
|
|
* \brief Function to set/get gamma
|
|
* \param hCam valid device handle.
|
|
* \param nCommand Specifies the command
|
|
* \param pParam input or output storage for the accessed param.
|
|
* \param cbSizeOfParam size of *pParam.
|
|
* \return error code
|
|
*/
|
|
IDSEXP is_Gamma(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParams);
|
|
|
|
|
|
typedef enum E_IS_MEMORY_CMD
|
|
{
|
|
IS_MEMORY_GET_SIZE = 1,
|
|
IS_MEMORY_READ = 2,
|
|
IS_MEMORY_WRITE = 3
|
|
|
|
} IS_MEMORY_CMD;
|
|
|
|
|
|
typedef enum E_IS_MEMORY_DESCRIPTION
|
|
{
|
|
IS_MEMORY_USER_1 = 1,
|
|
IS_MEMORY_USER_2 = 2
|
|
|
|
} IS_MEMORY_DESCRIPTION;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UINT u32Description;
|
|
UINT u32Offset;
|
|
unsigned char* pu8Data;
|
|
UINT u32SizeOfData;
|
|
|
|
} IS_MEMORY_ACCESS;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UINT u32Description;
|
|
UINT u32SizeBytes;
|
|
|
|
} IS_MEMORY_SIZE;
|
|
|
|
|
|
/*!
|
|
* \brief Generic function to access memory.
|
|
*
|
|
* \param hf Valid camera handle.
|
|
* \param u32Command The read / write command.
|
|
* \param pParam I/O parameter, depends on the command.
|
|
* \param cbParam Size of *pParam.
|
|
* \return Status of the execution.
|
|
*/
|
|
IDSEXP is_Memory(HIDS hf, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UINT nPosX; // start position in x-direction
|
|
UINT nPosY; // start position in y-direction
|
|
UINT nWidth; // width of the AOI
|
|
UINT nHeight; // height of the AOI
|
|
UINT nStatus; // Indicates the status of this AOI after a call to IS_AOI(IS_AOI_MULTI_SET_AOI,...);
|
|
|
|
} IS_MULTI_AOI_DESCRIPTOR;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UINT nNumberOfAOIs; // The number of AOI descriptors in pMultiAOIList
|
|
IS_MULTI_AOI_DESCRIPTOR * pMultiAOIList; // Contains an array of IS_MULTI_AOI_DESCRIPTOR with nNumberOfAOIs elements
|
|
|
|
} IS_MULTI_AOI_CONTAINER;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
UEYE_ETH_ADDR_IPV4 ipCamera;
|
|
UEYE_ETH_ADDR_IPV4 ipMulticast;
|
|
UINT u32CameraId;
|
|
UINT u32ErrorHandlingMode;
|
|
} IS_PMC_READONLYDEVICEDESCRIPTOR;
|
|
|
|
#define IS_MC_CMD_FLAG_ACTIVE 0x1000
|
|
#define IS_MC_CMD_FLAG_PASSIVE 0x2000
|
|
|
|
/* is_Multicast() commands for passive mode (listener only) */
|
|
#define IS_PMC_CMD_INITIALIZE ( 0x0001 | IS_MC_CMD_FLAG_PASSIVE )
|
|
#define IS_PMC_CMD_DEINITIALIZE ( 0x0002 | IS_MC_CMD_FLAG_PASSIVE )
|
|
|
|
#define IS_PMC_CMD_ADDMCDEVICE ( 0x0003 | IS_MC_CMD_FLAG_PASSIVE )
|
|
#define IS_PMC_CMD_REMOVEMCDEVICE ( 0x0004 | IS_MC_CMD_FLAG_PASSIVE )
|
|
#define IS_PMC_CMD_STOREDEVICES ( 0x0005 | IS_MC_CMD_FLAG_PASSIVE )
|
|
#define IS_PMC_CMD_LOADDEVICES ( 0x0006 | IS_MC_CMD_FLAG_PASSIVE )
|
|
|
|
#define IS_PMC_CMD_SYSTEM_SET_ENABLE ( 0x0007 | IS_MC_CMD_FLAG_PASSIVE )
|
|
#define IS_PMC_CMD_SYSTEM_GET_ENABLE ( 0x0008 | IS_MC_CMD_FLAG_PASSIVE )
|
|
|
|
#define IS_PMC_CMD_REMOVEALLMCDEVICES ( 0x0009 | IS_MC_CMD_FLAG_PASSIVE )
|
|
|
|
/* is_Multicast() commands for active mode (master) */
|
|
#define IS_AMC_CMD_SET_MC_IP ( 0x0010 | IS_MC_CMD_FLAG_ACTIVE )
|
|
#define IS_AMC_CMD_GET_MC_IP ( 0x0011 | IS_MC_CMD_FLAG_ACTIVE )
|
|
#define IS_AMC_CMD_SET_MC_ENABLED ( 0x0012 | IS_MC_CMD_FLAG_ACTIVE )
|
|
#define IS_AMC_CMD_GET_MC_ENABLED ( 0x0013 | IS_MC_CMD_FLAG_ACTIVE )
|
|
#define IS_AMC_CMD_GET_MC_SUPPORTED ( 0x0014 | IS_MC_CMD_FLAG_ACTIVE )
|
|
|
|
#define IS_AMC_SUPPORTED_FLAG_DEVICE ( 0x0001 )
|
|
#define IS_AMC_SUPPORTED_FLAG_FIRMWARE ( 0x0002 )
|
|
|
|
#define IS_PMC_ERRORHANDLING_REJECT_IMAGES 0x01
|
|
#define IS_PMC_ERRORHANDLING_IGNORE_MISSING_PARTS 0x02
|
|
#define IS_PMC_ERRORHANDLING_MERGE_IMAGES_RELEASE_ON_COMPLETE 0x03
|
|
#define IS_PMC_ERRORHANDLING_MERGE_IMAGES_RELEASE_ON_RECEIVED_IMGLEN 0x04
|
|
|
|
/*!
|
|
* \brief Multicast configuration.
|
|
*
|
|
* \param hf Camera handle. Only used for active multicast commands.
|
|
* \param u32Command Multicast command.
|
|
* \param pParam I/O parameter, depends on the command.
|
|
* \param cbParam Size of *pParam.
|
|
* \return Status of the execution.
|
|
*/
|
|
IDSEXP is_Multicast( HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParams );
|
|
|
|
|
|
/*!
|
|
* \brief Sequencer command list
|
|
*/
|
|
typedef enum E_SEQUENCER_CMD
|
|
{
|
|
/*! Enable or disable the sequencer
|
|
* Param: in Int32
|
|
*/
|
|
IS_SEQUENCER_MODE_ENABLED_SET = 1,
|
|
/*! Receive the state of the sequencer
|
|
* Param: out Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_MODE_ENABLED_GET = 2,
|
|
|
|
/*! Enable or disable the sequencer configuration
|
|
* Param: in Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_CONFIGURATION_ENABLED_SET = 3,
|
|
/*! Receive the state of the sequencer configuration
|
|
* Param: out Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_CONFIGURATION_ENABLED_GET = 4,
|
|
|
|
/*! Receive if the sequencer is supported by the device
|
|
* Param: out Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_MODE_SUPPORTED_GET = 5,
|
|
|
|
/*! Reset the sequencer
|
|
* Param: NULL
|
|
* Size: 0
|
|
*/
|
|
IS_SEQUENCER_RESET = 6,
|
|
|
|
/*! Load the given sequencer configuration file
|
|
* Param: in wchar_t*
|
|
* Size: 0
|
|
*/
|
|
IS_SEQUENCER_CONFIGURATION_LOAD = 7,
|
|
|
|
/*! Save the current configuration to the given sequencer configuration file
|
|
* Param: in wchar_t*
|
|
* Size: 0
|
|
*/
|
|
IS_SEQUENCER_CONFIGURATION_SAVE = 8,
|
|
|
|
/*! Saves the current device state for the currently selected set
|
|
* Param: NULL
|
|
* Size: 0
|
|
*/
|
|
IS_SEQUENCER_SET_SAVE = 10,
|
|
|
|
/*! Sets the initial/start sequencer set, which is the first set used within a sequencer
|
|
* Param: in Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_SET_START_SET = 11,
|
|
|
|
/*! Receives the initial/start sequencer set, which is the first set used within a sequencer
|
|
* Param: out Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_SET_START_GET = 12,
|
|
|
|
/*! Selects the sequencer set to which further feature settings applies.
|
|
* Param: in Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_SET_SELECTED_SET = 13,
|
|
|
|
/*! Receives the currently selected set to which further feature settings applies.
|
|
* Param: out Int32
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_SET_SELECTED_GET = 14,
|
|
|
|
/*! Sets the sequencer path configuration
|
|
* Param: in IS_SEQUENCER_PATH
|
|
* Size: sizeof(IS_SEQUENCER_PATH)
|
|
*/
|
|
IS_SEQUENCER_SET_PATH_SET = 15,
|
|
|
|
/*! Receives the sequencer path configuration
|
|
* Param: in IS_SEQUENCER_PATH
|
|
* Size: sizeof(IS_SEQUENCER_PATH)
|
|
*/
|
|
IS_SEQUENCER_SET_PATH_GET = 16,
|
|
|
|
/*! Receives the maximum count of supported sequencer sets
|
|
* Param: out Int32
|
|
* Size : sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_SET_MAX_COUNT_GET = 17,
|
|
|
|
/*! Selects which sequencer features to control
|
|
* Param: in Int64
|
|
* Size: sizeof(Int64)
|
|
*/
|
|
IS_SEQUENCER_FEATURE_SELECTED_SET = 20,
|
|
|
|
/*! Receives the currently selected sequencer feature to control
|
|
* Param: out Int64
|
|
* Size: sizeof(Int64)
|
|
*/
|
|
IS_SEQUENCER_FEATURE_SELECTED_GET = 21,
|
|
|
|
/*! Enables the selected feature and make it active in all the sequencer sets.
|
|
* Param: in Int32 (1 to enable, 0 to disable)
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_FEATURE_ENABLED_SET = 22,
|
|
|
|
/*! Receives if the selected feature is enabled.
|
|
* Param: out Int32 (1 feature is enabled, 0 feature is disabled)
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_FEATURE_ENABLED_GET = 23,
|
|
|
|
/*! Receives a bitmask with the supported sequencer features
|
|
* Param: out Int64 (1 feature is enabled, 0 feature is disabled)
|
|
* Size: sizeof(Int64)
|
|
*/
|
|
IS_SEQUENCER_FEATURE_SUPPORTED_GET = 24,
|
|
|
|
/*! Receives the currently saved value for the selected feature
|
|
* Param: depends on feature
|
|
* Size: sizeof(T)
|
|
* /see IS_SEQUENCER_FEATURE
|
|
*/
|
|
IS_SEQUENCER_FEATURE_VALUE_GET = 25,
|
|
|
|
/*! Receives the maximum count of supported paths
|
|
* Param: out Int32
|
|
* Size : sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_PATH_MAX_COUNT_GET = 30,
|
|
|
|
/*! Receives a bitmask with the supported sequencer trigger sources
|
|
* Param: out Int32 (1 trigger source is supported, 0 trigger source is not supported)
|
|
* Size: sizeof(Int32)
|
|
*/
|
|
IS_SEQUENCER_TRIGGER_SOURCE_SUPPORTED_GET = 31
|
|
|
|
}IS_SEQUENCER_CMD;
|
|
|
|
/*!
|
|
* \brief Sequencer path configuration
|
|
*/
|
|
typedef struct
|
|
{
|
|
/*! Path index to which the configuration will apply. (0 and 1 is supported) */
|
|
UINT u32PathIndex;
|
|
/*! Specifies the next sequencer set. */
|
|
UINT u32NextIndex;
|
|
/*! Specifies the internal signal or physical input line to use as the sequencer trigger source. */
|
|
UINT u32TriggerSource;
|
|
/*! Specifies the activation mode of the sequencer trigger */
|
|
UINT u32TriggerActivation;
|
|
} IS_SEQUENCER_PATH;
|
|
|
|
/*!
|
|
* \brief Sequencer gain configuration for the gain feature
|
|
*/
|
|
typedef struct
|
|
{
|
|
UINT Master;
|
|
|
|
UINT Red;
|
|
UINT Green;
|
|
UINT Blue;
|
|
}IS_SEQUENCER_GAIN_CONFIGURATION;
|
|
|
|
/*!
|
|
* \brief Sequencer flash configuration for the flash feature
|
|
*/
|
|
typedef struct
|
|
{
|
|
UINT u32Mode;
|
|
UINT u32Duration;
|
|
UINT u32Delay;
|
|
|
|
}IS_SEQUENCER_FLASH_CONFIGURATION;
|
|
|
|
/*!
|
|
* \brief Sequencer features
|
|
*
|
|
* Specifies the sequencer features that can be part of a device sequencer set. All the device's sequencer
|
|
* sets have the same features.
|
|
*/
|
|
typedef enum E_IS_SEQUENCER_FEATURE
|
|
{
|
|
/*! Exposure
|
|
* Value type: double
|
|
*/
|
|
IS_FEATURE_EXPOSURE = 0x01,
|
|
|
|
/*! Gain configuration
|
|
* Value type: IS_SEQUENCER_GAIN_CONFIGURATION
|
|
*/
|
|
IS_FEATURE_GAIN = 0x02,
|
|
|
|
/*! AOI offset x position
|
|
* Value type: int32
|
|
*/
|
|
IS_FEATURE_AOI_OFFSET_X = 0x04,
|
|
|
|
/*! AOI offset y position
|
|
* Value type: int32
|
|
*/
|
|
IS_FEATURE_AOI_OFFSET_Y = 0x08,
|
|
|
|
/*! Flash parameter
|
|
* Value type: IS_SEQUENCER_FLASH_CONFIGURATION
|
|
*/
|
|
IS_FEATURE_FLASH = 0x10
|
|
|
|
} IS_SEQUENCER_FEATURE;
|
|
|
|
/*!
|
|
* \brief Sequencer trigger source
|
|
*
|
|
* Specifies the internal signal or physical input line to use as the sequencer trigger source.
|
|
*/
|
|
typedef enum E_IS_SEQUENCER_TRIGGER_SOURCE
|
|
{
|
|
/*! Disables the sequencer trigger source */
|
|
IS_TRIGGER_SOURCE_OFF = 0,
|
|
/*! Starts with the reception of the Frame End. */
|
|
IS_TRIGGER_SOURCE_FRAME_END = 0x01,
|
|
/*! Starts with the reception of the Frame Start. */
|
|
IS_TRIGGER_SOURCE_FRAME_START = 0x02,
|
|
/*! Starts with the end of exposure. */
|
|
IS_TRIGGER_SOURCE_EXPOSURE_END = 0x04
|
|
|
|
} E_IS_SEQUENCER_TRIGGER_SOURCE;
|
|
|
|
/*!
|
|
* \brief Sequencer configuration.
|
|
*
|
|
* \param hCam Camera handle.
|
|
* \param u32Command Sequencer command.
|
|
* \param pParam I/O parameter, depends on the command.
|
|
* \param cbSizeOfParams Size of *pParam.
|
|
* \return Status of the execution.
|
|
*/
|
|
IDSEXP is_Sequencer( HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParams );
|
|
|
|
|
|
/*!
|
|
* \brief Structure for read/write of persistent camera memories (EEPROM, Flash)
|
|
*/
|
|
typedef struct {
|
|
UINT u32Offset;
|
|
UINT u32Count;
|
|
INT s32Option;
|
|
char* pu8Memory;
|
|
} IS_PERSISTENT_MEMORY;
|
|
|
|
|
|
typedef enum E_PERSISTENT_MEMORY_CMD
|
|
{
|
|
IS_PERSISTENT_MEMORY_READ_USER_EXTENDED = 1,
|
|
IS_PERSISTENT_MEMORY_WRITE_USER_EXTENDED = 2,
|
|
IS_PERSISTENT_MEMORY_GET_SIZE_USER_EXTENDED = 3,
|
|
IS_PERSISTENT_MEMORY_READ_USER = 4,
|
|
IS_PERSISTENT_MEMORY_WRITE_USER = 5,
|
|
IS_PERSISTENT_MEMORY_GET_SIZE_USER = 6,
|
|
IS_PERSISTENT_MEMORY_READ_USER_PROTECTED = 7,
|
|
IS_PERSISTENT_MEMORY_WRITE_USER_PROTECTED = 8,
|
|
IS_PERSISTENT_MEMORY_GET_SIZE_USER_PROTECTED = 9
|
|
|
|
} IS_PERSISTENT_MEMORY_CMD;
|
|
|
|
/*!
|
|
* \brief Persistent memory read/write. Replaces deprectated functions is_WriteEEPROM, is_ReadEEPROM
|
|
*
|
|
* \param hCam Camera handle.
|
|
* \param u32Command Command.
|
|
* \param pParam I/O parameter, depends on the command.
|
|
* \param cbSizeOfParams Size of *pParam.
|
|
* \return Status of the execution.
|
|
*/
|
|
IDSEXP is_PersistentMemory(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam);
|
|
|
|
/*!
|
|
* \brief Power delivery
|
|
*
|
|
* \param hCam Camera handle.
|
|
* \param u32Command Power delivery command.
|
|
* \param pParam I/O parameter, depends on the command.
|
|
* \param cbSizeOfParams Size of *pParam.
|
|
* \return Status of the execution.
|
|
*/
|
|
IDSEXP is_PowerDelivery(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParams);
|
|
|
|
/* Command list for is_PowerDelivery() */
|
|
typedef enum E_POWER_DELIVERY_CMD
|
|
{
|
|
IS_POWER_DELIVERY_CMD_GET_SUPPORTED = 1,
|
|
IS_POWER_DELIVERY_CMD_GET_PROFILE = 2,
|
|
IS_POWER_DELIVERY_CMD_GET_SUPPORTED_PROFILES = 3,
|
|
IS_POWER_DELIVERY_CMD_SET_PROFILE = 4
|
|
} POWER_DELIVERY_CMD;
|
|
|
|
|
|
/*! Supported voltages for power delivery */
|
|
typedef enum E_POWER_DELIVERY_PROFILES
|
|
{
|
|
IS_POWER_DELIVERY_PROFILE_INVALID = 0x00000000,
|
|
IS_POWER_DELIVERY_PROFILE_5V_LOW_POWER = 0x00000001,
|
|
IS_POWER_DELIVERY_PROFILE_5V_HIGH_POWER = 0x00000002,
|
|
IS_POWER_DELIVERY_PROFILE_9V = 0x00000004,
|
|
IS_POWER_DELIVERY_PROFILE_12V = 0x00000008,
|
|
IS_POWER_DELIVERY_PROFILE_14V8 = 0x00000010,
|
|
IS_POWER_DELIVERY_PROFILE_15V = 0x00000020
|
|
} POWER_DELIVERY_PROFILES;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
#pragma pack(pop)
|
|
|
|
#endif // #ifndef __IDS_HEADER__
|