QuakeGod
2021-07-29 3b04f942bd51c0453cbb64167cbdb7de69159bd5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#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