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

📄 lvbusdlldev.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
字号:
#ifndef ___LVBUSDLLDEV_H
#define ___LVBUSDLLDEV_H

#include <mboard.h>
#include <lvbus.h>

class LvBusDllMainBoard : public LvMainAndModuleBoard {
    protected:
        LvBusInterface BusIf;
        U32BIT Id;
        char DevName[32];
        char SensorName[32];
        char AsciiId[64];
        U32BIT DevCapability[4];
    public:
        LvBusDllMainBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllMainBoard(void);

        virtual void _CheckNovram(LvHwCheck *Report);
        virtual LVSTATUS YesItsMe(void);

        virtual LVSTATUS BusReadRegister(U32BIT Address, U32BIT Class, U32BIT *Value);
        virtual LVSTATUS BusReadBlockRegister(U32BIT Address, U32BIT Class, U32BIT *Value, U32BIT NrVal);
        virtual LVSTATUS BusWriteRegister(U32BIT Address, U32BIT Class, U32BIT *Value);
        virtual char *GetDeviceName(void);
        virtual BOOL DeviceIo(      DWORD  dwIoControlCode,	// control code of operation to perform
                                    LPVOID  lpInBuffer=NULL,	// pointer to buffer to supply input data
                                    DWORD  nInBufferSize=0,	// size of input buffer
                                    LPVOID  lpOutBuffer=NULL,	// pointer to buffer to receive output data
                                    DWORD  nOutBufferSize=0,	// size of output buffer
                                    LPDWORD  lpBytesReturned=NULL,	// pointer to variable to receive output byte count
                                    LPOVERLAPPED  lpOverlapped=NULL);
    };



class LvBusDllLvCamNetBoard : public LvBusDllMainBoard {
    public:
        LvBusDllLvCamNetBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamNetBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAM_NET; }
        virtual LvModule *CreateModule(U16BIT Type, U8BIT ModuleNr, LvBoardIdentifier FAR *Id=NULL);
        virtual LVSTATUS GetSystemStatus(LvSysHealth *LvSysHealth);
        virtual void CheckBoardRevision(void);
        virtual LVSTATUS _GetProductionString(U32BIT Which, char *String, U32BIT Len);
    };

class LvBusDllLvCamNetCheckBoard : public LvBusDllLvCamNetBoard {
    public:
        LvBusDllLvCamNetCheckBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamNetCheckBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAM_NET_CHECK; }
    };


class LvBusDllLvCamPicBoard : public LvBusDllMainBoard {
    public:
        LvBusDllLvCamPicBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamPicBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAMPIC; }
        virtual LvModule *CreateModule(U16BIT Type, U8BIT ModuleNr, LvBoardIdentifier FAR *Id=NULL);
    };

class LvBusDllLvCamPicCLBoard : public LvBusDllLvCamPicBoard {
    public:
        LvBusDllLvCamPicCLBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamPicCLBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAMPICCL; }
    };

class LvBusDllLvCamPicCheckBoard : public LvBusDllLvCamPicBoard {
    public:
        LvBusDllLvCamPicCheckBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamPicCheckBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAMPIC_CHECK; }
    };

class LvBusDllLvCamUSBBoard : public LvBusDllMainBoard {
    public:
        LvBusDllLvCamUSBBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamUSBBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAM_USB; }
        virtual LvModule *CreateModule(U16BIT Type, U8BIT ModuleNr, LvBoardIdentifier FAR *Id=NULL);
        virtual void CheckBoardRevision(void);
        virtual LVSTATUS _GetProductionString(U32BIT Which, char *String, U32BIT Len);
    };

class LvBusDllLvCamUSBCheckBoard : public LvBusDllLvCamUSBBoard {
    public:
        LvBusDllLvCamUSBCheckBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllLvCamUSBCheckBoard(void);

        virtual U16BIT GetBoardType(void) { return B_LVCAM_USB_CHECK; }
    };

class LvBusDllLvPrvNetBoard : public LvBusDllMainBoard {
    protected:
        U16BIT BoardType;
    public:
        LvBusDllLvPrvNetBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId, U16BIT aBoardType);
        ~LvBusDllLvPrvNetBoard(void);

        virtual U16BIT GetBoardType(void) { return BoardType; }
        virtual void CheckBoardRevision(void);
        virtual LVSTATUS RegAccess(LvRegister RegId, U32BIT *Value, U16BIT NrValue, U8BIT Operation, U8BIT ChipIndex, U8BIT Module=0);
    };

class LvBusDllGigeVisionBoard : public LvBusDllMainBoard {
    protected:
    public:
        LvBusDllGigeVisionBoard(LvBusInterface *aBusIf, U32BIT anId, char *anAsciiId);
        ~LvBusDllGigeVisionBoard(void);

        virtual U16BIT GetBoardType(void) { return B_GVISION_CAMERA; }
        virtual void CheckBoardRevision(void);
    };

#endif

⌨️ 快捷键说明

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