Please enable JavaScript to view this site.

IDS Software Suite 4.96.1

Navigation: C: Programming > Function descriptions > is_Configuration

Processor operating states under Windows

Scroll Previous Top Next More
Windows_Logo
Linux_Logo

USB 2.0

USB 3.x

GigE

-

Syntax

INT is_Configuration (UINT nCommand, void* pParam, UINT cbSizeOfParam)

Description

Modern processors have various operating states, so-called C-states, that are characterized by different power requirements. When the operating system selects an operating state with low power consumption (unequal C0), the USB transmission efficiency may be affected.

Use the function parameters IS_CONFIG_CPU_IDLE_STATES_CMD… to disable these low power consumption operating states and improve USB transmission efficiency. The uEye driver changes the current energy settings of the operating system when the first USB uEye camera is opened. After the last USB uEye camera is closed, the uEye driver restores the original settings. The settings are valid for the current user only.

The settings for processor operating states are available only on Windows operating systems.

hint_info

Depending on the used hardware you can achieve under certain circumstances a better performance by setting the link state power management to "Off" for battery and external power supply.

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.

Contents of the CONFIGURATION_CAPS structure

INT

IS_CONFIG_CPU_IDLE_STATES_CAP_SUPPORTED

Function parameters for setting the processor operating states are supported.

Contents of the CONFIGURATION_SEL structure

INT

IS_CONFIG_CPU_IDLE_STATES_BIT_AC_VALUE

Set/recover processor operating states for power supply unit operation

INT

IS_CONFIG_CPU_IDLE_STATES_BIT_DC_VALUE

Set/recover processor operating states for battery operation

See also

Allowing IPO thread

Example 1

INT nCurrentCpuStates = 0;
INT nRet = is_Configuration(IS_CONFIG_CPU_IDLE_STATES_CMD_GET_ENABLE,
                          (void*)&nCurrentCpuStates, sizeof(nCurrentCpuStates));
 
if (nRet == IS_SUCCESS)
{
  if ((nCurrentCpuStates & IS_CONFIG_CPU_IDLE_STATES_BIT_AC_VALUE) == 0)
  {
      // The CPU idle states for mains power is already deactivated
  }
 
  if ((nCurrentCpuStates & IS_CONFIG_CPU_IDLE_STATES_BIT_DC_VALUE) == 0)
  {
      // The CPU idle states for battery power is already deactivated
  }
}

Example 2

UINT nCpuStates = IS_CONFIG_CPU_IDLE_STATES_BIT_AC_VALUE | IS_CONFIG_CPU_IDLE_STATES_BIT_DC_VALUE;
 
INT nRet = is_Configuration(IS_CONFIG_CPU_IDLE_STATES_CMD_SET_DISABLE_ON_OPEN,
                          (void*)&nCpuStates, sizeof(nCpuStates));
 
if (nRet == IS_SUCCESS)
{
  nCpuStates = 0;
  nRet = is_Configuration(IS_CONFIG_CPU_IDLE_STATES_CMD_GET_DISABLE_ON_OPEN,
                          (void*)&nCpuStates, sizeof(nCpuStates));
 
  if (nRet == IS_SUCCESS)
  {
      if (nCpuStates & IS_CONFIG_CPU_IDLE_STATES_BIT_AC_VALUE)
      {
          // CPU idle states for mains power are deactivated when camera is opened
      }
 
      if (nCpuStates & IS_CONFIG_CPU_IDLE_STATES_BIT_DC_VALUE)
      {
          // CPU idle states for battery power are deactivated when camera is opened
      }
  }
}

© 2022 IDS Imaging Development Systems GmbH