![]() |
![]() |
|---|---|
USB 2.0 USB 3.x GigE |
USB 2.0 USB 3.x GigE |
Syntax
INT is_IO(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)
Beschreibung
Über die Funktion is_IO() steuern Sie die zusätzlichen digitalen Ausgänge (GPIO) einiger uEye Modelle. Die GPIO verfügen über keine Optokoppler. Informationen zur Beschaltung der GPIO finden Sie im Kapitel D: Spezifikation.
|
Das Triggern per GPIO wird derzeit von den folgenden Modellen unterstützt: •uEye LE USB 3.1 Gen 1 •uEye SE USB 3.1 Gen 1 •USB 3 uEye CP Rev. 2 •USB 3 uEye CP •USB 3 uEye LE •USB 3 uEye ML •GigE uEye CP Rev. 2 •GigE uEye LE •GigE uEye FA •GigE uEye RE PoE •GigE uEye SE Rev. 4 |
Über den Übergabeparameter nCommand wird dabei der Funktionsmodus gewählt. Der Übergabeparameter pParam ist abhängig vom Funktionsmodus unterschiedlich belegt; bei Funktionen zum Setzen oder Rücklesen eines Wertes enthält pParam einen Zeiger auf eine Variable vom Typ UINT. Die Größe des Speicherbereichs, auf den pParam verweist, wird im Übergabeparameter cbSizeOfParam angegeben.
Übergabeparameter
hCam |
Handle auf Kamera |
pParam |
Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist. |
cbSizeOfParam |
Größe des Speicherbereichs in Byte, auf den pParam verweist. |
Inhalte der Struktur IO_GPIO_CONFIGURATION
UINT |
u32Gpio |
Setzt den GPIO, dessen Konfiguration ausgelesen oder gesetzt wird (IO_GPIO_1, IO_GPIO_2). Muss daher initialisiert werden, bevor die GPIO-Konfiguration gelesen oder gesetzt wird. |
UINT |
u32Caps |
Beim Lesen der Konfiguration: veroderte Bitmaske der unterstützten GPIO-Modi (IS_GPIO_INPUT | IS_GPIO_OUTPUT…). |
UINT |
u32Configuration |
Beim Lesen der Konfiguration: Gibt die aktuell gesetzte Konfiguration zurück. Beim Setzen der Konfiguration: Setzt die Konfiguration. Folgende Einstellungen sind möglich: •IS_GPIO_INPUT •IS_GPIO_OUTPUT •IS_GPIO_FLASH •IS_GPIO_PWM •IS_GPIO_COMPORT_RX •IS_GPIO_COMPORT_TX •IS_GPIO_MULTI_INTEGRATION_MODE •IS_GPIO_TRIGGER |
UINT |
u32State |
•Beim Lesen der Konfiguration: gibt den aktuellen Zustand des GPIO zurück (0 = Low, 1 = High). •Beim Setzen der Konfiguration: Setzt den Zustand des GPIO (0 = Low, 1 = High). |
UINT |
u32Reserved[12] |
Reserviert |
Veraltete Parameter
Die folgenden Parameter für nCommand sind veraltet und sollten nicht mehr verwendet werden.
IS_IO_CMD_GPIOS_GET_SUPPORTED |
Gibt die unterstützten GPIO-Ports zurück: •IO_FLASH_GPIO_PORT_MASK (IO_FLASH_MODE_GPIO_1 | IO_FLASH_MODE_GPIO_2) |
IS_IO_CMD_GPIOS_GET_SUPPORTED_INPUTS |
Gibt die unterstützten GPIO-Eingänge zurück. |
IS_IO_CMD_GPIOS_GET_SUPPORTED_OUTPUTS |
Gibt die unterstützten GPIO-Ausgänge zurück. |
IS_IO_CMD_GPIOS_GET_DIRECTION |
Gibt die Eingangs/Ausgangsmaske der GPIOs zurück. |
IS_IO_CMD_GPIOS_SET_DIRECTION |
Setzt die GPIOs auf Eingang/Ausgang: •IO_FLASH_MODE_GPIO_1: Setzt GPIO 1 als Ausgang. •IO_FLASH_MODE_GPIO_2: Setzt GPIO 2 als Ausgang. |
IS_IO_CMD_GPIOS_GET_STATE |
Gibt die Zustände der GPIOs zurück (High, Low). |
IS_IO_CMD_GPIOS_SET_STATE |
Setzt die Zustände der GPIOs, wenn diese als Ausgang definiert sind (High, Low). |
INT nRet = IS_SUCCESS;
IO_GPIO_CONFIGURATION gpioConfiguration;
// Read information about GPIO1
gpioConfiguration.u32Gpio = IO_GPIO_1;
nRet = is_IO(hCam, IS_IO_CMD_GPIOS_GET_CONFIGURATION, (void*)&gpioConfiguration,
sizeof(gpioConfiguration) );
if (nRet == IS_SUCCESS)
{
if ((gpioConfiguration.u32Caps & IS_GPIO_PWM) != 0)
{
// GPIO1 supports PWM
}
if ((gpioConfiguration.u32Caps & IS_GPIO_FLASH) != 0)
{
// GPIO1 supports Flash
}
if (gpioConfiguration.u32Configuration == IS_GPIO_OUTPUT)
{
// GPIO1 is currently configured as output
if (gpioConfiguration.u32State == 1)
{
// GPIO1 is currently output HIGH
}
}
}
INT nRet = IS_SUCCESS;
IO_GPIO_CONFIGURATION gpioConfiguration;
// Set configuration of GPIO1 (OUTPUT LOW)
gpioConfiguration.u32Gpio = IO_GPIO_1;
gpioConfiguration.u32Configuration = IS_GPIO_OUTPUT;
gpioConfiguration.u32State = 0;
nRet = is_IO(hCam, IS_IO_CMD_GPIOS_SET_CONFIGURATION, (void*)&gpioConfiguration,
sizeof(gpioConfiguration));
INT nRet = IS_SUCCESS;
IO_GPIO_CONFIGURATION gpioConfiguration;
// Set configuration of GPIO1 (COM-port TX)
// GPIO1 configured as RX is not supported!
gpioConfiguration.u32Gpio = IO_GPIO_1;
gpioConfiguration.u32Configuration = IS_GPIO_COMPORT_TX;
// GPIO2 will be configured as IS_GPIO_COMPORT_RX automatically!
nRet = is_IO(hCam, IS_IO_CMD_GPIOS_SET_CONFIGURATION, (void*)&gpioConfiguration,
sizeof(gpioConfiguration));
// The following code leads to the same setting
// Set configuration of GPIO2 (COM-port RX)
gpioConfiguration.u32Gpio = IO_GPIO_2;
gpioConfiguration.u32Configuration = IS_GPIO_COMPORT_RX;
// GPIO1 will be configured as IS_GPIO_COMPORT_TX automatically!
nRet = is_IO(hCam, IS_IO_CMD_GPIOS_SET_CONFIGURATION, (void*)&gpioConfiguration,
sizeof(gpioConfiguration));
INT nRet = IS_SUCCESS;
IO_GPIO_CONFIGURATION gpioConfiguration;
// Set configuration of GPIO1
gpioConfiguration.u32Gpio = IO_GPIO_1;
gpioConfiguration.u32Configuration = IS_GPIO_TRIGGER;
gpioConfiguration.u32State = 0;
nRet = is_IO(hCam, IS_IO_CMD_GPIOS_SET_CONFIGURATION, (void*)&gpioConfiguration,
sizeof(gpioConfiguration));