ueye includes from 49.3.0

This commit is contained in:
yair 2025-11-16 03:24:41 +02:00
parent 8880dbf3cf
commit cf0d7e14f1
6 changed files with 11653 additions and 0 deletions

5700
sys/idsueye/include/uEye.h Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,421 @@
//==========================================================================//
// //
// C# - Interfaceclass for uEye_tools //
// //
// Copyright (C) 2005 - 2018 //
// IDS - Imaging Development Systems GmbH //
// Dimbacherstr. 6-8 //
// D-74182 Obersulm-Willsbach //
// //
// The information in this document is subject to change without //
// notice and should not be construed as a commitment by IDS Imaging //
// Development Systems GmbH. //
// IDS Imaging Development Systems GmbH does not assume any responsibility //
// for any errors that may appear in this document. //
// //
// This document, or source code, is provided solely as an example //
// of how to utilize IDS software libraries in a sample application. //
// IDS Imaging Development Systems GmbH does not assume any responsibility //
// for the use or reliability of any portion of this document or the //
// described software. //
// //
// General permission to copy or modify, but not for profit, is hereby //
// granted, provided that the above copyright notice is included and //
// included and reference made to the fact that reproduction privileges //
// were granted by IDS Imaging Development Systems GmbH. //
// //
// IDS cannot assume any responsibility for the use, or misuse, of any //
// portion or misuse, of any portion of this software for other than its //
// intended diagnostic purpose in calibrating and testing IDS manufactured //
// image processing boards and software. //
// //
//==========================================================================//
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Text;
/// <summary>
/// Zusammenfassung für uEye_tools.
/// </summary>
public class uEye_tools
{
// ----------------------------------------Driver name-----------------------------------------
//
public const string DRIVER_DLL_NAME = "ueye_tools.dll";
// ----------------------------------------Color modes-----------------------------------------
//
public const Int32 IS_AVI_CM_RGB32 = 0; // RGB32
public const Int32 IS_AVI_CM_RGB24 = 1; // RGB24
public const Int32 IS_AVI_CM_Y8 = 6; // Y8
public const Int32 IS_AVI_CM_BAYER = 11; // Bayer
// ----------------------------------------Events-----------------------------------------
//
public const Int32 IS_AVI_SET_EVENT_FRAME_SAVED = 1;
// **********************************************
// return values/error codes
// **********************************************
public const Int32 IS_AVI_NO_ERR = 0 ;
public const Int32 IS_AVI_ERR_INVALID_FILE = 301 ;
public const Int32 IS_AVI_ERR_NEW_FAILED = 302 ;
public const Int32 IS_AVI_ERR_CREATESTREAM = 303 ;
public const Int32 IS_AVI_ERR_PARAMETER = 304 ;
public const Int32 IS_AVI_ERR_NO_CODEC_AVAIL = 305 ;
public const Int32 IS_AVI_ERR_INVALID_ID = 306 ;
public const Int32 IS_AVI_ERR_COMPRESS = 307 ;
public const Int32 IS_AVI_ERR_DECOMPRESS = 308 ;
public const Int32 IS_AVI_ERR_CAPTURE_RUNNING = 309 ;
public const Int32 IS_AVI_ERR_CAPTURE_NOT_RUNNING = 310 ;
public const Int32 IS_AVI_ERR_PLAY_RUNNING = 311 ;
public const Int32 IS_AVI_ERR_PLAY_NOT_RUNNING = 312 ;
public const Int32 IS_AVI_ERR_WRITE_INFO = 313 ;
public const Int32 IS_AVI_ERR_INVALID_VALUE = 314 ;
public const Int32 IS_AVI_ERR_ALLOC_MEMORY = 315 ;
public const Int32 IS_AVI_ERR_INVALID_CM = 316 ;
public const Int32 IS_AVI_ERR_COMPRESSION_RUN = 317 ;
public const Int32 IS_AVI_ERR_INVALID_SIZE = 318 ;
public const Int32 IS_AVI_ERR_INVALID_POSITION = 319 ;
public const Int32 IS_AVI_ERR_INVALID_UEYE = 320 ;
public const Int32 IS_AVI_ERR_EVENT_FAILED = 321 ;
// ***********************************************
// exports from uEye_tools.dll
// ***********************************************
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_InitAVI",CallingConvention=CallingConvention.StdCall)] // isavi_InitAVI) (INT* pnAviID,HANDLE hf);
private static extern Int32 isavi_InitAVI(ref Int32 pnAviID,Int32 hu);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_ExitAVI",CallingConvention=CallingConvention.StdCall)] //isavi_ExitAVI) (INT nAviID);
private static extern Int32 isavi_ExitAVI (Int32 nAviID);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_OpenAVI",CallingConvention=CallingConvention.StdCall)] //isavi_OpenAVI) (INT nAviID, const char* strFileName);
private static extern Int32 isavi_OpenAVI (Int32 nAviID, byte[] strFileName);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_StartAVI",CallingConvention=CallingConvention.StdCall)] // isavi_StartAVI) (INT nAviID);
private static extern Int32 isavi_StartAVI (Int32 nAviID);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_StopAVI",CallingConvention=CallingConvention.StdCall)] // isavi_StopAVI) (INT nAviID);
private static extern Int32 isavi_StopAVI (Int32 nAviID);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_AddFrame",CallingConvention=CallingConvention.StdCall)] // isavi_AddFrame (INT nAviID,char *pcImageMem);
private static extern Int32 isavi_AddFrame (Int32 nAviID, IntPtr pcImageMem);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_SetFrameRate",CallingConvention=CallingConvention.StdCall)] // isavi_SetFrameRate (INT nAviID,double fr);
private static extern Int32 isavi_SetFrameRate (Int32 nAviID,double fr);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_SetImageQuality",CallingConvention=CallingConvention.StdCall)] // isavi_SetImageQuality (INT nAviID,Int32 q);
private static extern Int32 isavi_SetImageQuality (Int32 nAviID,Int32 q);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_GetAVISize",CallingConvention=CallingConvention.StdCall)] // isavi_GetAVISize (INT nAviID,Single *size);
private static extern Int32 isavi_GetAVISize(Int32 nAviID,ref Single size);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_GetAVIFileName",CallingConvention=CallingConvention.StdCall)] // isavi_GetAVIFileName (INT nAviID, char* strName);
private static extern Int32 isavi_GetAVIFileName (Int32 nAviID, byte[] strName);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_SetImageSize",CallingConvention=CallingConvention.StdCall)] // isavi_SetImageSize) (INT nAviID,INT cMode, Int32 Width, Int32 Height, Int32 PosX, Int32 PosY, Int32 LineOffset);
private static extern Int32 isavi_SetImageSize (Int32 nAviID,Int32 cMode, Int32 Width, Int32 Height, Int32 PosX, Int32 PosY, Int32 LineOffset);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_GetnCompressedFrames",CallingConvention=CallingConvention.StdCall)] // isavi_GetnCompressedFrames (INT nAviID,unsigned Int32 *nFrames);
private static extern Int32 isavi_GetnCompressedFrames (Int32 nAviID,ref UInt32 nFrames);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_GetnLostFrames",CallingConvention=CallingConvention.StdCall)] // isavi_GetnLostFrames (INT nAviID,unsigned Int32 *nLostFrames);
private static extern Int32 isavi_GetnLostFrames (Int32 nAviID,ref UInt32 nLostFrames);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_ResetFrameCounters",CallingConvention=CallingConvention.StdCall)] // isavi_ResetFrameCounters (INT nAviID);
private static extern Int32 isavi_ResetFrameCounters (Int32 nAviID);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_CloseAVI",CallingConvention=CallingConvention.StdCall)] // isavi_CloseAVI (INT nAviID);
private static extern Int32 isavi_CloseAVI (Int32 nAviID);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_InitEvent",CallingConvention=CallingConvention.StdCall)] // isavi_InitEvent (INT nAviID, HANDLE hEv, INT which);
private static extern Int32 isavi_InitEvent (Int32 nAviID, Int32 hEv, Int32 which);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_EnableEvent",CallingConvention=CallingConvention.StdCall)] // isavi_EnableEvent (INT nAviID, INT which);
private static extern Int32 isavi_EnableEvent (Int32 nAviID, Int32 which);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_DisableEvent",CallingConvention=CallingConvention.StdCall)] // isavi_DisableEvent (INT nAviID, INT which);
private static extern Int32 isavi_DisableEvent (Int32 nAviID, Int32 which);
[DllImport(DRIVER_DLL_NAME ,EntryPoint="isavi_ExitEvent",CallingConvention=CallingConvention.StdCall)] // isavi_ExitEvent (INT nAviID, INT which);
private static extern Int32 isavi_ExitEvent (Int32 nAviID, Int32 which);
// internal variables
private Int32 m_hAvi; // internal avi container handle
// constructor
public uEye_tools()
{
m_hAvi = 0;
}
//********************************************************************************************
// Helper functions
//********************************************************************************************
// ------------------------------ GetStringFromByte --------------------------
//
private string GetStringFromByte(byte[] pByte, Int32 nStart, Int32 nLength )
{
Int32 i=0;
char[] pChars = new char[nLength];
for ( i=0; i<nLength; i++)
{
pChars[i] = Convert.ToChar(pByte[nStart+i]);
}
string strResult = new string(pChars);
return strResult;
}
// ------------------------- IsuEyeOpen -----------------
//
public bool IsOpen()
{
if ( m_hAvi == 0 )
return false;
else
return true;
}
//*************************************************************************
// Function wrappers
//*************************************************************************
// --------------------- init avi---------------------
//
public Int32 InitAVI(Int32 hu )
{
Int32 ret = 0;
Int32 AviID = 0;
ret = isavi_InitAVI(ref AviID, hu);
if ( ret == IS_AVI_NO_ERR )
m_hAvi = AviID;
return ret;
}
// --------------------- ExitAvi -----------------------
//
public Int32 ExitAVI()
{
Int32 ret = 0;
ret = isavi_ExitAVI(m_hAvi);
if ( ret == IS_AVI_NO_ERR )
m_hAvi = 0;
return ret;
}
// --------------------- OPenAvi -----------------------
//
public Int32 OpenAVI( byte[] strFileName)
{
Int32 ret = 0;
ret = isavi_OpenAVI (m_hAvi, strFileName);
return ret;
}
// --------------------- StartAvi -----------------------
//
public Int32 StartAVI()
{
Int32 ret = 0;
ret = isavi_StartAVI (m_hAvi);
return ret;
}
// --------------------- StopAvi -----------------------
//
public Int32 StopAVI()
{
Int32 ret = 0;
ret = isavi_StopAVI (m_hAvi);
return ret;
}
// --------------------- CloseAVI -----------------------
//
public Int32 CloseAVI ()
{
Int32 ret = 0;
ret = isavi_CloseAVI (m_hAvi);
return ret;
}
// --------------------- AddFrame -----------------------
//
public Int32 AddFrame(IntPtr pcImageMem)
{
Int32 ret = 0;
ret = isavi_AddFrame (m_hAvi, pcImageMem);
return ret;
}
// --------------------- SetFrameRate -----------------------
//
public Int32 SetFrameRate(double fr)
{
Int32 ret = 0;
ret = isavi_SetFrameRate (m_hAvi, fr);
return ret;
}
// --------------------- SetImageQuality -----------------------
//
public Int32 SetImageQuality(Int32 q)
{
Int32 ret = 0;
ret = isavi_SetImageQuality (m_hAvi, q);
return ret;
}
// --------------------- GetAVISize -----------------------
//
public Int32 GetAVISize(ref Single size)
{
Int32 ret = 0;
ret = isavi_GetAVISize (m_hAvi,ref size);
return ret;
}
// --------------------- GetAVIFileName -----------------------
//
public Int32 GetAVIFileName(byte[] strFileName)
{
Int32 ret = 0;
ret = isavi_GetAVIFileName (m_hAvi,strFileName);
return ret;
}
// --------------------- SetImageSize -----------------------
//
public Int32 SetImageSize(Int32 cMode, Int32 Width, Int32 Height, Int32 PosX, Int32 PosY, Int32 LineOffset)
{
Int32 ret = 0;
ret = isavi_SetImageSize (m_hAvi, cMode, Width, Height, PosX, PosY, LineOffset);
return ret;
}
// --------------------- GetnCompressedFrames -----------------------
//
public Int32 GetnCompressedFrames(ref UInt32 nFrames)
{
Int32 ret = 0;
ret = isavi_GetnCompressedFrames (m_hAvi,ref nFrames);
return ret;
}
// --------------------- GetnLostFrames -----------------------
//
public Int32 GetnLostFrames(ref UInt32 nLostFrames)
{
Int32 ret = 0;
ret = isavi_GetnLostFrames (m_hAvi,ref nLostFrames);
return ret;
}
// --------------------- ResetFrameCounters -----------------------
//
public Int32 ResetFrameCounters()
{
Int32 ret = 0;
ret = isavi_ResetFrameCounters (m_hAvi);
return ret;
}
// --------------------- InitEvent -----------------------
//
public int InitEvent(Int32 hEv, Int32 which)
{
Int32 ret = 0;
ret = isavi_InitEvent( m_hAvi, hEv, which );
return ret;
}
// --------------------- EnableEvent -----------------------
//
public Int32 EnableEvent(Int32 which)
{
Int32 ret = 0;
ret = isavi_EnableEvent (m_hAvi,which);
return ret;
}
// --------------------- DisableEvent -----------------------
//
public Int32 DisableEvent(Int32 which)
{
Int32 ret = 0;
ret = isavi_DisableEvent (m_hAvi,which);
return ret;
}
// --------------------- ExitEvent -----------------------
//
public Int32 ExitEvent(Int32 which)
{
Int32 ret = 0;
ret = isavi_ExitEvent (m_hAvi,which);
return ret;
}
}

View File

@ -0,0 +1,543 @@
/*
###############################################################################
# #
# File: uEye_tools.h #
# Project: Library interface for IDS uEye_tools #
# exported API functions #
# #
###############################################################################
*/
#ifndef __UEYETOOLS_H__
#define __UEYETOOLS_H__
#ifdef __cplusplus
extern "C" {
#endif
// Access mode
#define IS_FILE_ACCESS_MODE_WRITE 0x01
#define IS_FILE_ACCESS_MODE_READ 0x02
// Color modes ------------------------------------------------
#define IS_AVI_CM_RGB32 0 // RGB32
#define IS_AVI_CM_RGB24 1 // RGB24
#define IS_AVI_CM_Y8 6 // Y8
#define IS_AVI_CM_BAYER 11 // Bayer
typedef DWORD HIDS;
// Events ------------------------------------------------
#define IS_AVI_SET_EVENT_FRAME_SAVED 1
// error constants --------------------------------------------
#define ISAVIERRBASE 300
#define ISAVIMAKEERR(_x_) (ISAVIERRBASE + _x_)
#define IS_AVI_NO_ERR 0
#define IS_AVI_ERR_INVALID_FILE ISAVIMAKEERR( 1)
#define IS_AVI_ERR_NEW_FAILED ISAVIMAKEERR( 2)
#define IS_AVI_ERR_CREATESTREAM ISAVIMAKEERR( 3)
#define IS_AVI_ERR_PARAMETER ISAVIMAKEERR( 4)
#define IS_AVI_ERR_NO_CODEC_AVAIL ISAVIMAKEERR( 5)
#define IS_AVI_ERR_INVALID_ID ISAVIMAKEERR( 6)
#define IS_AVI_ERR_COMPRESS ISAVIMAKEERR( 7)
#define IS_AVI_ERR_DECOMPRESS ISAVIMAKEERR( 8)
#define IS_AVI_ERR_CAPTURE_RUNNING ISAVIMAKEERR( 9)
#define IS_AVI_ERR_CAPTURE_NOT_RUNNING ISAVIMAKEERR(10)
#define IS_AVI_ERR_PLAY_RUNNING ISAVIMAKEERR(11)
#define IS_AVI_ERR_PLAY_NOT_RUNNING ISAVIMAKEERR(12)
#define IS_AVI_ERR_WRITE_INFO ISAVIMAKEERR(13)
#define IS_AVI_ERR_INVALID_VALUE ISAVIMAKEERR(14)
#define IS_AVI_ERR_ALLOC_MEMORY ISAVIMAKEERR(15)
#define IS_AVI_ERR_INVALID_CM ISAVIMAKEERR(16)
#define IS_AVI_ERR_COMPRESSION_RUN ISAVIMAKEERR(17)
#define IS_AVI_ERR_INVALID_SIZE ISAVIMAKEERR(18)
#define IS_AVI_ERR_INVALID_POSITION ISAVIMAKEERR(19)
#define IS_AVI_ERR_INVALID_UEYE ISAVIMAKEERR(20)
#define IS_AVI_ERR_EVENT_FAILED ISAVIMAKEERR(21)
#define IS_AVI_ERR_EXCEPTION ISAVIMAKEERR(22)
#define IS_AVI_ERR_GENERIC ISAVIMAKEERR(23)
#define IS_AVI_ERR_NOT_SUPPORTED ISAVIMAKEERR(24)
#define IS_AVI_ERR_FILE_NOT_OPEN ISAVIMAKEERR(25)
#define IS_AVI_ERR_WRITE_FAILED ISAVIMAKEERR(26)
#define IS_AVI_ERR_READ_FAILED ISAVIMAKEERR(27)
#define IS_AVI_ERR_SEEK_FAILED ISAVIMAKEERR(28)
#define IDSAVIEXP extern __declspec(dllexport) INT __stdcall
// function prototyes
/*! \brief Initialises the uEye AVI interface.
*
*
* \param pnAviID: After the function call, it contains the instance ID needed by the other functions.
* Several instances may be opened at the same time.
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_PARAMETER pnAviID points to NULL
* \return IS_AVI_ERR_NO_CODEC_AVAIL The maximum available instances of the interface have been
* reached.
***********************************************************************************************************/
IDSAVIEXP isavi_InitAVI (INT* pnAviID,HIDS hu);
/*! \brief Ends and frees the instance of the uEye AVI interface specified by the given instance ID.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The AVI file could not be closed successfully
***********************************************************************************************************/
IDSAVIEXP isavi_ExitAVI (INT nAviID);
/*! \brief Sets the size of the input buffer and the offset of the input data. After this, the function
* isavi_AddFrame receives as parameter a pointer to the data to compress, and uses this information
* to save only the valid data.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param cMode: Color mode of the input data. There are four supported formats (IS_AVI_CM_RGB32,
* IS_AVI_CM_RGB24,IS_AVI_CM_Y8 and IS_AVI_CM_BAYER)
* \param Width: Image width
* \param Height: Image height
* \param PosX: Offset in x axis
* \param PosY: Offset in y axis
* \param LineOffset: Empty position until next image line
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The AVI file could not be closed successfully
* \return IS_AVI_ERR_CAPTURE_RUNNING Capture is running
* \return IS_AVI_ERR_ALLOC_MEMORY Error allocating memory
* \return IS_AVI_ERR_INVALID_CM Colour mode not supported
* \return IS_AVI_ERR_INVALID_SIZE Picture size less than 16 x 16 pixels
* \return IS_AVI_ERR_INVALID_POSITION Invalid position
***********************************************************************************************************/
IDSAVIEXP isavi_SetImageSize (INT nAviID,INT cMode, INT Width, INT Height, INT PosX, INT PosY, INT LineOffset);
/*! \brief Opens an AVI file for recording.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param pFileName: NULL or pointer to the filename Name that should be used for the avi file.
* If NULL is used, than a Dialog box allowing to select a file appears.
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The user did not select a valid file in the dialog box
* IS_AVI_ERR_NEW_FAILED Memory allocation failed
* IS_AVI_ERR_AVIFILEOPEN The AVI file could not be opened successfully
* IS_AVI_ERR_CREATESTREAM The AVI stream could not be created (Recording only)
***********************************************************************************************************/
IDSAVIEXP isavi_OpenAVI (INT nAviID, const char* strFileName);
IDSAVIEXP isavi_OpenAVIW (INT nAviID, const wchar_t* strFileName);
/*! \brief Starts the picture compression thread.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The AVI file is not open
***********************************************************************************************************/
IDSAVIEXP isavi_StartAVI (INT nAviID);
/*! \brief Stops the picture compression thread, the call of isavi_AddFrame is ignored.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The AVI file is not open
***********************************************************************************************************/
IDSAVIEXP isavi_StopAVI (INT nAviID);
/*! \brief Add a new frame to the avi sequence.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param pcImageMem: Pointer to data image
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_FILE The AVI file is not open
* \return IS_AVI_ERR_COMPRESSION_RUN A compression is running and can not compress the actual picture
* \return IS_AVI_ERR_COMPRESS Last frame compression failed
*
* Use isavi_AddFrame(id, NULL) to check whether a compression is currently running.
* If running, IS_AVI_ERR_COMPRESSION_RUN is returned, if not, either IS_AVI_ERR_COMPRESS or
* IS_AVI_NO_ERR is returned, indicating that the last compression failed or succeeded respectively.
*
* isavi_AddFrame counts the frames compressed and written successfully. If you want to add a new frame
* while compressing the number of lost frames will get increased. If you query the compression status
* by passing NULL it wouldn't.
***********************************************************************************************************/
IDSAVIEXP isavi_AddFrame (INT nAviID,char *pcImageMem);
/*! \brief Sets the frame rate of the video. The frame rate can be changed at any time if the avi file is
* already created.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param pcImageMem: Pointer to data image
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
* \return IS_AVI_ERR_WRITE_INFO The AVI file could not be modified
***********************************************************************************************************/
IDSAVIEXP isavi_SetFrameRate (INT nAviID,double fr);
/*! \brief Sets the quality of the actual image that is going to be compressed and added to the video stream.
* The quality can be changed at any time. The best image quality is 100 (bigger avi file size) and
* the worst is 1.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param q: Quality of compression [1100]
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid
* for the specified interface has already been destroyed by a previous
* call to isavi_ExitAVI().
* \return IS_AVI_ERR_INVALID_VALUE The parameter q is bigger than 100 or less than 1
***********************************************************************************************************/
IDSAVIEXP isavi_SetImageQuality (INT nAviID,INT q);
/*! \brief Gets the current video size.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param size: Size in Kbytes
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid
* or the specified interface has already been destroyed by a previous
* call to isavi_ExitAVI().
*
* Use to query how large the current video stream is.
***********************************************************************************************************/
IDSAVIEXP isavi_GetAVISize (INT nAviID,float *size);
/*! \brief Allows to retrieve the filename of the current AVI file. It is useful when the AVI file has been
* opened specifying NULL for the filename (see isavi_OpenAVI()).
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param strName: Pointer to a buffer that will receive the filename. The allocated memory must be
* sufficient to contain the complete path to the file.
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid
* or the specified interface has already been destroyed by a previous
* call to isavi_ExitAVI().
***********************************************************************************************************/
IDSAVIEXP isavi_GetAVIFileName (INT nAviID, char* strName);
IDSAVIEXP isavi_GetAVIFileNameW (INT nAviID, wchar_t* strName);
/*! \brief gets the actual number of pictures written in the avi file.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param nFrames: Number of frames
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
***********************************************************************************************************/
IDSAVIEXP isavi_GetnCompressedFrames(INT nAviID,unsigned long *nFrames);
/*! \brief Gets the actual number of dropped pictures. It can be caused in two ways:
* 1. A compression is running and the current isavi_AddFrame call cannot be attended.
* 2. An error in the compression algorithm has occurred.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param nLostFrames: Number of dropped frames
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
***********************************************************************************************************/
IDSAVIEXP isavi_GetnLostFrames (INT nAviID,unsigned long *nLostFrames);
/*! \brief resets the number of lost frames and saved frames.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* isavi_ExitAVI().
***********************************************************************************************************/
IDSAVIEXP isavi_ResetFrameCounters (INT nAviID);
/*! \brief Closes a file opened by a previous call to isavi_OpenAVI().
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
*
***********************************************************************************************************/
IDSAVIEXP isavi_CloseAVI (INT nAviID);
/*! \brief Initializes the event handler by registering the event object in the avi engine
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param hEv: Event handle
* \param which: Event id. (ex: IS_AVI_SET_EVENT_FRAME_SAVED)
*
* \return IS_AVI_NO_ERR No error, Event initialisation was successful
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
* \return IS_AVI_ERR_EVENT_FAILED SetEvent failed
* \return IS_AVI_ERR_PARAMETER Invalid Event id
***********************************************************************************************************/
IDSAVIEXP isavi_InitEvent (INT nAviID, HANDLE hEv, INT which);
/*! \brief Release of the equipped event object. After the release, the event signalling
* of the current event object is allowed.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param which: Event id.
*
* \return IS_AVI_NO_ERR No error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
* \return IS_AVI_ERR_PARAMETER Invalid Event id
***********************************************************************************************************/
IDSAVIEXP isavi_EnableEvent (INT nAviID, INT which);
/*! \brief blocks the event given here. The event will generally still occur,
* but not trigger an event signal any more. After this function is called, the application does not
* notice the blocked events any more. A desired event can be reactivated with isavi_EnableEvent() if
* required.
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param which: Event id.
*
* \return IS_AVI_NO_ERR No error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
* \return IS_AVI_ERR_PARAMETER Invalid Event id
***********************************************************************************************************/
IDSAVIEXP isavi_DisableEvent (INT nAviID, INT which);
/*! \brief Deletes set event object. After deleting it can not be activated with isavi_EnableEvent().
*
*
* \param nAviID: Instance ID returned by isavi_InitAVI()
* \param which: Event id.
*
* \return IS_AVI_NO_ERR No error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
* \return IS_AVI_ERR_PARAMETER Invalid Event id
***********************************************************************************************************/
IDSAVIEXP isavi_ExitEvent (INT nAviID, INT which);
/*! \brief Initialises the uEye File interface.
*
*
* \param punFileID: After the function call, it contains the instance ID needed by the other functions.
* Several instances may be opened at the same time.
* \param nAccessMode: Access mode (Read: IS_FILE_ACCESS_MODE_READ; Write: IS_FILE_ACCESS_MODE_WRITE)
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_PARAMETER pnAviID points to NULL
* \return IS_AVI_ERR_NEW_FAILED The maximum available instances of the interface have been
* reached.
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_InitFile(UINT* punFileID, INT nAccessMode);
/*! \brief Ends and frees the instance of the uEye AVI interface specified by the given instance ID.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
*
* \return IS_AVI_NO_ERR No error, deinitialisation was successful
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_ExitFile(UINT unFileID);
/*! \brief After this, the function israw_AddFrame receives as parameter a pointer to the data
* and uses this information to save only the valid data.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param Width: Image width
* \param Height: Image height
* \param BitsPerPixel: Image depth
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_NOT_SUPPORTED File was opened in "ReadMode" (s. israw_InitFile)
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_SetImageInfo(UINT unFileID, UINT unWidth, UINT unHeight, UINT unBitsPerPixel);
/*! \brief Returns the image info
*
*
* \param unFileID Instance ID returned by israw_InitFile()
* \param punWidth: Image width
* \param punHeight: Image height
* \param punBitsPerPixel: Image depth
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_FILE_NOT_OPEN File is not open
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_GetImageInfo(UINT unFileID, UINT* punWidth, UINT* punHeight, UINT* punBitsPerPixel);
/*! \brief Opens an file.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param strFileName: the filename - Name that should be used for the file.
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_INVALID_VALUE The user did not select a valid file name
* \return IS_AVI_ERR_FILE_NOT_OPEN File could not opened
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_OpenFile(UINT unFileID, const char* strFileName);
/*! \brief Closes a file opened by a previous call to israw_OpenFile().
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found.
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_CloseFile(UINT unFileID);
/*! \brief Add a new frame to the sequence.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param pcData: Pointer to data image
* \param unTimestampDevice: Timestamp of the image
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_FILE_NOT_OPEN File is not open
* \return IS_AVI_ERR_NOT_SUPPORTED File was opened in "ReadMode" (s. israw_InitFile)
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_AddFrame(UINT unFileID, const char* pcData, UINT64 unTimestampDevice);
/*! \brief Reads the next frame of the sequence.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param pData: Pointer to data image
* \param punTimestampDevice: Timestamp of the image
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_FILE_NOT_OPEN File is not open
* \return IS_AVI_ERR_NOT_SUPPORTED File was opened in "WriteMode" (s. israw_InitFile)
* \return IS_AVI_ERR_READ_FAILED File read failed
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_GetFrame(UINT unFileID, char* pData, UINT64* punTimestampDevice);
/*! \brief Seeks
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param unFrame: Frame to seek (null indexed)
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid or the
* specified interface has already been destroyed by a previous call to
* israw_ExitFile().
* \return IS_AVI_ERR_FILE_NOT_OPEN File is not open
* \return IS_AVI_ERR_NOT_SUPPORTED File was opened in "WriteMode" (s. israw_InitFile)
* \return IS_AVI_ERR_SEEK_FAILED File seek failed
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_SeekFrame(UINT unFileID, UINT unFrame);
/*! \brief Gets the current file size.
*
*
* \param unFileID: Instance ID returned by israw_InitFile()
* \param pfSize: Size in Kbytes
*
* \return IS_AVI_NO_ERR No error, initialisation was successful
* \return IS_AVI_ERR_GENERIC Generic error
* \return IS_AVI_ERR_INVALID_ID The specified instance could not be found. The ID is either invalid
* or the specified interface has already been destroyed by a previous
* call to isavi_ExitAVI().
* \return IS_AVI_ERR_FILE_NOT_OPEN File is not open
* \return IS_AVI_ERR_EXCEPTION An exception occured
***********************************************************************************************************/
IDSAVIEXP israw_GetSize(UINT unFileID, float* pfSize);
#ifdef __cplusplus
}
#endif
#endif // __UEYETOOLS_H__

View File

@ -0,0 +1,657 @@
/*****************************************************************************/
/*! \file ueye_deprecated.h
* \author (c) 2011 - 2017 by Imaging Development Systems GmbH
* \date Date: 2017/07/24
* \version PRODUCTVERSION: 4.90
*
* \brief Library interface for IDS uEye - camera family.
* definition of deprecated API functions and constants
*//***************************************************************************/
#ifndef __IDS_HEADER_DEPRECATED__
#define __IDS_HEADER_DEPRECATED__
#include "ueye.h"
#pragma pack(push, 8)
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* make sure __LINUX__ is defined */
#if defined __linux__
# if !defined __LINUX__
# define __LINUX__
# endif /* ! __LINUX__ */
#endif /* __linux__ */
/* Render modes */
#define IS_RENDER_DOUBLE_HEIGHT 0x0020
#define IS_RENDER_HALF_HEIGHT 0x0040
/* Old trigger defines */
#define IS_SET_TRIG_OFF 0x0000
#define IS_SET_TRIG_HI_LO 0x0001
#define IS_SET_TRIG_LO_HI 0x0002
#define IS_SET_TRIG_SOFTWARE 0x0008
#define IS_SET_TRIG_HI_LO_SYNC 0x0010
#define IS_SET_TRIG_LO_HI_SYNC 0x0020
#define IS_SET_TRIG_MASK 0x0100
/* Old defines for flash */
#define IS_GET_FLASHSTROBE_MODE 0x8000
#define IS_GET_FLASHSTROBE_LINE 0x8001
#define IS_GET_SUPPORTED_FLASH_IO_PORTS 0x8002
#define IS_SET_FLASH_OFF 0
#define IS_SET_FLASH_ON 1
#define IS_SET_FLASH_LO_ACTIVE IS_SET_FLASH_ON
#define IS_SET_FLASH_HI_ACTIVE 2
#define IS_SET_FLASH_HIGH 3
#define IS_SET_FLASH_LOW 4
#define IS_SET_FLASH_LO_ACTIVE_FREERUN 5
#define IS_SET_FLASH_HI_ACTIVE_FREERUN 6
#define IS_SET_FLASH_IO_1 0x0010
#define IS_SET_FLASH_IO_2 0x0020
#define IS_SET_FLASH_IO_3 0x0040
#define IS_SET_FLASH_IO_4 0x0080
#define IS_SET_FLASH_IO_5 0x0100
#define IS_SET_FLASH_IO_6 0x0200
#define IS_FLASH_IO_PORT_MASK (IS_SET_FLASH_IO_1 | IS_SET_FLASH_IO_2 | IS_SET_FLASH_IO_3 | IS_SET_FLASH_IO_4 | IS_SET_FLASH_IO_5 | IS_SET_FLASH_IO_6)
#define IS_GET_FLASH_DELAY -1
#define IS_GET_FLASH_DURATION -2
#define IS_GET_MAX_FLASH_DELAY -3
#define IS_GET_MAX_FLASH_DURATION -4
#define IS_GET_MIN_FLASH_DELAY -5
#define IS_GET_MIN_FLASH_DURATION -6
#define IS_GET_FLASH_DELAY_GRANULARITY -7
#define IS_GET_FLASH_DURATION_GRANULARITY -8
/* Old defines for IO */
#define IS_GET_IO 0x8000
#define IS_GET_IO_MASK 0x8000
#define IS_GET_INPUT_MASK 0x8001
#define IS_GET_OUTPUT_MASK 0x8002
#define IS_GET_SUPPORTED_IO_PORTS 0x8004
/* Led settings */
#define IS_SET_LED_OFF 0
#define IS_SET_LED_ON 1
#define IS_SET_LED_TOGGLE 2
#define IS_GET_LED 0x8000
/* Exposure */
#define IS_GET_EXPOSURE_TIME 0x8000
#define IS_GET_DEFAULT_EXPOSURE 0x8001
#define IS_GET_EXPOSURE_MIN_VALUE 0x8002
#define IS_GET_EXPOSURE_MAX_VALUE 0x8003
#define IS_GET_EXPOSURE_INCREMENT 0x8004
#define IS_GET_EXPOSURE_FINE_INCREMENT 0x8005
/* Brightness */
#define IS_GET_BRIGHTNESS 0x8000
#define IS_MIN_BRIGHTNESS 0
#define IS_MAX_BRIGHTNESS 255
#define IS_DEFAULT_BRIGHTNESS -1
/* Contrast */
#define IS_GET_CONTRAST 0x8000
#define IS_MIN_CONTRAST 0
#define IS_MAX_CONTRAST 511
#define IS_DEFAULT_CONTRAST -1
/* Pixel formats */
#define IS_CM_FORMAT_PACKED 0x0000
#define IS_SET_CM_BAYER 11
#define IS_SET_CM_BAYER12 27
#define IS_SET_CM_BAYER16 29
#define IS_SET_CM_Y8 6
#define IS_SET_CM_Y12 26
#define IS_SET_CM_Y16 28
#define IS_SET_CM_RGB32 0
#define IS_SET_CM_RGB24 1
#define IS_SET_CM_RGB16 2
#define IS_SET_CM_RGB15 3
#define IS_SET_CM_RGB8 7
#define IS_SET_CM_UYVY 12
#define IS_SET_CM_UYVY_MONO 13
#define IS_SET_CM_UYVY_BAYER 14
#define IS_SET_CM_CBYCRY 23
#define IS_SET_CM_RGBY 24
#define IS_SET_CM_RGB30 25
#define IS_CM_BAYER_RG8 IS_SET_CM_BAYER // occupies 8 Bit
#define IS_CM_BAYER_RG12 IS_SET_CM_BAYER12 // occupies 16 Bit
#define IS_CM_BAYER_RG16 IS_SET_CM_BAYER16 // occupies 16 Bit
#define IS_CM_RGB10V2_PACKED 153 // occupies 32 Bit
#define IS_CM_BGR10V2_PACKED 25 // occupies 32 Bit
#define IS_CM_BGR555_PACKED 3 // occupies 16 Bit
#define IS_CM_YUV422_PACKED //no compliant version
#define IS_CM_RGB12_PACKED 158
#define IS_CM_BGR12_PACKED 30
#define IS_CM_RGBA12_PACKED 159
#define IS_CM_BGRA12_PACKED 31
/* Hue (Falcon) */
#define IS_GET_HUE 0x8000
#define IS_MIN_HUE 0
#define IS_MAX_HUE 255
#define IS_DEFAULT_HUE 128
/* Image size and pos */
#define IS_GET_IMAGE_SIZE_X 0x8000
#define IS_GET_IMAGE_SIZE_Y 0x8001
#define IS_GET_IMAGE_SIZE_X_INC 0x8002
#define IS_GET_IMAGE_SIZE_Y_INC 0x8003
#define IS_GET_IMAGE_SIZE_X_MIN 0x8004
#define IS_GET_IMAGE_SIZE_Y_MIN 0x8005
#define IS_GET_IMAGE_SIZE_X_MAX 0x8006
#define IS_GET_IMAGE_SIZE_Y_MAX 0x8007
#define IS_GET_IMAGE_POS_X 0x8001
#define IS_GET_IMAGE_POS_Y 0x8002
#define IS_GET_IMAGE_POS_X_ABS 0xC001
#define IS_GET_IMAGE_POS_Y_ABS 0xC002
#define IS_GET_IMAGE_POS_X_INC 0xC003
#define IS_GET_IMAGE_POS_Y_INC 0xC004
#define IS_GET_IMAGE_POS_X_MIN 0xC005
#define IS_GET_IMAGE_POS_Y_MIN 0xC006
#define IS_GET_IMAGE_POS_X_MAX 0xC007
#define IS_GET_IMAGE_POS_Y_MAX 0xC008
#define IS_SET_IMAGEPOS_X_ABS 0x8000
#define IS_SET_IMAGEPOS_Y_ABS 0x8000
#define IS_SET_IMAGE_POS_X_ABS 0x00010000
#define IS_SET_IMAGE_POS_Y_ABS 0x00010000
/* Multi AOI */
#define IS_AOI_MULTI_MODE_AXES 0x0001
/* Subsampling */
#define IS_SUBSAMPLING_VERT 0x0001
#define IS_SUBSAMPLING_HOR 0x0002
/* Binning */
#define IS_BINNING_VERT 0x0001
#define IS_BINNING_HOR 0x0002
/* Hotpixel correction */
#define IS_GET_BPC_MODE 0x8000
#define IS_GET_BPC_THRESHOLD 0x8001
#define IS_GET_BPC_SUPPORTED_MODE 0x8002
#define IS_BPC_DISABLE 0
#define IS_BPC_ENABLE_LEVEL_1 1
#define IS_BPC_ENABLE_LEVEL_2 2
#define IS_BPC_ENABLE_USER 4
#define IS_BPC_ENABLE_SOFTWARE IS_BPC_ENABLE_LEVEL_2
#define IS_BPC_ENABLE_HARDWARE IS_BPC_ENABLE_LEVEL_1
#define IS_SET_BADPIXEL_LIST 0x01
#define IS_GET_BADPIXEL_LIST 0x02
#define IS_GET_LIST_SIZE 0x03
/* Display */
#define IS_GET_DISPLAY_SIZE_X 0x8000
#define IS_GET_DISPLAY_SIZE_Y 0x8001
#define IS_GET_DISPLAY_POS_X 0x8000
#define IS_GET_DISPLAY_POS_Y 0x8001
#define IS_SET_DM_DIRECTDRAW 2
#define IS_SET_DM_ALLOW_SYSMEM 0x40
#define IS_SET_DM_ALLOW_PRIMARY 0x80
#define IS_GET_DD_OVERLAY_SCALE 0x8000
#define IS_SET_DM_ALLOW_OVERLAY 0x100
#define IS_SET_DM_ALLOW_SCALING 0x200
#define IS_SET_DM_ALLOW_FIELDSKIP 0x400
#define IS_SET_DM_BACKBUFFER 0x2000
/* DirectDraw keying color constants */
#define IS_GET_KC_RED 0x8000
#define IS_GET_KC_GREEN 0x8001
#define IS_GET_KC_BLUE 0x8002
#define IS_GET_KC_RGB 0x8003
#define IS_GET_KC_INDEX 0x8004
#define IS_GET_KEYOFFSET_X 0x8000
#define IS_GET_KEYOFFSET_Y 0x8001
/* DirectDraw steal video constants */
#define IS_INIT_STEAL_VIDEO 1
#define IS_EXIT_STEAL_VIDEO 2
#define IS_INIT_STEAL_VIDEO_MANUAL 3
#define IS_INIT_STEAL_VIDEO_AUTO 4
#define IS_SET_STEAL_RATIO 64
#define IS_USE_MEM_IMAGE_SIZE 128
#define IS_STEAL_MODES_MASK 7
#define IS_SET_STEAL_COPY 0x1000
#define IS_SET_STEAL_NORMAL 0x2000
/* RGB-triple for default key-color in 15,16,24,32 bit mode */
#define IS_SET_KC_DEFAULT 0xFF00FF // 0xbbggrr
/* color index for default key-color in 8bit palette mode */
#define IS_SET_KC_DEFAULT_8 253
/* Memoryboard */
#define IS_MEMORY_GET_COUNT 0x8000
#define IS_MEMORY_GET_DELAY 0x8001
#define IS_MEMORY_MODE_DISABLE 0x0000
#define IS_MEMORY_USE_TRIGGER 0xFFFF
/* Test image modes */
#define IS_GET_TEST_IMAGE 0x8000
#define IS_SET_TEST_IMAGE_DISABLED 0x0000
#define IS_SET_TEST_IMAGE_MEMORY_1 0x0001
#define IS_SET_TEST_IMAGE_MEMORY_2 0x0002
#define IS_SET_TEST_IMAGE_MEMORY_3 0x0003
/* Board types */
#define IS_BOARD_TYPE_FALCON 1
#define IS_BOARD_TYPE_EAGLE 2
#define IS_BOARD_TYPE_FALCON2 3
#define IS_BOARD_TYPE_FALCON_PLUS 7
#define IS_BOARD_TYPE_FALCON_QUATTRO 9
#define IS_BOARD_TYPE_FALCON_DUO 10
#define IS_BOARD_TYPE_EAGLE_QUATTRO 11
#define IS_BOARD_TYPE_EAGLE_DUO 12
/* AGC modes (Falcon) */
#define IS_GET_AGC_MODE 0x8000
#define IS_SET_AGC_OFF 0
#define IS_SET_AGC_ON 1
/* sync levels (Falcon) */
#define IS_GET_SYNC_LEVEL 0x8000
#define IS_SET_SYNC_75 0
#define IS_SET_SYNC_125 1
/* color bar modes (Falcon) */
#define IS_GET_CBARS_MODE 0x8000
#define IS_SET_CBARS_OFF 0
#define IS_SET_CBARS_ON 1
/* Horizontal filter defines (Falcon) */
#define IS_GET_HOR_FILTER_MODE 0x8000
#define IS_GET_HOR_FILTER_STEP 0x8001
#define IS_DISABLE_HOR_FILTER 0
#define IS_ENABLE_HOR_FILTER 1
#define IS_HOR_FILTER_STEP(_s_) ((_s_ + 1) << 1)
#define IS_HOR_FILTER_STEP1 2
#define IS_HOR_FILTER_STEP2 4
#define IS_HOR_FILTER_STEP3 6
/* vertical filter defines (Falcon) */
#define IS_GET_VERT_FILTER_MODE 0x8000
#define IS_GET_VERT_FILTER_STEP 0x8001
#define IS_DISABLE_VERT_FILTER 0
#define IS_ENABLE_VERT_FILTER 1
#define IS_VERT_FILTER_STEP(_s_) ((_s_ + 1) << 1)
#define IS_VERT_FILTER_STEP1 2
#define IS_VERT_FILTER_STEP2 4
#define IS_VERT_FILTER_STEP3 6
/* scaler modes (Falcon) */
#define IS_GET_SCALER_MODE (float) 1000
#define IS_SET_SCALER_OFF (float) 0
#define IS_SET_SCALER_ON (float) 1
#define IS_MIN_SCALE_X (float) 6.25
#define IS_MAX_SCALE_X (float) 100.00
#define IS_MIN_SCALE_Y (float) 6.25
#define IS_MAX_SCALE_Y (float) 100.00
/* video source selectors (Falcon) */
#define IS_GET_VIDEO_IN 0x8000
#define IS_GET_VIDEO_PASSTHROUGH 0x8000
#define IS_GET_VIDEO_IN_TOGGLE 0x8001
#define IS_GET_TOGGLE_INPUT_1 0x8000
#define IS_GET_TOGGLE_INPUT_2 0x8001
#define IS_GET_TOGGLE_INPUT_3 0x8002
#define IS_GET_TOGGLE_INPUT_4 0x8003
#define IS_SET_VIDEO_IN_1 0x00
#define IS_SET_VIDEO_IN_2 0x01
#define IS_SET_VIDEO_IN_S 0x02
#define IS_SET_VIDEO_IN_3 0x03
#define IS_SET_VIDEO_IN_4 0x04
#define IS_SET_VIDEO_IN_1S 0x10
#define IS_SET_VIDEO_IN_2S 0x11
#define IS_SET_VIDEO_IN_3S 0x13
#define IS_SET_VIDEO_IN_4S 0x14
#define IS_SET_VIDEO_IN_EXT 0x40
#define IS_SET_TOGGLE_OFF 0xFF
#define IS_SET_VIDEO_IN_SYNC 0x4000
/* video crossbar selectors (Falcon) */
#define IS_GET_CROSSBAR 0x8000
#define IS_CROSSBAR_1 0
#define IS_CROSSBAR_2 1
#define IS_CROSSBAR_3 2
#define IS_CROSSBAR_4 3
#define IS_CROSSBAR_5 4
#define IS_CROSSBAR_6 5
#define IS_CROSSBAR_7 6
#define IS_CROSSBAR_8 7
#define IS_CROSSBAR_9 8
#define IS_CROSSBAR_10 9
#define IS_CROSSBAR_11 10
#define IS_CROSSBAR_12 11
#define IS_CROSSBAR_13 12
#define IS_CROSSBAR_14 13
#define IS_CROSSBAR_15 14
#define IS_CROSSBAR_16 15
#define IS_SELECT_AS_INPUT 128
/* Video format selectors (Falcon) */
#define IS_GET_VIDEO_MODE 0x8000
#define IS_SET_VM_PAL 0
#define IS_SET_VM_NTSC 1
#define IS_SET_VM_SECAM 2
#define IS_SET_VM_AUTO 3
/* Display update mode constants (Falcon) */
#define IS_GET_UPDATE_MODE 0x8000
#define IS_SET_UPDATE_TIMER 1
#define IS_SET_UPDATE_EVENT 2
/* Sync generator mode constants (Falcon) */
#define IS_GET_SYNC_GEN 0x8000
#define IS_SET_SYNC_GEN_OFF 0
#define IS_SET_SYNC_GEN_ON 1
/* Decimation modes (Falcon) */
#define IS_GET_DECIMATION_MODE 0x8000
#define IS_GET_DECIMATION_NUMBER 0x8001
#define IS_DECIMATION_OFF 0
#define IS_DECIMATION_CONSECUTIVE 1
#define IS_DECIMATION_DISTRIBUTED 2
/* Hardware watchdog defines (Falcon) */
#define IS_GET_WATCHDOG_TIME 0x2000
#define IS_GET_WATCHDOG_RESOLUTION 0x4000
#define IS_GET_WATCHDOG_ENABLE 0x8000
#define IS_WATCHDOG_MINUTES 0
#define IS_WATCHDOG_SECONDS 0x8000
#define IS_DISABLE_WATCHDOG 0
#define IS_ENABLE_WATCHDOG 1
#define IS_RETRIGGER_WATCHDOG 2
#define IS_ENABLE_AUTO_DEACTIVATION 4
#define IS_DISABLE_AUTO_DEACTIVATION 8
#define IS_WATCHDOG_RESERVED 0x1000
/* Vertical AOI merge mode (old define for freerun mode) */
#define IS_VERTICAL_AOI_MERGE_MODE_ON 1
#define IS_AOI_IMAGE_SET_POS_FAST_SUPPORTED 0x0021
/* Timestamp configuration */
#define TIMESTAMP_CONFIGURATION_PIN_GPIO0 2
#define TIMESTAMP_CONFIGURATION_PIN_GPIO1 3
/* LUT */
#define IS_ENABLE_CAMERA_LUT 0x0001
#define IS_SET_CAMERA_LUT_VALUES 0x0002
#define IS_ENABLE_RGB_GRAYSCALE 0x0004
#define IS_GET_CAMERA_LUT_USER 0x0008
#define IS_GET_CAMERA_LUT_COMPLETE 0x0010
#define IS_GET_CAMERA_LUT_SUPPORTED_CHANNELS 0x0020
#define IS_CAMERA_LUT_64 64
#define IS_CAMERA_LUT_128 128
#define IS_CAMERA_LUT_IDENTITY 0x00000100
#define IS_CAMERA_LUT_NEGATIV 0x00000200
#define IS_CAMERA_LUT_GLOW1 0x00000400
#define IS_CAMERA_LUT_GLOW2 0x00000800
#define IS_CAMERA_LUT_ASTRO1 0x00001000
#define IS_CAMERA_LUT_RAINBOW1 0x00002000
#define IS_CAMERA_LUT_MAP1 0x00004000
#define IS_CAMERA_LUT_COLD_HOT 0x00008000
#define IS_CAMERA_LUT_SEPIC 0x00010000
#define IS_CAMERA_LUT_ONLY_RED 0x00020000
#define IS_CAMERA_LUT_ONLY_GREEN 0x00040000
#define IS_CAMERA_LUT_ONLY_BLUE 0x00080000
/* Gamma */
#define IS_GET_GAMMA 0x8000
#define IS_MIN_GAMMA 1
#define IS_MAX_GAMMA 1000
#define IS_DEFAULT_GAMMA -1
/* Capture errors */
typedef enum _UEYE_CAPTURE_ERROR
{
IS_CAPERR_API_NO_DEST_MEM = 0xa2,
IS_CAPERR_API_CONVERSION_FAILED = 0xa3,
IS_CAPERR_API_IMAGE_LOCKED = 0xa5,
IS_CAPERR_DRV_OUT_OF_BUFFERS = 0xb2,
IS_CAPERR_DRV_DEVICE_NOT_READY = 0xb4,
IS_CAPERR_USB_TRANSFER_FAILED = 0xc7,
IS_CAPERR_DEV_TIMEOUT = 0xd6,
IS_CAPERR_ETH_BUFFER_OVERRUN = 0xe4,
IS_CAPERR_ETH_MISSED_IMAGES = 0xe5
} UEYE_CAPTURE_ERROR;
typedef struct _UEYE_CAPTURE_ERROR_INFO
{
DWORD dwCapErrCnt_Total;
BYTE reserved[60];
DWORD adwCapErrCnt_Detail[256]; // access via UEYE_CAPTURE_ERROR
} UEYE_CAPTURE_ERROR_INFO;
/* functions only effective on Falcon boards */
IDSEXP is_SetVideoInput (HIDS hf, INT Source);
IDSEXP is_SetHue (HIDS hf, INT Hue);
IDSEXP is_SetVideoMode (HIDS hf, INT Mode);
IDSEXP is_SetSyncLevel (HIDS hf, INT Level);
IDSEXP is_ShowColorBars (HIDS hf, INT Mode);
IDSEXP is_SetScaler (HIDS hf, float Scalex, float Scaley);
IDSEXP is_SetHorFilter (HIDS hf, INT Mode);
IDSEXP is_SetVertFilter (HIDS hf, INT Mode);
IDSEXP is_ScaleDDOverlay (HIDS hf, BOOL boScale);
IDSEXP is_GetCurrentField (HIDS hf, int* pField);
IDSEXP is_SetVideoSize (HIDS hf, INT xpos, INT ypos, INT xsize, INT ysize);
IDSEXP is_SetKeyOffset (HIDS hf, INT nOffsetX, INT nOffsetY);
IDSEXP is_SetParentHwnd (HIDS hf, HWND hwnd);
IDSEXP is_SetUpdateMode (HIDS hf, INT mode);
IDSEXP is_OvlSurfaceOffWhileMove (HIDS hf, BOOL boMode);
IDSEXP is_GetPciSlot (HIDS hf, INT* pnSlot);
IDSEXP is_GetIRQ (HIDS hf, INT* pnIRQ);
IDSEXP is_SetToggleMode (HIDS hf, int nInput1, int nInput2, int nInput3, int nInput4);
IDSEXP is_SetDecimationMode (HIDS hf, INT nMode, INT nDecimate);
IDSEXP is_SetSync (HIDS hf, INT nSync);
IDSEXP is_SetVideoCrossbar (HIDS hf, INT In, INT Out);
IDSEXP is_WatchdogTime (HIDS hf, long lTime);
IDSEXP is_Watchdog (HIDS hf, long lMode);
IDSEXP is_SetPassthrough (HIDS hf, INT Source);
IDSEXP is_SetAGC (HIDS hCam, INT Mode);
IDSEXP is_SetCaptureMode (HIDS hCam, INT Mode);
IDSEXP is_SetRenderMode (HIDS hCam, INT Mode);
/* Deprecated functions */
IDSEXP is_InitBoard (HIDS* phf, HWND hWnd);
IDSEXP is_ExitBoard (HIDS hf);
IDSEXP is_InitFalcon (HIDS* phf, HWND hWnd);
IDSEXP is_ExitFalcon (HIDS hf);
IDSEXP is_GetBoardType (HIDS hf);
IDSEXP is_GetBoardInfo (HIDS hf, PBOARDINFO pInfo);
IDSEXPUL is_BoardStatus (HIDS hf, INT nInfo, ULONG ulValue);
IDSEXP is_GetNumberOfBoards (INT* pnNumBoards);
IDSEXP is_SetBrightness (HIDS hf, INT Bright);
IDSEXP is_SetContrast (HIDS hf, INT Cont);
IDSEXP is_GetDC (HIDS hf, HDC* phDC);
IDSEXP is_ReleaseDC (HIDS hf, HDC hDC);
IDSEXP is_UpdateDisplay (HIDS hf);
IDSEXP is_SetDisplaySize (HIDS hf, INT x, INT y);
IDSEXP is_LockDDOverlayMem (HIDS hf, VOID** ppMem, INT* pPitch);
IDSEXP is_UnlockDDOverlayMem (HIDS hf);
IDSEXP is_LockDDMem (HIDS hf, VOID** ppMem, INT* pPitch);
IDSEXP is_UnlockDDMem (HIDS hf);
IDSEXP is_GetDDOvlSurface (HIDS hf, void** ppDDSurf);
IDSEXP is_SetKeyColor (HIDS hf, INT r, INT g, INT b);
IDSEXP is_StealVideo (HIDS hf, int Wait);
IDSEXP is_SetDDUpdateTime (HIDS hf, INT ms);
IDSEXP is_EnableDDOverlay (HIDS hf);
IDSEXP is_DisableDDOverlay (HIDS hf);
IDSEXP is_ShowDDOverlay (HIDS hf);
IDSEXP is_HideDDOverlay (HIDS hf);
IDSEXP is_GetExposureRange (HIDS hf, double *min, double *max, double *intervall);
IDSEXP is_SetExposureTime (HIDS hf, double EXP, double* newEXP);
IDSEXP is_SetBadPixelCorrection (HIDS hf, INT nEnable, INT threshold);
IDSEXP is_LoadBadPixelCorrectionTable (HIDS hf, const IS_CHAR *File);
IDSEXP is_SaveBadPixelCorrectionTable (HIDS hf, const IS_CHAR *File);
IDSEXP is_SetBadPixelCorrectionTable (HIDS hf, INT nMode, WORD *pList);
IDSEXP is_SetMemoryMode (HIDS hf, INT nCount, INT nDelay);
IDSEXP is_TransferImage (HIDS hf, INT nMemID, INT seqID, INT imageNr, INT reserved);
IDSEXP is_TransferMemorySequence (HIDS hf, INT seqID, INT StartNr, INT nCount, INT nSeqPos);
IDSEXP is_MemoryFreezeVideo (HIDS hf, INT nMemID, INT Wait);
IDSEXP is_GetLastMemorySequence (HIDS hf, INT *pID);
IDSEXP is_GetNumberOfMemoryImages (HIDS hf, INT nID, INT *pnCount);
IDSEXP is_GetMemorySequenceWindow (HIDS hf, INT nID, INT *left, INT *top, INT *right, INT *bottom);
IDSEXP is_IsMemoryBoardConnected (HIDS hf, BOOL *pConnected);
IDSEXP is_ResetMemory (HIDS hf, INT nReserved);
IDSEXP is_SetTestImage (HIDS hf, INT nMode);
IDSEXP is_GetCaptureErrorInfo (HIDS hf, UEYE_CAPTURE_ERROR_INFO *pCaptureErrorInfo, UINT SizeCaptureErrorInfo);
IDSEXP is_ResetCaptureErrorInfo (HIDS hf );
IDSEXP is_SetAutoCfgIpSetup (INT iAdapterID, const UEYE_ETH_AUTOCFG_IP_SETUP* pSetup, UINT uStructSize);
IDSEXP is_SetPersistentIpCfg (HIDS hf, UEYE_ETH_IP_CONFIGURATION* pIpCfg, UINT uStructSize);
IDSEXP is_ConvertImage (HIDS hf, char* pcSource, int nIDSource, char** pcDest, INT *nIDDest, INT *reserved);
IDSEXP is_SetConvertParam (HIDS hf, BOOL ColorCorrection, INT BayerConversionMode, INT ColorMode, INT Gamma, double* WhiteBalanceMultipliers);
IDSEXP is_SetEdgeEnhancement (HIDS hf, INT nEnable);
IDSEXP is_SetBlCompensation (HIDS hCam, INT nEnable, INT offset, INT reserved);
IDSEXP is_LoadParameters (HIDS hf, const IS_CHAR* pFilename);
IDSEXP is_SaveParameters (HIDS hf, const IS_CHAR* pFilename);
IDSEXP is_GetPixelClockRange (HIDS hf, INT *pnMin, INT *pnMax);
IDSEXP is_SetPixelClock (HIDS hf, INT Clock);
#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_LINUX24 10
IDSEXP is_GetOsVersion (void);
// Image AOI functions
IDSEXP is_SetImageSize (HIDS hf, INT x, INT y);
IDSEXP is_SetImagePos (HIDS hf, INT x, INT y);
IDSEXP is_SetAOI (HIDS hf, INT cmd, INT *pXPos, INT *pYPos, INT *pWidth, INT *pHeight);
IDSEXP is_SetImageAOI (HIDS hf, INT xPos, INT yPos, INT width, INT height);
// IO functions
IDSEXP is_SetIO (HIDS hf, INT nIO);
IDSEXP is_SetIOMask (HIDS hf, INT nMask);
IDSEXP is_SetLED (HIDS hf, INT nValue);
IDSEXP is_GetGlobalFlashDelays (HIDS hf, ULONG *pulDelay, ULONG *pulDuration);
IDSEXP is_SetFlashDelay (HIDS hf, ULONG ulDelay, ULONG ulDuration);
IDSEXP is_SetFlashStrobe (HIDS hf, INT nMode, INT nLine);
// GigE functions
IDSEXP is_GetEthDeviceInfo (HIDS hf, UEYE_ETH_DEVICE_INFO* pDeviceInfo, UINT uStructSize);
// Image load / save functions
IDSEXP is_LoadImage (HIDS hf, const IS_CHAR* File);
IDSEXP is_LoadImageMem (HIDS hf, const IS_CHAR* File, char** ppcImgMem, INT* pid);
IDSEXP is_SaveImage (HIDS hf, const IS_CHAR* File);
IDSEXP is_SaveImageMem (HIDS hf, const IS_CHAR* File, char* pcMem, int nID);
IDSEXP is_SaveImageEx (HIDS hf, const IS_CHAR* File, INT fileFormat, INT Param);
IDSEXP is_SaveImageMemEx (HIDS hf, const IS_CHAR* File, char* pcMem, INT nID, INT FileFormat, INT Param);
// LUT functions
IDSEXP is_SetCameraLUT (HIDS hCam, UINT Mode, UINT NumberOfEntries, double *pRed_Grey, double *pGreen, double *pBlue);
IDSEXP is_GetCameraLUT (HIDS hCam, UINT Mode, UINT NumberOfEntries, double *pRed_Grey, double *pGreen, double *pBlue);
// Gamma
IDSEXP is_SetGamma (HIDS hCam, INT nGamma);
// Persistent memory
IDSEXP is_ReadEEPROM (HIDS hCam, INT Adr, char* pcString, INT Count);
IDSEXP is_WriteEEPROM (HIDS hCam, INT Adr, char* pcString, INT Count);
#ifdef __cplusplus
};
#endif /* __cplusplus */
#pragma pack(pop)
#endif // #ifndef __IDS_HEADER_DEPRECATED__

View File

@ -0,0 +1,17 @@
#define STRINGIFY(X) #X
#define XSTRINGIFY(X) STRINGIFY(X)
#define JOIN(X, Y) X ## Y
#define XJOIN(X, Y) JOIN(X, Y)
#define PROGRAM_VERSION_NUMBER 4, 92, 0, 0
#define PROGRAM_VERSION 4.92.0.0
#define PROGRAM_VERSION_TEXT XSTRINGIFY(PROGRAM_VERSION)
#define CURRENT_YEAR 2019
#define CURRENT_YEAR_TEXT XSTRINGIFY(CURRENT_YEAR)
#define PROGRAM_COMPANY IDS Imaging Development Systems GmbH
#define PROGRAM_COMPANY_TEXT XSTRINGIFY(PROGRAM_COMPANY)
#define LEGAL_COPYRIGHT_TEXT(FROM_YEAR) XSTRINGIFY(JOIN(Copyright (C), FROM_YEAR) - CURRENT_YEAR PROGRAM_COMPANY)
#define PROGRAM_NAME_TEXT(PROGRAM_NAME) XSTRINGIFY(PROGRAM_NAME)