1.解决了移动到绝对位置时,位置和标定程序给出的位置不一样的问题。原因是从极近位置归零时,原点位置不一致。

2.解决了一些小瑕疵,此版本将作为Beta Version 1.0发布。
This commit is contained in:
2022-02-15 13:09:53 +08:00
parent 6d20b2d3fb
commit acdbd9e459
15 changed files with 40 additions and 12 deletions

View File

@ -447,7 +447,8 @@ int CMainDataGrabber::GrabOnceFinished()
ResetThreadStatus();
////move to
qDebug()<<"Start ILMES_MoveToPos:"<<i+1;
//m_ctrlLS.ILMES_MoveToPos(i+1);
m_ctrlLS.MoveTo(m_struAcqPosSetting.iPosition[1]);
m_ctrlLS.ILMES_MoveToPos(i+1);
qDebug() << "Stop ILMES_MoveToPos:" << i + 1;
m_struAcqPosSetting.iPosition[i + 1];
m_iFlagIsCapturing_Signal = 1;
@ -460,7 +461,7 @@ int CMainDataGrabber::GrabOnceFinished()
////move to
qDebug() << "Start ILMES_MoveToPos:" << 0;
//m_ctrlLS.ILMES_MoveToPos(0);
m_ctrlLS.ILMES_MoveToPos(0);
qDebug() << "Stop ILMES_MoveToPos:" << 0;
m_struAcqPosSetting.iPosition[0];
m_iFlagIsCapturing_Dark = 1;

View File

@ -2,6 +2,7 @@
Scheduler::Scheduler(QObject* parent /*= nullptr*/)
{
m_iFlagIsOnRestart = 0;
m_GrabTimer = new QTimer(this);
connect(m_GrabTimer, &QTimer::timeout, this, &Scheduler::OnTimeCounter);
connect(this, &Scheduler::SignalSelfStart, this, &Scheduler::StartAsPlanned);
@ -62,12 +63,21 @@ int Scheduler::OnTimeCounter()
QTime qtTime = QTime::currentTime();
if (m_struAcqTime.qtStartTime <= qtTime && qtTime < m_struAcqTime.qtStopTime)
{
if (m_iFlagIsOnRestart)
{
}
qDebug() << "it's time to work...work work.";
emit SignalGrabOnce();
return 0;
}
else
{
if (!m_iFlagIsOnRestart)
{
m_iFlagIsOnRestart = 1;
}
system("gpio write 1 0");//<2F><EFBFBD>ϵ<EFBFBD>
qDebug() << "gpio write 1 0......"<<endl;
qDebug() << "Non working time. Idling......";

View File

@ -10,6 +10,7 @@ public:
Scheduler(QObject* parent = nullptr);
~Scheduler();
private:
int m_iFlagIsOnRestart;
QTimer *m_GrabTimer;
AcqTimeSettings m_struAcqTime;
private:

View File

@ -12,8 +12,8 @@ namespace ZZ_MISCDEF
{
typedef unsigned char ZZ_U8;
typedef unsigned short int ZZ_U16;
typedef unsigned long int ZZ_U32;
typedef long int ZZ_S32;
typedef unsigned int ZZ_U32;
typedef long int ZZ_S32;
namespace IRIS

View File

@ -227,6 +227,7 @@
m_struMEC.qstrPhoneNumberOfMaintenanceStaff = m_qjoJObj.value("PhoneNumberOfMaintenanceStaff").toString();
m_struMEC.qstrDownloadUserID = m_qjoJObj.value("DownloadUserID").toString();
m_struMEC.qstrDownlaodAddress = m_qjoJObj.value("DownlaodAddress").toString();
m_struMEC.qstrHTTPServer = m_qjoJObj.value("HTTPServer").toString();

View File

@ -15,8 +15,10 @@ RadConverter::~RadConverter()
int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams, vector<vector<CalFrame>> &struAllCalFrame)
{
/////param
int iScanPoints = struGrabberRTParams.apsParams.iTotalPosition - 1;
int iDevices = struGrabberRTParams.fscParams.ucDeviceNumber;
//int iScanPoints = struGrabberRTParams.apsParams.iTotalPosition - 1;
//int iDevices = struGrabberRTParams.fscParams.ucDeviceNumber;
int iScanPoints = 4;
int iDevices = 1;
/////check dir
QDir qdirPath(m_qstrCalFilePath);
if (!qdirPath.exists())
@ -29,7 +31,7 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
qslFilter << "*.dat";
qdirPath.setNameFilters(qslFilter);
QFileInfoList qfiInfo = qdirPath.entryInfoList(qslFilter);
if (qfiInfo.size()!= iScanPoints * iDevices)
if (qfiInfo.size()<iScanPoints * iDevices)
{
qDebug() << "Calibration Files quantities not match";
return -2;