lvbuscamsercom.h

来自「相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数」· C头文件 代码 · 共 91 行

H
91
字号
#ifndef ___LVBUS_LVCAMSERCOM_H
#define ___LVBUS_LVCAMSERCOM_H

#include <LvBus.h>
#include "LvBus_LvCamPicSer.h"


#ifdef __cplusplus
    extern "C" {
#endif

class SerBus {
public:
    SerBus();
    virtual ~SerBus();

    virtual S32BIT GetDesc(unsigned char* Desc, unsigned long Size) = 0;

    virtual LVSTATUS OpenPort(U32BIT Port) = 0;
    virtual void ClosePort(void) = 0;
    
    virtual U32BIT PutChar(U32BIT Char)=0;
    virtual U32BIT GetChar(U8BIT *Buffer)=0;

    U32BIT PutString(unsigned char* Buffer, unsigned long Len);
    U32BIT PutString(const char* str);
    S32BIT GetLine(unsigned char* Buffer, unsigned long BufSize, unsigned long Timeout);

    virtual U32BIT GetSerialBusType(void) = 0;

    virtual void PurgeInput() { /* do nothing if not implemented */ };
};



class Rs232SerBus : public SerBus {
    private:
        HANDLE hCom;
        int MyPort;

    public:
        LVSTATUS OpenPort(U32BIT Port);
        void ClosePort(void);

        Rs232SerBus(void);
        ~Rs232SerBus(void);

        U32BIT PutChar(U32BIT Char);
        U32BIT GetChar(U8BIT *Buffer);

        S32BIT GetDesc(unsigned char* Desc, unsigned long Size);
        //U32BIT PutString(unsigned char* Buffer, unsigned long Len);
        //U32BIT PutString(const char* str);

        //S32BIT GetLine(unsigned char* Buffer, unsigned long BufSize, unsigned long Timeout) = 0;

        void PurgeInput();
        virtual U32BIT GetSerialBusType(void) { return LvBus_Serial; }
    };


class CamLinkSerBus : public SerBus {
    private:
        int* MyPortId;
        int MyPortIdx;

    public:
        LVSTATUS OpenPort(U32BIT Port);
        void ClosePort(void);

        CamLinkSerBus(void);
        ~CamLinkSerBus(void);

        static void TraceErrCode(int ErrCode);

        U32BIT PutChar(U32BIT Char);
        U32BIT GetChar(U8BIT *Buffer);

        void PurgeInput();

        S32BIT GetDesc(unsigned char* Desc, unsigned long Size);

        virtual U32BIT GetSerialBusType(void) { return LvBus_Serial; }
    };

#ifdef __cplusplus
    };
#endif


#endif

⌨️ 快捷键说明

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