测试前

This commit is contained in:
2021-12-16 15:50:17 +08:00
parent af00b1c47e
commit 2ab5c91d76
14 changed files with 227 additions and 52 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,27 +1,26 @@
[DEVICE INFO] [DEVICE INFO]
TotalSpectrometer=1 TotalSpectrometer=2
[FS1] [FS1]
Model=OSIFAlpha Model=OSIFAlpha
Port=-1 Port=-1
UID=FLMS15814 UID=FLMS15815
AEMax=0.85 AEMax=0.85
AEMin=0.75 AEMin=0.75
Depth=230000 Depth=65535
[FS2] [FS2]
Model=OSIFBeta Model=OSIFBeta
Port=-1 Port=-1
UID=QEP02975 UID=QEP02975
AEMax=0.85 AEMax=0.85
AEMin=0.75 AEMin=0.75
Depth=65535 Depth=230000
[FS3] [FS3]
Model=Null Model=Null
[LINEAR SHUTTER] [LINEAR SHUTTER]
Port=COM8 Port=COM8
Type=1 Type=1
DCID=1 DCID=1
TotalPosition=2 TotalPosition=6
Position0=2000 Position0=2000
Position1=110000 Position1=110000
Position2=220000 Position2=220000
@ -29,4 +28,4 @@ Position3=330000
Position4=440000 Position4=440000
Position5=550000 Position5=550000
[HUMITURE] [HUMITURE]
port=COM11 Port=COM11

122
main.cpp
View File

@ -12,43 +12,91 @@ using namespace std;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
QCoreApplication a(argc, argv); QCoreApplication a(argc, argv);
//////////////////////////////////////////////////////////////////////////
////
GY39Controller m_ctrlHumitureDetector;
DataFileProcessor m_dfpSaver;
ZZ_SysConfigger m_scConfiggerLoader;
Scheduler m_sTimer;
CMainDataGrabber m_mdgGrabber;
////
bool bRes;
float m_fChassisTemp, m_fChassisHum;
RunTimeGrabberParams m_struRuntimeParams;
EContext m_struEC;
MEContext m_struMEC;
HumitureDeviceInfo m_struHumitureDI;
//////////////////////////////////////////////////////////////////////////logger //////////////////////////////////////////////////////////////////////////logger
//QT_LOG::ZZ_InitLogger(QCoreApplication::applicationDirPath() + "/Log/"); //QT_LOG::ZZ_InitLogger(QCoreApplication::applicationDirPath() + "/Log/");
float fTemp, fHum;
GY39Controller m_test123;
m_test123.Initialize("COM11");
m_test123.GetHumiture(fTemp, fHum);
//////////////////////////////////////////////////////////////////////////configger
DataFileProcessor testdp;
ZZ_SysConfigger test;
Scheduler testS;
RunTimeGrabberParams testp;
EContext testEC;
MEContext testMEC;
test.Initialize();
test.LoadSettingsFromFile_System();
test.LoadSettingsFromFile_MISC();
test.GetGrabberRunParams(testp);
test.GetECParams(testEC);
test.GetMECParams(testMEC);
testS.SetAcqTimeParams(testp.atsParams);
//m_test123;
//m_test123.Initialize("COM11");
//m_test123.GetHumiture(fTemp, fHum);
//////////////////////////////////////////////////////////////////////////config
bRes = m_scConfiggerLoader.Initialize();
if (bRes)
{
return -1;
}
m_scConfiggerLoader.GetParams(m_struRuntimeParams, m_struEC, m_struMEC, m_struHumitureDI);
testdp.SetEnvironmentContex(testEC); m_sTimer.SetAcqTimeParams(m_struRuntimeParams.atsParams);
testdp.SetManmadeEnviromentalContext(testMEC); m_dfpSaver.SetEnvironmentContex(m_struEC);
m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC);
m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString());
//////////////////////////////////////////////////////////////////////////prepare
m_sTimer.Preheating();
m_ctrlHumitureDetector.GetHumiture_retry(m_fChassisTemp, m_fChassisHum);
//////////////////////////////////////////////////////////////////////////
QThread* m_pqDataGrabberThreadHolder = new QThread();
QThread* m_pqTimerThreadHolder = new QThread();
m_mdgGrabber.moveToThread(m_pqDataGrabberThreadHolder);
m_sTimer.moveToThread(m_pqTimerThreadHolder);
m_mdgGrabber.SetContext(m_struRuntimeParams, m_dfpSaver, m_sTimer);
m_mdgGrabber.Init_Normal();
m_pqDataGrabberThreadHolder->start();
m_pqTimerThreadHolder->start();
m_mdgGrabber.Init_Self();
m_sTimer.SelfStart();
//////////////////////////////////////////////////////////////////////////test
// DataFileProcessor testdp;
// ZZ_SysConfigger test;
// Scheduler testS;
//
// RunTimeGrabberParams testp;
// EContext testEC;
// MEContext testMEC;
// test.Initialize();
// test.LoadSettingsFromFile_System();
// test.LoadSettingsFromFile_MISC();
// test.GetGrabberRunParams(testp);
// test.GetECParams(testEC);
// test.GetMECParams(testMEC);
//
// testS.SetAcqTimeParams(testp.atsParams);
// testdp.SetEnvironmentContex(testEC);
// testdp.SetManmadeEnviromentalContext(testMEC);
//testdp.WriteDataFile(); //testdp.WriteDataFile();
//////////////////////////////////////////////////////////////////////////test //////////////////////////////////////////////////////////////////////////test
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS; //CMainDataGrabber testDG;
CMainDataGrabber testDG; //QThread* m_pqDataGrabberThreadHolder = new QThread();
QThread* m_pqDataGrabberThreadHolder = new QThread(); //testDG.moveToThread(m_pqDataGrabberThreadHolder);
testDG.moveToThread(m_pqDataGrabberThreadHolder); //testDG.SetContext(testp, testdp, testS);
testDG.SetContext(testp, testdp, testS); //testDG.Init_Normal();
testDG.Init_Normal();
//testDG.SetGrabberFileProcessor(testdp); //testDG.SetGrabberFileProcessor(testdp);
//testDG.SetGrabberParams(testp); //testDG.SetGrabberParams(testp);
//testDG.SetTimer(testS); //testDG.SetTimer(testS);
@ -56,23 +104,19 @@ int main(int argc, char *argv[])
//testDG.InitializeWorkers(); //testDG.InitializeWorkers();
//testDG.SetupMsgPipelines(); //testDG.SetupMsgPipelines();
//testDG.StartWorkers(); //testDG.StartWorkers();
m_pqDataGrabberThreadHolder->start(); //m_pqDataGrabberThreadHolder->start();
testDG.Init_Self(); //testDG.Init_Self();
//testDG.InitThreadStatus(); //testDG.InitThreadStatus();
//testDG.InitializeWorkers(); //testDG.InitializeWorkers();
//testDG.InitLS(); //testDG.InitLS();
//testDG.SetupMsgPipelines(); //testDG.SetupMsgPipelines();
//testDG.StartWorkers(); //testDG.StartWorkers();
//testDG.StartGrab(); //testDG.StartGrab();
QThread* m_pqTimerThreadHolder = new QThread(); //QThread* m_pqTimerThreadHolder = new QThread();
testS.moveToThread(m_pqTimerThreadHolder); //testS.moveToThread(m_pqTimerThreadHolder);
m_pqTimerThreadHolder->start(); //m_pqTimerThreadHolder->start();
testS.SelfStart(); //testS.SelfStart();
//QString qstrTest = "This is a test message 2"; //QString qstrTest = "This is a test message 2";
//qDebug() << qstrTest; //qDebug() << qstrTest;

View File

@ -13,7 +13,7 @@ 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 long int ZZ_U32;
typedef long int ZZ_S32; typedef long int ZZ_S32;
namespace IRIS namespace IRIS
@ -311,4 +311,12 @@ namespace ZZ_MISCDEF
}ATPDataHeader; }ATPDataHeader;
} }
//misc detector
namespace MISC_DETECTOR
{
typedef struct tagHumitureDeviceInfo
{
QString qstrInterfaceName;
}HumitureDeviceInfo;
}
}; };

View File

@ -121,6 +121,7 @@ int GY39Controller::GetHumiture(float &fTemp, float &fHum)
qbSend[0] = (ZZ_U8)0xA5; qbSend[0] = (ZZ_U8)0xA5;
qbSend[1] = (ZZ_U8)0x52; qbSend[1] = (ZZ_U8)0x52;
qbSend[2] = (ZZ_U8)0xF7; qbSend[2] = (ZZ_U8)0xF7;
int iRes = SendCommand(qbSend); int iRes = SendCommand(qbSend);
if (iRes) if (iRes)
{ {
@ -138,3 +139,21 @@ int GY39Controller::GetHumiture(float &fTemp, float &fHum)
fHum = m_fHumidity; fHum = m_fHumidity;
return 0; return 0;
} }
int GY39Controller::GetHumiture_retry(float &fTemp, float &fHum)
{
int iCount = 0;
while (iCount<3)
{
if (GetHumiture(fTemp, fHum) == 0)
{
return 0;
}
else
{
iCount++;
}
}
return 1;
}

View File

@ -13,6 +13,7 @@ private:
public: public:
int Initialize(std::string ucPortName,bool bAuto15 = false,bool bAuto45 = false); int Initialize(std::string ucPortName,bool bAuto15 = false,bool bAuto45 = false);
int GetHumiture(float &fTemp, float &fHum); int GetHumiture(float &fTemp, float &fHum);
int GetHumiture_retry(float &fTemp, float &fHum);
public slots: public slots:
signals: signals:

View File

@ -78,6 +78,9 @@
m_struLSContext.ucCmdID = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/DCID")).toInt(); m_struLSContext.ucCmdID = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/DCID")).toInt();
m_struLSContext.ucProtocolType = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Type")).toInt(); m_struLSContext.ucProtocolType = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Type")).toInt();
m_struLSContext.strInterface = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Port")).toString().toStdString(); m_struLSContext.strInterface = m_qsDeviceConfig->value(QString("LINEAR SHUTTER/Port")).toString().toStdString();
//////////////////////////////////////////////////////////////////////////humiture
m_struHumitureDeviceInfo.qstrInterfaceName = m_qsDeviceConfig->value(QString("HUMITURE/Port")).toString();
//////////////////////////////////////////////////////////////////////////load json settings //////////////////////////////////////////////////////////////////////////load json settings
qfJConfig.setFileName(m_qstrJSONConfigFilePath); qfJConfig.setFileName(m_qstrJSONConfigFilePath);
bool bRes = qfJConfig.open(QIODevice::ReadOnly); bool bRes = qfJConfig.open(QIODevice::ReadOnly);
@ -95,6 +98,21 @@
return 2; return 2;
} }
m_qjoJObj = m_qjdJDoc.object(); m_qjoJObj = m_qjdJDoc.object();
int iRes = LoadSettingsFromFile_System();
if (iRes)
{
qDebug() << " SysConfigger Initialize Err...LoadSettingsFromFile_System";
return iRes;
}
iRes = LoadSettingsFromFile_MISC();
if (iRes)
{
qDebug() << " SysConfigger Initialize Err...LoadSettingsFromFile_MISC";
return iRes;
}
return 0; return 0;
} }
@ -119,6 +137,21 @@
return 0; return 0;
} }
int ZZ_SysConfigger::GetMiscParams(HumitureDeviceInfo &struHDI)
{
struHDI = m_struHumitureDeviceInfo;
return 0;
}
int ZZ_SysConfigger::GetParams(RunTimeGrabberParams &struGrabberRTParams, EContext &struEC, MEContext &struMEC, HumitureDeviceInfo &struHDI)
{
GetGrabberRunParams(struGrabberRTParams);
GetECParams(struEC);
GetMECParams(struMEC);
GetMiscParams(struHDI);
return 0;
}
int ZZ_SysConfigger::LoadSettingsFromFile_IS1() int ZZ_SysConfigger::LoadSettingsFromFile_IS1()
{ {
m_struIS1Info.qstrCalFile_U0 = m_qjoJObj.value("IS1UpCalFile").toString(); m_struIS1Info.qstrCalFile_U0 = m_qjoJObj.value("IS1UpCalFile").toString();

View File

@ -3,7 +3,7 @@
#include "ZZ_Types.h" #include "ZZ_Types.h"
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS; using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::ZZ_DATAFILE; using namespace ZZ_MISCDEF::ZZ_DATAFILE;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
class ZZ_SysConfigger :public QObject class ZZ_SysConfigger :public QObject
{ {
Q_OBJECT Q_OBJECT
@ -16,6 +16,8 @@ public:
int GetGrabberRunParams(RunTimeGrabberParams &struGrabberRTParams); int GetGrabberRunParams(RunTimeGrabberParams &struGrabberRTParams);
int GetECParams(EContext &struEC); int GetECParams(EContext &struEC);
int GetMECParams(MEContext &struMEC); int GetMECParams(MEContext &struMEC);
int GetMiscParams(HumitureDeviceInfo &struHDI);
int GetParams(RunTimeGrabberParams &struGrabberRTParams, EContext &struEC, MEContext &struMEC, HumitureDeviceInfo &struHDI);
int LoadSettingsFromFile_IS1(); int LoadSettingsFromFile_IS1();
int LoadSettingsFromFile_iSIF(); int LoadSettingsFromFile_iSIF();
@ -38,6 +40,7 @@ public:
LSContext m_struLSContext; LSContext m_struLSContext;
FSContext m_struFSContext; FSContext m_struFSContext;
AcqPosSettings m_struAcqPosition; AcqPosSettings m_struAcqPosition;
HumitureDeviceInfo m_struHumitureDeviceInfo;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
EContext m_struEC; EContext m_struEC;
MEContext m_struMEC; MEContext m_struMEC;

View File

@ -381,7 +381,7 @@ int CMainDataGrabber::GrabOnceFinished()
for (int i=0;i< m_struAcqPosSetting.iTotalPosition-1;i++) for (int i=0;i< m_struAcqPosSetting.iTotalPosition-1;i++)
{ {
////move to ////move to
m_ctrlLS.ILMES_MoveToPos(i+1); // m_ctrlLS.ILMES_MoveToPos(i+1);
m_struAcqPosSetting.iPosition[i + 1]; m_struAcqPosSetting.iPosition[i + 1];
m_iFlagIsCapturing_Signal = 1; m_iFlagIsCapturing_Signal = 1;
emit SignalStartGrabOnce_Signal(); emit SignalStartGrabOnce_Signal();
@ -392,7 +392,7 @@ int CMainDataGrabber::GrabOnceFinished()
////move to ////move to
m_ctrlLS.ILMES_MoveToPos(0); // m_ctrlLS.ILMES_MoveToPos(0);
m_struAcqPosSetting.iPosition[0]; m_struAcqPosSetting.iPosition[0];
m_iFlagIsCapturing_Dark = 1; m_iFlagIsCapturing_Dark = 1;
emit SignalStartGrabOnce_Dark(); emit SignalStartGrabOnce_Dark();

View File

@ -50,14 +50,21 @@ void Scheduler::StartAsPlanned()
} }
} }
int iIntervalInMS = m_struAcqTime.qtInterval.hour() * 3600 * 1000 + m_struAcqTime.qtInterval.minute() * 60 * 1000 + m_struAcqTime.qtInterval.second() * 1000;
int iIntervalInMS = m_struAcqTime.qtInterval.hour() * 3600 * 1000 + m_struAcqTime.qtInterval.minute() * 60 * 1000 + m_struAcqTime.qtInterval.second() * 1000;
m_GrabTimer->start(iIntervalInMS); m_GrabTimer->start(iIntervalInMS);
} }
int Scheduler::OnTimeCounter() int Scheduler::OnTimeCounter()
{ {
QTime qtTime = QTime::currentTime();
if (m_struAcqTime.qtStartTime <= qtTime && qtTime < m_struAcqTime.qtStopTime)
{
return 1;
qDebug() << "Non working time. Idling......";
}
emit SignalGrabOnce(); emit SignalGrabOnce();
return 0; return 0;
} }