111111111222222333

This commit is contained in:
2021-12-03 10:43:25 +08:00
parent efbcde38d7
commit a9014a5a85
26 changed files with 108 additions and 44 deletions

View File

@ -4,8 +4,12 @@ CMainDataGrabber::CMainDataGrabber(QObject* parent /*= nullptr*/)
{
m_piFlagCaptureThreadStatus_Signal = NULL;
m_piFlagCaptureThreadStatus_Dark = NULL;
m_GrabTimer = new QTimer(this);
//m_GrabTimer = new QTimer(this);
m_iFlagIsCapturing = false;
m_iFlagIsCapturing_Signal = false;
m_iFlagIsCapturing_Dark = false;
}
CMainDataGrabber::~CMainDataGrabber()
@ -30,11 +34,18 @@ CMainDataGrabber::~CMainDataGrabber()
}
if (m_GrabTimer!=NULL)
{
m_GrabTimer->stop();
delete m_GrabTimer;
}
// if (m_GrabTimer!=NULL)
// {
// m_GrabTimer->stop();
// delete m_GrabTimer;
// }
}
void CMainDataGrabber::Delay_MSec(ZZ_U16 usMS)
{
QEventLoop qeLoop;
QTimer::singleShot(usMS, &qeLoop, SLOT(quit()));
qeLoop.exec();
}
int CMainDataGrabber::SetGrabberParams(RunTimeGrabberParams struGrabberRTParams)
@ -120,9 +131,12 @@ int CMainDataGrabber::SetupMsgPipelines()
connect(this, &CMainDataGrabber::SignalGrabOnceFinished, this, &CMainDataGrabber::GrabOnceFinished);
connect(m_GrabTimer, &QTimer::timeout, this, &CMainDataGrabber::OnTimeCounter);
//connect(m_GrabTimer, &QTimer::timeout, this, &CMainDataGrabber::OnTimeCounter);
connect(this, &CMainDataGrabber::SignalStartGrab, this, &CMainDataGrabber::StartGrabTimer);
connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Signal, this, &CMainDataGrabber::GrabOnceFinished_Signal);
connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Dark, this, &CMainDataGrabber::SignalGrabOnceFinished_Dark);
return 0;
}
@ -149,7 +163,7 @@ int CMainDataGrabber::HandleThreadEvent_Signal(int iThreadID, int iFlagStatus)
if (bFinished)
{
emit SignalStartGrabOnce_Dark();
emit SignalGrabOnceFinished_Signal();
}
return 0;
}
@ -170,11 +184,23 @@ int CMainDataGrabber::HandleThreadEvent_Dark(int iThreadID, int iFlagStatus)
if (bFinished)
{
emit SignalGrabOnceFinished();
emit SignalGrabOnceFinished_Dark();
}
return 0;
}
int CMainDataGrabber::GrabOnceFinished_Signal()
{
m_iFlagIsCapturing_Signal = false;
return 0;
}
int CMainDataGrabber::GrabOnceFinished_Dark()
{
m_iFlagIsCapturing_Dark = false;
return 0;
}
int CMainDataGrabber::StartGrabTimer()
{
//////////////////////////////////////////////////////////////////////////start
@ -190,8 +216,8 @@ int CMainDataGrabber::StartGrabTimer()
// }
////start
int iIntervalInMS =m_struAcqTime.qtInterval.hour()*3600*1000+ m_struAcqTime.qtInterval.minute()*60*1000+ m_struAcqTime.qtInterval.second()*1000;
m_GrabTimer->start(iIntervalInMS);
//int iIntervalInMS =m_struAcqTime.qtInterval.hour()*3600*1000+ m_struAcqTime.qtInterval.minute()*60*1000+ m_struAcqTime.qtInterval.second()*1000;
//m_GrabTimer->start(iIntervalInMS);
//////////////////////////////////////////////////////////////////////////test
// m_iFlagIsCapturing = true;
@ -209,40 +235,43 @@ int CMainDataGrabber::StartGrabTimer()
// QThread::msleep(1000);
// }
// qDebug() << "Allgrab stopped" << " Thread ID:" <<2;
emit SignalStartGrabOnce_Signal();
m_iFlagIsCapturing = 1;
m_iFlagIsCapturing_Signal = 1;
while (m_iFlagIsCapturing_Signal)
{
Delay_MSec(200);
qDebug() << "msleep" << 200;
}
qDebug() << "msleep quit";
return 0;
}
int CMainDataGrabber::GrabOnceFinished()
{
m_iFlagIsCapturing = false;
//m_iFlagIsCapturing = false;
// QTimer t;
// t.start();
// while (1)
// {
// QThread::msleep(1);
// QCoreApplication::processEvents();
// }
return 0;
}
int CMainDataGrabber::OnTimeCounter()
{
if (m_iFlagIsCapturing)
{
qDebug() << "busy";
return 0;
}
m_iFlagIsCapturing = true;
m_struAcqPosSetting.iTotalPosition = 5;
emit SignalStartGrabOnce_Signal();
for (int i=0;i< m_struAcqPosSetting.iTotalPosition;i++)
{
m_iFlagIsCapturing = true;
while (m_iFlagIsCapturing)
{
QThread::msleep(1000);
}
}
return 0;
}
// int CMainDataGrabber::OnTimeCounter()
// {
//
// if (m_iFlagIsCapturing)
// {
// qDebug() << "busy";
// return 0;
// }
// m_iFlagIsCapturing = true;
//
// emit SignalGrabOnceFinished();
// return 0;
// }

View File

@ -19,8 +19,12 @@ private:
int *m_piFlagCaptureThreadStatus_Signal;
int *m_piFlagCaptureThreadStatus_Dark;
int m_iTotalThreads;
int m_iFlagIsCapturing;
int m_iFlagIsCapturing_Signal;
int m_iFlagIsCapturing_Dark;
FSContext m_struDeviceContext;
@ -29,8 +33,9 @@ private:
AcqTimeSettings m_struAcqTime;
QTimer *m_GrabTimer;
//QTimer *m_GrabTimer;
private:
void Delay_MSec(ZZ_U16 usMS);
public:
//Call this first
int SetGrabberParams(RunTimeGrabberParams struGrabberRTParams);
@ -43,16 +48,22 @@ public:
int StartGrab();
public slots:
int StartGrabTimer();
//int OnTimeCounter();
int HandleThreadEvent_Signal(int iThreadID, int iFlagStatus);
int HandleThreadEvent_Dark(int iThreadID, int iFlagStatus);
int StartGrabTimer();
int GrabOnceFinished_Signal();
int GrabOnceFinished_Dark();
int GrabOnceFinished();
int OnTimeCounter();
signals:
void SignalStartGrabOnce_Signal();
void SignalStartGrabOnce_Dark();
void SignalGrabOnceFinished_Signal();
void SignalGrabOnceFinished_Dark();
void SignalGrabOnceFinished();