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

📄 rpshndl.h

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

#ifndef ___RPSHNDLR_H
#define ___RPSHNDLR_H


#include <dsylib.h>
#include <privdef.h>
#include <lvrps.h>

#include <lvpackon.h>

typedef struct _tagDsyRPSDef {
    U16BIT Valid;
    U32BIT Offset;
    U32BIT Value;
    } DsyRPSDef;

class LvPicPort;

class RPSHandler {
    private:

    protected:
        HANDLE Compiled;

        U32BIT BaseAddress;
        HDEVICE hDevice;

        CRITICAL_SECTION Rps0Cs;
        CRITICAL_SECTION Rps1Cs;

        char _Huge_ *pPhysicalRps;

        U32BIT *PageMap;
        int NrPage;

        U32BIT RpsIpInt;
        char _Huge_ *pRps;
        char _Huge_ *pCmp;

        DsyRPSDef *RPSDef;
        char **PreCompile;

        U32BIT GetPpxBaseAddress(int PCIOrder);
        LVSTATUS DsyExecute (int Routine);
        LVSTATUS SetCompiled(HANDLE Compiled);
        LVSTATUS LoadCode(void);
        LVSTATUS LoadItem(U32BIT Value, U32BIT Offset);
        LVSTATUS MapRPSToDSYError(LVSTATUS Value);

        LvTargetBuffer *RpsTgt;

    public:
        RPSHandler(LvPicPort *ThePicPort);
        ~RPSHandler(void);

        BOOL IsRunning(int RPS=0);
        LVSTATUS Abort(int RPS=0);
        U16BIT GetStatus(int RPS=0);

        LVSTATUS SyncLive(int Dma, U32BIT ValLive, U16BIT Sync);
        LVSTATUS SyncFreeze(int Dma, U32BIT ValLive, U16BIT Sync);
        LVSTATUS WaitSync(int Field);
        LVSTATUS TestSync(void);
        LVSTATUS DetectCameraType(U32BIT *Norm, U32BIT *Scan);
        LVSTATUS TestInt(void);
        LVSTATUS LiveShot(int Dma, U32BIT ValLive, U32BIT ValFreeze, BOOL Interlaced);
        LVSTATUS ScanPCLKRange(void);
        LVSTATUS ScanVCORange(void);

        LVSTATUS CompileFile(char *FileName, char *OutFileName=NULL);
        // BOOL CompileMem(HANDLE hMem);

        LVSTATUS GetItemCount(int WhichItem, U16BIT *Count);
        LVSTATUS EnumItem(int WhichItem, U16BIT Index, LPSTR Buffer, int Size);
        LVSTATUS SetItemValue(int WhichItem, LPSTR Name, U32BIT Value);
        LVSTATUS GetItemValue(int WhichItem, LPSTR Name, U32BIT *Value);
        LVSTATUS GetItemOffset(int WhichItem, LPSTR VarName, U32BIT *Offset);
        LVSTATUS Execute(U32BIT Offset, int RPS=0);

        LVSTATUS Dump(char *FileName);

        LVSTATUS Pause(void);
        LVSTATUS Continue(void);
        U32BIT   GetRTData(int Which=0);
        LVSTATUS WaitRPSDone(U32BIT ms, int RPS=1);
    };

#include <lvpackof.h>

#endif


⌨️ 快捷键说明

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