|
#pragma once
|
|
#include "Global_Define.h"
|
#include "GrabberControl.h"
|
#include "MilControl_Common.h"
|
|
class CFrameBufferController;
|
class CGrabberSolios : public CGrabberControl
|
{
|
public:
|
CGrabberSolios();
|
virtual ~CGrabberSolios();
|
|
public:
|
//////////////////////////////////////////////////////////////////////////
|
// Initialization
|
virtual BOOL Initialize(void *pParam, int *pErrorCode,int iBoard=0); // Grabber 檬扁拳
|
virtual BOOL InitializeBuffer(void *pParam);
|
//////////////////////////////////////////////////////////////////////////
|
// Deinit
|
virtual BOOL Deinitialize();
|
|
virtual BOOL GrabScanStart(int iScan, BOOL bFreeRun, int nPeriod, int nExposure=10, BOOL bAuto=TRUE);
|
virtual BOOL GrabLiveStart(int nExposure=15);
|
virtual BOOL GrabScanStop();
|
|
virtual BOOL IsGrabbing();
|
virtual int IsAcqFrame(int nFrameNo, int nThreadIdx = -1);
|
|
virtual LPBYTE GetFrameHeader(int iScan,int nFrameNo, BOOL* bSuccess = NULL);
|
virtual LPBYTE GetFrameHeaderLine(int iScan,int nLine, BOOL* bSuccess = NULL);
|
virtual BOOL GetSmallImage(int iScan,LPBYTE lpIn, int nXStart, int nYStart, int nXSize, int nYSize, BOOL bMustMapping = TRUE);
|
|
/* User's processing function prototype. */
|
static long MFTYPE CallbackHookFunction(long HookType , MIL_ID HookId, void MPTYPE *HookDataPtr);
|
static long MFTYPE CallbackFreeRunFunction(long HookType , MIL_ID HookId, void MPTYPE *HookDataPtr);
|
|
virtual int GetStartFrameIdx() { return m_nStartFrameIdx; }
|
virtual int GetEndFrameIdx() { return m_nEndFrameIdx; }
|
|
virtual void SetSimulFrame(int nFrame);
|
virtual int GetGrabFrameCount();
|
virtual void ClearGrabIdx();
|
virtual stFrameIndex GetGrabFrame();
|
virtual stFrameIndex GetGrabFrameNoRemove();
|
virtual CFrameBufferController *GetFrameBuffer(){return m_pFrameBuffer;}
|
virtual BOOL SetTriggerMode( BOOL bExTrigger );
|
|
dqGrabIdx *GetGrabIdx(){return &m_dqCallbackFrame;}
|
BOOL FindGrabIdx(int iScan,int iFrame);
|
BOOL SetInsertFrame(int iScan,int iFrame);
|
|
BOOL IsHasGrabFrame();
|
|
protected:
|
BOOL Processing(long HookType, MIL_ID HookId);
|
//////////////////////////////////////////////////////////////////////////
|
// Buffer
|
public:
|
BOOL CreateGrabBuffer(int nScanCount,int nBufSize, int nBufSizeX, int nBufSizeY);
|
void ClearBuffer();
|
BOOL CheckLastError();
|
|
void SimulationGrab(int iScan);
|
BOOL SetImageFlipX(BOOL bOn);
|
|
public:
|
_GRABBER_INIT_PARAM_ m_Param;
|
|
MIL_ID m_MilSystem; // 焊靛寸 1函荐
|
MIL_ID m_MilDigitizer; // 墨皋扼 函荐
|
MIL_ID m_Milbufgrab[BUFFERING_SIZE_MAX];
|
DIGSTATUS m_DigitizerStatus;
|
long m_lBord;
|
BOOL bUART_Connect[2];
|
|
CCriticalSection m_critical;
|
|
int m_nEndFrameIdx; // 泅犁 Grab 茄 荐
|
int m_nStartFrameIdx; // 啊厘 坷贰傈俊 Grab茄 Frame狼 牢郸胶.
|
int m_nSetBufferIdx;
|
int m_nScanIndex;
|
int m_nAllocatedGrabBufSize;
|
BOOL m_isGrabbing;
|
BOOL m_isLiveGrab;
|
CFrameBufferController *m_pFrameBuffer;
|
dqGrabIdx m_dqCallbackFrame;
|
CCriticalSection m_csIdxLock;
|
};
|