Please enable JavaScript to view this site.

IDS Software Suite 4.96.1

Windows_Logo
Linux_Logo

USB 3.x

USB 3.x

Syntax

INT is_DeviceFeature (HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Description

Using is_DeviceFeature() you can configure special camera functions provided by specific uEye models:

On UI-325x models: Control the multi integration mode, see uEye Cockpit: Shutter. The multi integration mode can only be used in trigger mode.

hint_info

Note: Use is_SetExternalTrigger() to switch into trigger mode before you activate the multi integration mode.

The nCommand input parameter is used to select the function mode. The pParam input parameter depends on the selected function mode. If you select functions for setting or returning a value, pParam contains a pointer to a variable of the UINT type. The size of the memory area to which pParam refers is specified in the cbSizeOfParam input parameter.

hint_info

Note: If you use is_ResetToDefault() to reset the cameras to the default values, the multi integration mode will be disabled. Also the multi integration mode is not saved in the uEye parameter file (ini file) for the specific camera.

Input parameters

hCam

Camera handle

pParam

Pointer to a function parameter, whose function depends on nCommand.

cbSizeOfParam

Size (in bytes) of the memory area to which pParam refers.

Status flags from DEVICE_FEATURE_MODE_CAPS

IS_DEVICE_FEATURE_CAP_MULTI_INTEGRATION

The multi integration mode is supported.

Contents of the IS_MULTI_INTEGRATION_CYCLES structure

double

dblIntegration_ms

Pulse (exposure time) in milliseconds

double

dblPause_ms

Pause in milliseconds

Contents of the IS_MULTI_INTEGRATION_SCOPE structure

double

dblMinIntegration_ms

Minimum pulse duration (exposure time) in milliseconds

double

dblMaxIntegration_ms

Maximum pulse duration (exposure time) in milliseconds

double

dblIntegrationGranularity_ms

Pulse duration (exposure time) granularity in milliseconds

double

dblMinPause_ms

Minimum pause duration in milliseconds

double

dblMaxPause_ms

Maximum pause duration in milliseconds

double

dblPauseGranularity_ms

Pause duration granularity in milliseconds

double

dblMinCycle_ms

Minimum cycle duration (pulse and pause duration) in milliseconds

double

dblMaxCycle_ms

Maximum cycle duration (pulse and pause duration) in milliseconds

double

dblCycleGranularity_ms

Cycle granularity in milliseconds

double

dblMinTriggerCycle_ms

Minimum duration of trigger cycle (first cycle = trigger pulse + tripper pause) in milliseconds

double

dblMinTriggerDuration_ms

Minimum duration of the first pulse (trigger pulse) in milliseconds

UINT

nMinNumberOfCycles

Minimum number of cycles

UINT

nMaxNumberOfCycles

Maximum number of cycles

BYTE

m_bReserved[32]

reserved

Example

/* Switch into trigger mode before activating multi integration mode */
INT nRet = is_SetExternalTrigger(m_hCam, IS_SET_TRIGGER_SOFTWARE);
 
/* Get the scope for the multi integration params */
IS_MULTI_INTEGRATION_SCOPE scopeMIM;
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_SCOPE, (void*)&scopeMIM, sizeof(scopeMIM));
if (nRet == IS_SUCCESS)
{
double dblMinIntegration_ms = scopeMIM.dblMinIntegration_ms;
...
}
 
/* Init the multi integration params */
IS_MULTI_INTEGRATION_CYCLES * mimCycles =
new IS_MULTI_INTEGRATION_CYCLES[scopeMIM.nMaxNumberOfCycles](); /* Always use maximum available number */
 
mimCycles[0].dblIntegration_ms = 0.0010; /* 1 us high */
mimCycles[0].dblPause_ms = 0.0150; /* 15 us pause */
mimCycles[1] ...
...
 
/* Set the multi integration params */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_PARAMS, (void*)mimCycles, m_sScope.nMaxNumberOfCycles * sizeof(IS_MULTI_INTEGRATION_CYCLES));
 
/* Read back the multi integration params */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_PARAMS, (void*)mimCycles, m_sScope.nMaxNumberOfCycles * sizeof(IS_MULTI_INTEGRATION_CYCLES));
 
/* Get the default value for the multi integration mode */
UINT u32Mode;
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE_DEFAULT, (void*)&u32Mode, sizeof(u32Mode));
 
/* Get the current multi integration mode */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE, (void*)&u32Mode, sizeof(u32Mode));
 
/* Set a new mode */
u32Mode = MULTI_INTEGRATION_MODE_SOFTWARE;
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_MODE, (void*)&u32Mode, sizeof(u32Mode));

© 2022 IDS Imaging Development Systems GmbH