|  |  | 
|---|---|
| USB 2.0 USB 3.x GigE | USB 2.0 USB 3.x GigE | 
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-124x/UI-324x/UI-524x and UI-125x/UI-325x/UI-525x models: Control the Log mode, see uEye Cockpit: Shutter.
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.
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_LOG_MODE | Log mode is supported/Set mode | 
/* Read and set default Log mode */
UINT nDefaultLogMode = 0;
INT nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_DEFAULT, (void*)&nDefaultLogMode, sizeof(nDefaultLogMode));
if (nRet == IS_SUCCESS) {
  nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_SET_LOG_MODE, (void*)&nDefaultLogMode, sizeof(nDefaultLogMode));
}
/* Read current Log pixel mode */
UINT nLogMode = 0;
INT nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE, (void*)&nLogMode, sizeof(nLogMode));
/* Read default Log pixel mode manual value */
UINT nDefaultLogModeManualValue = 0;
INT nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE_DEFAULT, (void*)&nDefaultLogModeManualValue, sizeof(nDefaultLogModeManualValue));
 
/* Get the range of the manual value */
IS_RANGE_S32 nLogModeManualValueRange;
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE_RANGE, (void*)&nLogModeManualValueRange, sizeof(nLogModeManualValueRange);
 
if (nRet == IS_SUCCESS) {
  INT nMin = nLogModeManualValueRange.s32Min;
  INT nMax = nLogModeManualValueRange.s32Max;
  INT nInc = nLogModeManualValueRange.s32Inc;
}
UINT nLogMode = 2;
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_SET_LOG_MODE, (void*)&nLogMode, sizeof(nLogMode));
 
INT nLogModeValue = -2;
 
/* Set log pixel mode value */
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_SET_LOG_MODE_MANUAL_VALUE, (void*)&nLogModeValue, sizeof(nLogModeValue));
 
/* Read current Log mode manual value */
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_VALUE, (void*)&nLogModeValue, sizeof(nLogModeValue));
/* Read default Log mode manual gain */
UINT nDefaultLogModeManualGain = 0;
INT nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN_DEFAULT, (void*)&nDefaultLogModeManualGain, sizeof(nDefaultLogModeManualGain));
 
/* Get the range of the manual value */
IS_RANGE_S32 nLogModeManualGainRange;
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN_RANGE, (void*)&nLogModeManualGainRange, sizeof(nLogModeManualGainRange));
 
if (nRet == IS_SUCCESS) {
  INT nMin = nLogModeManualGainRange.s32Min;
  INT nMax = nLogModeManualGainRange.s32Max;
  INT nInc = nLogModeManualGainRange.s32Inc;
}
UINT nLogModeGain = 0;
 
/* Read current Log mode gain */
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_GET_LOG_MODE_MANUAL_GAIN, (void*)&nLogModeGain, sizeof(nLogModeGain));
 
/* Set Log mode gain*/ 
nRet = is_DeviceFeature(hCam, IS_DEVICE_FEATURE_CMD_SET_LOG_MODE_MANUAL_GAIN, (void*)&nLogModeGain, sizeof(nLogModeGain));