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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Cal/FS2_P1.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P2.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P3.dat Normal file

Binary file not shown.

BIN
Cal/FS2_P4.dat Normal file

Binary file not shown.

View File

@ -47,11 +47,6 @@ int main(int argc, char *argv[])
//////////////////////////////////////////////////////////////////////////logger //////////////////////////////////////////////////////////////////////////logger
///create main system logger ///create main system logger
//QT_LOG::ZZ_InitLogger("/home/data/Log/"); //QT_LOG::ZZ_InitLogger("/home/data/Log/");
//m_test123;
//m_test123.Initialize("COM11");
//m_test123.GetHumiture(fTemp, fHum);
//////////////////////////////////////////////////////////////////////////config //////////////////////////////////////////////////////////////////////////config
///turn on power supply ///turn on power supply
system("gpio write 1 1");//<2F><EFBFBD>ϵ<EFBFBD> system("gpio write 1 1");//<2F><EFBFBD>ϵ<EFBFBD>
@ -70,6 +65,7 @@ int main(int argc, char *argv[])
m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC); m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC);
m_mduUploader.SetContext(m_struEC, m_struMEC); m_mduUploader.SetContext(m_struEC, m_struMEC);
m_mduUploader.Initialize();
//m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString()); //m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString());
//////////////////////////////////////////////////////////////////////////prepare //////////////////////////////////////////////////////////////////////////prepare
m_sTimer.Preheating(); m_sTimer.Preheating();
@ -174,6 +170,23 @@ int main(int argc, char *argv[])
// m_ctrlATP.GetDeviceAttribute(); // m_ctrlATP.GetDeviceAttribute();
// m_ctrlATP.SetExposureTime(m_ctrlATP.m_adaDeviceAttr.iMinIntegrationTime); // m_ctrlATP.SetExposureTime(m_ctrlATP.m_adaDeviceAttr.iMinIntegrationTime);
// m_ctrlATP.RecvData(qbTest); // m_ctrlATP.RecvData(qbTest);
//m_test123;
//m_test123.Initialize("COM11");
//m_test123.GetHumiture(fTemp, fHum);
// int aaaaa = sizeof(unsigned long int);
// CalFrame OneFile;
// QString aa = "C:/Users/ZhangZhuo/Desktop/qepro.cal";
// QFile qfCalFile(aa);
// bRes = qfCalFile.open(QFile::ReadOnly);
// using namespace ZZ_MISCDEF;
// qfCalFile.read((char *)&OneFile.uiExposureTimeInMS, sizeof(ZZ_U32));//U32
// qfCalFile.read((char*)&OneFile.fTemperature, sizeof(double));
// qfCalFile.read((char*)&OneFile.iPixels, sizeof(int));
// qfCalFile.read((char*)OneFile.fWaveLength, sizeof(double)*OneFile.iPixels);
// qfCalFile.read((char*)OneFile.dCal_Gain, sizeof(double)*OneFile.iPixels);
// qfCalFile.read((char*)OneFile.dCal_Offset, sizeof(double)*OneFile.iPixels);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
return a.exec(); return a.exec();

View File

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

View File

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

View File

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

View File

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

View File

@ -227,6 +227,7 @@
m_struMEC.qstrPhoneNumberOfMaintenanceStaff = m_qjoJObj.value("PhoneNumberOfMaintenanceStaff").toString(); m_struMEC.qstrPhoneNumberOfMaintenanceStaff = m_qjoJObj.value("PhoneNumberOfMaintenanceStaff").toString();
m_struMEC.qstrDownloadUserID = m_qjoJObj.value("DownloadUserID").toString(); m_struMEC.qstrDownloadUserID = m_qjoJObj.value("DownloadUserID").toString();
m_struMEC.qstrDownlaodAddress = m_qjoJObj.value("DownlaodAddress").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) int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams, vector<vector<CalFrame>> &struAllCalFrame)
{ {
/////param /////param
int iScanPoints = struGrabberRTParams.apsParams.iTotalPosition - 1; //int iScanPoints = struGrabberRTParams.apsParams.iTotalPosition - 1;
int iDevices = struGrabberRTParams.fscParams.ucDeviceNumber; //int iDevices = struGrabberRTParams.fscParams.ucDeviceNumber;
int iScanPoints = 4;
int iDevices = 1;
/////check dir /////check dir
QDir qdirPath(m_qstrCalFilePath); QDir qdirPath(m_qstrCalFilePath);
if (!qdirPath.exists()) if (!qdirPath.exists())
@ -29,7 +31,7 @@ int RadConverter::LoadCalibrationFrames(RunTimeGrabberParams struGrabberRTParams
qslFilter << "*.dat"; qslFilter << "*.dat";
qdirPath.setNameFilters(qslFilter); qdirPath.setNameFilters(qslFilter);
QFileInfoList qfiInfo = qdirPath.entryInfoList(qslFilter); QFileInfoList qfiInfo = qdirPath.entryInfoList(qslFilter);
if (qfiInfo.size()!= iScanPoints * iDevices) if (qfiInfo.size()<iScanPoints * iDevices)
{ {
qDebug() << "Calibration Files quantities not match"; qDebug() << "Calibration Files quantities not match";
return -2; return -2;