⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lvserialcommunication.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
📖 第 1 页 / 共 2 页
字号:

#ifndef ___LVSERIALCOMMUNICATION_H
#define ___LVSERIALCOMMUNICATION_H

#ifdef __BCPLUSPLUS__
    #pragma warn -pck
#endif
#include <lvdef.h>


#include "LvCommDefs.h"
#include "LvCommParams.h"
#include "LvCommResult.h"
#include "LvCommCameraProperties.h"
#include "LvCommAutodetect.h"

#ifdef __BCPLUSPLUS__
    #pragma warn .pck
#endif


#ifdef __UNIX__
    #define LVAPI(x) x
#else
    #ifdef __LVAPIDEF__
        #define LVAPI(x) __declspec(dllexport) x __stdcall
    #else
        #define LVAPI(x) __declspec(dllimport) x __stdcall
    #endif
#endif

typedef unsigned LvBOOL;
typedef unsigned LvCommHandle;
typedef void (*LvCommCallback) (void *pBlock, unsigned ulBlockSize, LvCommHandle hCommHandle);


extern "C" {

    LVAPI(void) LvComm_Init ();
    LVAPI(void) LvComm_Uninit ();

    LVAPI(LvCommResult) LvComm_GetErrorText (LvCommResult commres, char *szBuffer, unsigned ulMaxSize);

    LVAPI(unsigned) LvComm_PerformDebugChecks ();

    LVAPI(LvCommResult) LvComm_OpenCamera (unsigned ulCommMode,
                                           LvCommModeParams *pModeParams,
                                           unsigned ulProtocolID,
                                           LvCommHandle *pHandle
                                           );
    LVAPI(LvCommResult) LvComm_OpenGeneric (unsigned ulCommMode,
                                           LvCommModeParams *pModeParams,
                                           LvCommXferParams *pXferParams,
                                           LvCommHandle *pHandle
                                           );
    LVAPI(LvCommResult) LvComm_Close (LvCommHandle hCommHandle);


    LVAPI(LvCommResult) LvComm_DetectConnectedCameras (unsigned *aulProtocolIDs,
                                           unsigned *aulCommModes,
                                           LvCommModeParams *aModeParams,
                                           unsigned *pulMaxEntries,
                                           unsigned ulMaskMethod,
                                           unsigned ulMaskCamera,
                                           unsigned ulFlags,
                                           void *pReserved=0);


    LVAPI(void) LvComm_SetCommCallbacks (LvCommCallback pOutputCommCallback,
                                         LvCommCallback pInputCommCallback);

    LVAPI(LvBOOL) LvComm_SupportsCameraControl (unsigned short usCameraID);
    LVAPI(LvCommResult) LvComm_SetToFreeRunningMode (unsigned short usCameraID,
                                        unsigned ulCommMode, LvCommModeParams *pModeParams,
                                        void *pReserved=0);
    LVAPI(LvCommResult) LvComm_SetToAsyncResetMode (unsigned short usCameraID, int iArstIndex,
                                        unsigned ulCommMode, LvCommModeParams *pModeParams,
                                        void *pReserved=0);

    LVAPI(unsigned) LvComm_CountSupportedCameras ();
    LVAPI(LvCommResult) LvComm_GetSupportedCameras (unsigned *aulProtocolIDs);

    LVAPI(LvCommResult) LvComm_GetCameraProtocolInfo (unsigned ulProtocolID,
                                            char *szName, unsigned ulMaxNameSize,
                                            LvCommProtocolInfo *pProtocolInfo);

    LVAPI(unsigned) LvComm_CountPorts (unsigned ulReserved=0);
    LVAPI(LvCommResult) LvComm_GetPortInfo (unsigned ulPortIndex,
                                            LvCommPortInfo *pPortInfo,
                                            unsigned ulReserved=0);


    LVAPI(LvCommResult) LvComm_SendBlock (LvCommHandle hCommHandle,
                                  void *pBlock, unsigned *pulBlockSize);
    LVAPI(LvCommResult) LvComm_ReceiveBlock (LvCommHandle hCommHandle,
                                  void *pBlock, unsigned *pulBlockSize);
    LVAPI(LvCommResult) LvComm_SendRecvBlock (LvCommHandle hCommHandle,
                                  void *pBlock, unsigned *pulBlockSize,
                                  void *pResponse, unsigned *pulResponseSize);
    LVAPI(LvCommResult) LvComm_ReceiveBlockEx (LvCommHandle hCommHandle,
                                  void *pBlock, unsigned *pulBlockSize,
                                  unsigned ulResponseTimeout,
                                  void *pEOTBlock, unsigned ulEOTBlockSize);
    LVAPI(LvCommResult) LvComm_SendRecvBlockEx (LvCommHandle hCommHandle,
                                  void *pBlock, unsigned *pulBlockSize,
                                  void *pResponse, unsigned *pulResponseSize,
                                  unsigned ulResponseTimeout,
                                  void *pEOTBlock, unsigned ulEOTBlockSize);

    LVAPI(LvCommResult) LvComm_RetrieveXferParams (LvCommHandle hCommHandle, LvCommXferParams *pXferParams);
    LVAPI(LvCommResult) LvComm_UpdateXferParams (LvCommHandle hCommHandle, LvCommXferParams *pXferParams);

    LVAPI(LvCommResult) LvComm_GetFlags (LvCommHandle hCommHandle, unsigned *pulFlags);
    LVAPI(LvCommResult) LvComm_SetFlags (LvCommHandle hCommHandle, unsigned ulFlags);



    LVAPI(LvBOOL) LvComm_SupportsRegisterAccess(LvCommHandle hCommHandle);
    LVAPI(LvBOOL) LvComm_SupportsSendingCommands(LvCommHandle hCommHandle);

    LVAPI(LvCommResult) LvComm_SetRegisterData (LvCommHandle hCommHandle,
                                    unsigned ulAddress, unsigned ulData);
    LVAPI(LvCommResult) LvComm_GetRegisterData (LvCommHandle hCommHandle,
                                    unsigned ulAddress,
                                    unsigned *pulData);


    LVAPI(LvCommResult) LvComm_SendSimpleCommand (LvCommHandle hCommHandle,
                                    void *pCommand, unsigned ulCommandSize,
                                    void *pResponse, unsigned *pulResponseSize);
    LVAPI(LvCommResult) LvComm_SendCommandParseResponse (LvCommHandle hCommHandle,
                                    void *pCommand, unsigned ulCommandSize,
                                    LvCommCommandParams *pCommandParams,
                                    LvCommCommandParams *pResponseParams);
    LVAPI(LvCommResult) LvComm_SendCommandWithParams (LvCommHandle hCommHandle,
                                    void *pCommand, unsigned ulCommandSize,
                                    LvCommCommandParams *pCommandParams,
                                    void *pResponse, unsigned *pulResponseSize);

    LVAPI(LvCommResult) LvComm_CleanCommStatus (LvCommHandle hCommHandle);

    LVAPI(LvCommResult) LvComm_VerifyConnectedCamera (LvCommHandle hCommHandle);

    LVAPI(LvBOOL) LvComm_SupportsPixelDepth (LvCommHandle hCommHandle);
    LVAPI(unsigned) LvComm_CountPixelDepths (LvCommHandle hCommHandle);
    LVAPI(LvCommResult) LvComm_GetPixelDepthCapability (LvCommHandle hCommHandle, LvCommPixelDepth *aPixelDepths);
    LVAPI(LvCommResult) LvComm_GetPixelDepth (LvCommHandle hCommHandle, LvCommPixelDepth *pPixelDepth);
    LVAPI(LvCommResult) LvComm_SetPixelDepth (LvCommHandle hCommHandle, LvCommPixelDepth PixelDepth);

    LVAPI(LvBOOL) LvComm_SupportsTriggerMode (LvCommHandle hCommHandle);
    LVAPI(unsigned) LvComm_CountTriggerModes (LvCommHandle hCommHandle);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -