#ifndef MV_GENICAM_TYPES_H
|
#define MV_GENICAM_TYPES_H
|
|
#if ! defined(_MSC_VER)
|
|
#include <stdint.h>
|
|
#define interface struct
|
|
#else // if defined(_MSC_VER)
|
|
//! \addtogroup Base_PublicUtilities
|
//! \{
|
|
//! makes int 8 portable across different platforms
|
typedef signed char int8_t;
|
//! makes char 8 portable across different platforms
|
typedef char char8_t;
|
//! makes unsigned char portable across different platforms
|
typedef unsigned char uint8_t;
|
//! makes char 8 portable across different platforms
|
typedef unsigned char uchar8_t;
|
|
//! makes short portable across different platforms
|
typedef short int16_t;
|
//! makes unsigned short portable across different platforms
|
typedef unsigned short uint16_t;
|
|
//! makes __int32 portable across different platforms
|
typedef __int32 int32_t;
|
//! makes unsigned int32 portable across different platforms
|
typedef unsigned __int32 uint32_t;
|
|
//! makes int64 portable across different platforms
|
typedef __int64 int64_t;
|
//! makes unsigned int64 portable across different platforms
|
typedef unsigned __int64 uint64_t;
|
|
//! use a universal platform dependend int
|
typedef __int64 int_t;
|
//! use a universal platform dependend unsigned int
|
typedef unsigned __int64 uint_t;
|
|
#ifndef _SIZE_T_DEFINED
|
#ifdef _WIN64
|
//! use a universal platform dependend unsigned int
|
typedef unsigned __int64 size_t;
|
#else
|
//! use a universal platform dependend unsigned int
|
typedef unsigned int size_t;
|
#endif
|
#define _SIZE_T_DEFINED
|
#endif
|
|
#ifndef _INTPTR_T_DEFINED
|
#ifdef _WIN64
|
//! use a universal platform dependend int
|
typedef __int64 intptr_t;
|
#else
|
//! use a universal platform dependend int
|
typedef int intptr_t;
|
#endif
|
#define _INTPTR_T_DEFINED
|
#endif
|
#endif
|
#ifndef INT64_MAX
|
#define INT64_MAX 0x7fffffffffffffffLL /*maximum signed __int64 value */
|
#define INT64_MIN 0x8000000000000000LL /*minimum signed __int64 value */
|
#define UINT64_MAX 0xffffffffffffffffULL /*maximum unsigned __int64 value */
|
|
#define INT32_MAX 0x000000007fffffffLL /*maximum signed __int32 value */
|
#define INT32_MIN 0xffffffff80000000LL /*minimum signed __int32 value */
|
#define UINT32_MAX 0x00000000ffffffffULL /*maximum unsigned __int32 value */
|
|
#define INT8_MAX 0x000000000000007fLL /*maximum signed __int8 value */
|
#define INT8_MIN 0xffffffffffffff80LL /*minimum signed __int8 value */
|
#define UINT8_MAX 0x00000000000000ffULL /*maximum unsigned __int8 value */
|
#endif
|
//! \}
|
|
|
/*
|
* \brief »Øµ÷º¯ÊýµÃµ½µÄÊý¾ÝµÄ½á¹¹
|
*/
|
typedef struct _IMAGE_INFO
|
{
|
uint64_t nTimeStamp; ///< ʱ¼ä´Á£¬²É¼¯µ½Í¼ÏñµÄʱ¿Ì£¬¾«¶ÈΪ0.01us
|
USHORT nBlockId; ///< Ö¡ºÅ£¬´Ó¿ªÊ¼²É¼¯¿ªÊ¼¼ÆÊý
|
UCHAR *pImageBuffer; ///< ͼÏñÖ¸Õ룬¼´Ö¸Ïò(0,0)ÏñËØËùÔÚÄÚ´æλÖõÄÖ¸Õ룬ͨ¹ý¸ÃÖ¸Õë¿ÉÒÔ·ÃÎÊÕû¸öͼÏñ
|
ULONG nImageSizeAcq; ///< ²É¼¯µ½µÄͼÏñ´óС[×Ö½Ú]
|
UCHAR nMissingPackets;///< ´«Êä¹ý³ÌÖжªµôµÄ°üÊýÁ¿
|
uint64_t nPixelType; ///< ͼÏñ¸ñʽ
|
uint32_t nSizeX; ///< ͼÏñ¿í¶È
|
uint32_t nSizeY; ///< ͼÏñ¸ß¶È
|
uint32_t nOffsetX; ///< 0
|
uint32_t nOffsetY; ///< 0
|
} MV_IMAGE_INFO, * pMV_IMAGE_INFO ;
|
|
/*
|
* \brief BayerÑÕɫģʽ
|
*/
|
typedef enum {
|
BayerRG, //< ÑÕɫģʽRGGB
|
BayerBG, //< ÑÕɫģʽBGGR
|
BayerGR, //< ÑÕɫģʽGRBG
|
BayerGB, //< ÑÕɫģʽGBRG
|
BayerGRW, //< ÑÕɫģʽGRW
|
BayerInvalid
|
} MV_BAYER_MODE;
|
|
/*
|
* \brief ͼÏñÏñËظñʽ
|
*/
|
typedef enum {
|
PixelFormat_Mono8, //!<8Bit»Ò¶È
|
PixelFormat_BayerBG8, //!<8Bit Bayerͼ,ÑÕɫģʽΪBGGR
|
PixelFormat_BayerRG8, //!<8Bit Bayerͼ,ÑÕɫģʽΪRGGB
|
PixelFormat_BayerGB8, //!<8Bit Bayerͼ,ÑÕɫģʽΪGBRG
|
PixelFormat_BayerGR8, //!<8Bit Bayerͼ,ÑÕɫģʽΪGRBG
|
PixelFormat_BayerGRW8
|
} MV_PixelFormatEnums;
|
|
/*
|
* \brief ´íÎó·µ»ØÖµÀàÐÍ
|
*/
|
typedef enum
|
{
|
MVST_SUCCESS = 0, ///< ûÓдíÎó
|
MVST_ERROR = -1001, ///< Ò»°ã´íÎó
|
MVST_ERR_NOT_INITIALIZED = -1002, //!< ûÓгõʼ»¯
|
MVST_ERR_NOT_IMPLEMENTED = -1003, //!< ûÓÐʵÏÖ
|
MVST_ERR_RESOURCE_IN_USE = -1004, //!< ×ÊÔ´±»Õ¼ÓÃ
|
MVST_ACCESS_DENIED = -1005, ///< ÎÞ·¨·ÃÎÊ
|
MVST_INVALID_HANDLE = -1006, ///< ´íÎó¾ä±ú
|
MVST_INVALID_ID = -1007, ///< ´íÎóID
|
MVST_NO_DATA = -1008, ///< ûÓÐÊý¾Ý
|
MVST_INVALID_PARAMETER = -1009, ///< ´íÎó²ÎÊý
|
MVST_FILE_IO = -1010, ///< IO´íÎó
|
MVST_TIMEOUT = -1011, ///< ³¬Ê±
|
MVST_ERR_ABORT = -1012, ///< Í˳ö
|
MVST_INVALID_BUFFER_SIZE = -1013, ///< »º³åÇø³ß´ç´íÎó
|
MVST_ERR_NOT_AVAILABLE = -1014, ///< ÎÞ·¨·ÃÎÊ
|
MVST_INVALID_ADDRESS = -1015, ///< µØÖ·´íÎó
|
}MVSTATUS_CODES;
|
|
typedef struct
|
{
|
unsigned char mIpAddr[4]; //!<Ïà»úµÄIPµØÖ·
|
unsigned char mEthernetAddr[6]; //!<Ïà»úµÄMACµØÖ·
|
char mMfgName[32]; //!<Ïà»ú³§ÉÌÃû³Æ
|
char mModelName[32]; //!<Ïà»úÐͺÅ
|
char mSerialNumber[16]; //!<Ïà»úÐòÁкÅ
|
char mUserDefinedName[16]; //!<Óû§ÉèÖõÄÏà»úÃû³Æ
|
unsigned char m_IfIp[4]; //!<¼ÆËã»úºÍÏà»úÁ¬½ÓµÄÍø¿¨IPµØÖ·
|
unsigned char m_IfMAC[6]; //!<¼ÆËã»úºÍÏà»úÁ¬½ÓµÄÍø¿¨MACµØÖ·
|
}MVCamInfo;
|
|
enum TriggerSourceEnums
|
{
|
TriggerSource_Software=0,//!<´¥·¢Ä£Ê½Ï£¬ÓÉÈí´¥·¢(Èí¼þÖ¸Áî)À´´¥·¢²É¼¯
|
TriggerSource_Line1=2 //!<´¥·¢Ä£Ê½Ï£¬ÓÐÍâ´¥·¢ÐźÅÀ´´¥·¢²É¼¯
|
};
|
|
enum TriggerModeEnums
|
{
|
TriggerMode_Off, //!<´¥·¢Ä£Ê½¹Ø£¬¼´FreeRunģʽ£¬Ïà»úÁ¬Ðø²É¼¯
|
TriggerMode_On //!<´¥·¢Ä£Ê½¿ª£¬Ïà»úµÈ´ýÈí´¥·¢»òÍâ´¥·¢ÐźÅÔٲɼ¯Í¼Ïñ
|
};
|
|
enum TriggerActivationEnums
|
{
|
TriggerActivation_RisingEdge,//!<ÉÏÉýÑØ´¥·¢
|
TriggerActivation_FallingEdge//!<ϽµÑØ´¥·¢
|
};
|
|
enum LineSourceEnums
|
{
|
LineSource_Off=0, //!<¹Ø±Õ
|
LineSource_ExposureActive=5, //!<ºÍÆعâͬʱ
|
LineSource_Timer1Active=6, //!<Óɶ¨Ê±Æ÷¿ØÖÆ
|
LineSource_UserOutput0=12 //!<Ö±½ÓÓÉÈí¼þ¿ØÖÆ
|
};
|
|
typedef struct
|
{
|
unsigned long m_nTotalBuf; //!<´Ó¿ªÊ¼²É¼¯£¬×ܼƳɹ¦ÊÕµ½µÄÍêÕûͼÏñÖ¡Êý
|
unsigned long m_nFailedBuf; //!<´Ó¿ªÊ¼²É¼¯£¬×ܼÆÊÕµ½µÄ²»ÍêÕûͼÏñÖ¡Êý
|
unsigned long m_nTotalPacket; //!<´Ó¿ªÊ¼²É¼¯£¬×ܼÆÊÕµ½µÄͼÏñÊý¾Ý°üÊý
|
unsigned long m_nFailedPacket; //!<´Ó¿ªÊ¼²É¼¯£¬×ܼƶªÊ§µÄͼÏñÊý¾Ý°üÊý
|
unsigned long m_nResendPacketReq;//!<´Ó¿ªÊ¼²É¼¯£¬×ܼÆÖØ·¢ÇëÇóµÄͼÏñÊý¾Ý°üÊý
|
unsigned long m_nResendPacket;//!<´Ó¿ªÊ¼²É¼¯£¬×ܼÆÖØ·¢³É¹¦µÄͼÏñÊý¾Ý°üÊý
|
}MVStreamStatistic;
|
|
enum UserSetSelectorEnums
|
{
|
UserSetSelector_Default, //!<³ö³§ÉèÖÃ
|
UserSetSelector_UserSet1, //!<Óû§ÉèÖÃ1
|
UserSetSelector_UserSet2 //!<Óû§ÉèÖÃ2
|
};
|
|
enum SensorTapsEnums
|
{
|
SensorTaps_One, //!<µ¥Í¨µÀ
|
SensorTaps_Two, //!<˫ͨµÀ
|
SensorTaps_Three, //!<ÈýͨµÀ
|
SensorTaps_Four, //!<ËÄͨµÀ
|
};
|
|
enum AutoFunctionProfileEnums
|
{
|
AutoFunctionProfile_GainMinimum, //!<Keep gain at minimum
|
AutoFunctionProfile_ExposureMinimum //!<Exposure Time at minimum
|
};
|
|
enum GainAutoEnums
|
{
|
GainAuto_Off, //!<Disables the Gain Auto function.
|
GainAuto_Once, //!<Sets operation mode to 'once'.
|
GainAuto_Continuous //!<Sets operation mode to 'continuous'.
|
};
|
|
//! Valid values for ExposureAuto
|
enum ExposureAutoEnums
|
{
|
ExposureAuto_Off, //!<Disables the Exposure Auto function.
|
ExposureAuto_Once, //!<Sets operation mode to 'once'.
|
ExposureAuto_Continuous //!<Sets operation mode to 'continuous'.
|
};
|
|
enum BalanceWhiteAutoEnums
|
{
|
BalanceWhiteAuto_Off, //!<Disables the Balance White Auto function.
|
BalanceWhiteAuto_Once, //!<Sets operation mode to 'once'.
|
BalanceWhiteAuto_Continuous //!<Sets operation mode to 'continuous'.
|
};
|
|
|
//////////////////////////////////////////////////////////////////////////
|
enum ImageFlipType
|
{
|
FlipHorizontal = 0, //!< ×óÓҷת
|
FlipVertical = 1, //!< ÉÏÏ·ת
|
FlipBoth = 2 //!< Ðýת180¶È
|
} ;
|
|
enum ImageRotateType
|
{
|
Rotate90DegCw = 0, //!< ˳ʱÕëÐýת90¶È
|
Rotate90DegCcw = 1 //!< ÄæʱÕëÐýת90¶È
|
};
|
|
#endif
|