diff --git a/source/CaptureThread/MainDataGrabber.cpp b/source/CaptureThread/MainDataGrabber.cpp index 92ac2cd..8b3f7a9 100644 --- a/source/CaptureThread/MainDataGrabber.cpp +++ b/source/CaptureThread/MainDataGrabber.cpp @@ -252,6 +252,7 @@ int CMainDataGrabber::SetupMsgPipelines() connect(this, &CMainDataGrabber::SignalGrabOnceFinished, this, &CMainDataGrabber::GrabOnceFinished); connect(m_psScheduler, &Scheduler::SignalGrabOnce, this, &CMainDataGrabber::OnTimeCounter); + connect(m_psScheduler, &Scheduler::SignalZeroHoldCurrent, this, &CMainDataGrabber::OnZeroHoldCurrent); connect(this, &CMainDataGrabber::SignalStartGrab, this, &CMainDataGrabber::StartGrabTimer); connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Signal, this, &CMainDataGrabber::GrabOnceFinished_Signal); connect(this, &CMainDataGrabber::SignalGrabOnceFinished_Dark, this, &CMainDataGrabber::GrabOnceFinished_Dark); @@ -443,6 +444,15 @@ int CMainDataGrabber::GrabOnceFinished() m_pControlThread[i]->ClearBuffer(); } + + ////hold current + bool bRes = m_ctrlLS.SetHoldCurrent(0.4f); + if (!bRes) + { + qDebug() << "SetHoldCurrent 0.4 Failed"; + } + Delay_MSec(1000); + //// for (int i=0;i< m_struAcqPosSetting.iTotalPosition-1;i++) { ResetThreadStatus(); @@ -479,9 +489,15 @@ int CMainDataGrabber::GrabOnceFinished() { Delay_MSec(1000); } - } - + ////hold current + bRes = m_ctrlLS.SetHoldCurrent(0); + if (!bRes) + { + qDebug() << "SetHoldCurrent 0 Failed"; + } + Delay_MSec(1000); + //// std::vector> vecData; for (ZZ_U8 i = 0; i < m_struDeviceContext.ucDeviceNumber; i++) @@ -544,3 +560,14 @@ int CMainDataGrabber::GrabOnceFinished() return 0; } + int CMainDataGrabber::OnZeroHoldCurrent() + { + bool bRes = m_ctrlLS.SetHoldCurrent(0); + if (!bRes) + { + qDebug() << "OnZeroHoldCurrent Failed"; + } + + return 0; + } + diff --git a/source/CaptureThread/MainDataGrabber.h b/source/CaptureThread/MainDataGrabber.h index a440052..0fd2df4 100644 --- a/source/CaptureThread/MainDataGrabber.h +++ b/source/CaptureThread/MainDataGrabber.h @@ -75,6 +75,7 @@ public slots: int InitLS(); int StartGrabTimer(); int OnTimeCounter(); + int OnZeroHoldCurrent(); int HandleThreadEvent_Signal(int iThreadID, int iFlagStatus); int HandleThreadEvent_Dark(int iThreadID, int iFlagStatus); diff --git a/source/CaptureThread/Scheduler.cpp b/source/CaptureThread/Scheduler.cpp index b455a8d..986ad29 100644 --- a/source/CaptureThread/Scheduler.cpp +++ b/source/CaptureThread/Scheduler.cpp @@ -79,7 +79,8 @@ int Scheduler::OnTimeCounter() { m_iFlagIsOnRestart = 1; } - system("gpio write 1 0");//�豸�ϵ� + emit SignalZeroHoldCurrent(); + system("gpio write 1 0");//É豸¶Ïµç qDebug() << "gpio write 1 0......"<