mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-19 03:49:42 +08:00
52 lines
1.3 KiB
C++
52 lines
1.3 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//Ö÷²É¼¯¿ØÖÆÏß³Ì
|
|
//////////////////////////////////////////////////////////////////////////
|
|
#pragma once
|
|
#include"pch.h"
|
|
#include "ThreadIS1Controller.h"
|
|
#include "ThreadiSIFController.h"
|
|
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
|
|
class ZZ_DataGrabberThread :public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ZZ_DataGrabberThread(QObject* parent = nullptr);
|
|
~ZZ_DataGrabberThread();
|
|
|
|
public:
|
|
//QWaitCondition m_wcWaitISIF,m_wcWaitIS1;
|
|
//QMutex m_mTestMutex;
|
|
private:
|
|
ZZ_iSIFControlThread m_tcISIFCtrlThread;
|
|
ZZ_IS1ControlThread m_tcIS1CtrlThread;
|
|
QThread* m_pqISIFThreadHolder;
|
|
QThread* m_pqIS1ThreadHolder;
|
|
|
|
std::atomic<bool> m_bFlagIsCollecting;
|
|
std::atomic<bool> m_bFlagIsCollectingFinished;
|
|
int *m_piFlagCaptureThreadStatus;
|
|
const int m_iTotalThreads = 2;
|
|
|
|
QTimer *m_GrabTimer;
|
|
AcqTimeSettings m_struAcqTime;
|
|
public:
|
|
void SetGrabTimer(AcqTimeSettings struAcqTime);
|
|
|
|
int SetupSignals();
|
|
int StartGrab();
|
|
|
|
private:
|
|
int OnTimeCounter();
|
|
int InitThreadStatus();
|
|
int StartGrabberThread();
|
|
public slots:
|
|
int TestGrab();
|
|
int TestGrabOnce();
|
|
int TestStopGrab();
|
|
int HandleThreadEvent(int iThreadID, int iFlagStatus);
|
|
signals:
|
|
void SignalStartGrabOnce();
|
|
void SignalStopGrab();
|
|
void SignalGrabOnceFinished();
|
|
};
|