2021-11-03 09:39:17 +08:00
|
|
|
|
#include "pch.h"
|
2021-10-29 17:45:21 +08:00
|
|
|
|
#include "ATPControl_Serial_QT.h"
|
2021-11-03 09:39:17 +08:00
|
|
|
|
#include "Logger.h"
|
2021-11-18 17:42:14 +08:00
|
|
|
|
#include "SystemConfigger.h"
|
2021-11-24 17:38:18 +08:00
|
|
|
|
#include "MainDataGrabber.h"
|
2021-12-02 18:07:29 +08:00
|
|
|
|
#include "DataFileProcessor.h"
|
2021-12-13 17:18:24 +08:00
|
|
|
|
#include "Scheduler.h"
|
2021-12-15 17:47:33 +08:00
|
|
|
|
#include "GY39Controller.h"
|
2022-01-04 17:32:19 +08:00
|
|
|
|
#include "MainDataUploader.h"
|
2022-08-11 13:29:47 +08:00
|
|
|
|
#include "VSMD12XMovementTest.h"
|
2021-10-29 17:45:21 +08:00
|
|
|
|
using namespace std;
|
2021-11-05 17:00:48 +08:00
|
|
|
|
#pragma once
|
2021-11-03 09:39:17 +08:00
|
|
|
|
|
|
|
|
|
|
2021-10-29 17:45:21 +08:00
|
|
|
|
int main(int argc, char *argv[])
|
2021-10-28 13:34:00 +08:00
|
|
|
|
{
|
2021-12-16 15:50:17 +08:00
|
|
|
|
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
|
|
|
|
|
using namespace ZZ_MISCDEF::MISC_DETECTOR;
|
|
|
|
|
|
2021-10-29 17:45:21 +08:00
|
|
|
|
QCoreApplication a(argc, argv);
|
2021-12-21 17:37:48 +08:00
|
|
|
|
|
2022-08-11 13:29:47 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////for test
|
|
|
|
|
MovementTest m_testVSMD12X;
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
2022-04-29 15:37:54 +08:00
|
|
|
|
//system("gpio mode 1 output");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
//qDebug() << "gpio mode 1 output......" << endl;
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
////
|
|
|
|
|
GY39Controller m_ctrlHumitureDetector;
|
|
|
|
|
DataFileProcessor m_dfpSaver;
|
|
|
|
|
ZZ_SysConfigger m_scConfiggerLoader;
|
|
|
|
|
Scheduler m_sTimer;
|
|
|
|
|
CMainDataGrabber m_mdgGrabber;
|
2022-01-04 17:32:19 +08:00
|
|
|
|
CMainDataUploader m_mduUploader;
|
2022-01-10 17:46:44 +08:00
|
|
|
|
ErrInfo m_eiErrInfo;
|
|
|
|
|
|
|
|
|
|
m_eiErrInfo.fChassisTempErr = 0;
|
|
|
|
|
m_eiErrInfo.fTecTempErr = 0;
|
|
|
|
|
m_eiErrInfo.iDataTransferErr = 0;
|
|
|
|
|
m_eiErrInfo.iShutterErr = 0;
|
2021-12-16 15:50:17 +08:00
|
|
|
|
|
|
|
|
|
////
|
|
|
|
|
bool bRes;
|
2022-01-04 17:32:19 +08:00
|
|
|
|
float m_fChassisTemp = 0, m_fChassisHum = 0;
|
2021-12-16 15:50:17 +08:00
|
|
|
|
|
|
|
|
|
RunTimeGrabberParams m_struRuntimeParams;
|
|
|
|
|
EContext m_struEC;
|
|
|
|
|
MEContext m_struMEC;
|
|
|
|
|
HumitureDeviceInfo m_struHumitureDI;
|
2021-11-03 09:39:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////logger
|
2022-01-04 17:32:19 +08:00
|
|
|
|
///create main system logger
|
2022-05-10 13:57:55 +08:00
|
|
|
|
QT_LOG::ZZ_InitLogger("/home/data/Log/");
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////config
|
2022-01-04 17:32:19 +08:00
|
|
|
|
///turn on power supply
|
2022-04-29 15:37:54 +08:00
|
|
|
|
|
|
|
|
|
//////add support to dual channel
|
|
|
|
|
system("gpio mode 1 out");
|
|
|
|
|
system("gpio mode 4 out");
|
|
|
|
|
system("gpio mode 5 out");
|
|
|
|
|
qDebug() << "gpio 1;4;5; ready" << endl;
|
|
|
|
|
|
2022-02-28 17:23:23 +08:00
|
|
|
|
system("gpio write 1 1");//<2F>豸<EFBFBD>ϵ<EFBFBD>
|
2021-12-21 17:37:48 +08:00
|
|
|
|
qDebug() << "gpio write 1 1......" << endl;
|
2022-04-29 15:37:54 +08:00
|
|
|
|
|
|
|
|
|
// QString qstrCMD_A, qstrCMD_B, qstrCMD_Temp;
|
|
|
|
|
// qstrCMD_Temp = QString::fromStdString("4");
|
|
|
|
|
// qDebug() << qstrCMD_Temp << endl;
|
|
|
|
|
// qstrCMD_A = "gpio write " + qstrCMD_Temp + " 0";
|
|
|
|
|
//
|
|
|
|
|
// qstrCMD_Temp = QString::fromStdString("5");
|
|
|
|
|
// qDebug() << qstrCMD_Temp << endl;
|
|
|
|
|
// qstrCMD_B = "gpio write " + qstrCMD_Temp + " 0";
|
|
|
|
|
//
|
|
|
|
|
// qDebug() << qstrCMD_A << endl;
|
|
|
|
|
// qDebug() << qstrCMD_B << endl;
|
|
|
|
|
// system(qstrCMD_A.toLatin1());
|
|
|
|
|
// system(qstrCMD_B.toLatin1());
|
|
|
|
|
|
2022-02-28 17:23:23 +08:00
|
|
|
|
QThread::msleep(5000);
|
2021-12-16 15:50:17 +08:00
|
|
|
|
bRes = m_scConfiggerLoader.Initialize();
|
|
|
|
|
if (bRes)
|
|
|
|
|
{
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_scConfiggerLoader.GetParams(m_struRuntimeParams, m_struEC, m_struMEC, m_struHumitureDI);
|
|
|
|
|
|
|
|
|
|
m_sTimer.SetAcqTimeParams(m_struRuntimeParams.atsParams);
|
|
|
|
|
m_dfpSaver.SetEnvironmentContex(m_struEC);
|
|
|
|
|
m_dfpSaver.SetManmadeEnviromentalContext(m_struMEC);
|
|
|
|
|
|
2022-01-04 17:32:19 +08:00
|
|
|
|
m_mduUploader.SetContext(m_struEC, m_struMEC);
|
2022-04-29 15:37:54 +08:00
|
|
|
|
//m_mduUploader.Initialize();
|
2022-08-11 13:29:47 +08:00
|
|
|
|
m_ctrlHumitureDetector.Initialize(m_struHumitureDI.qstrInterfaceName.toStdString());
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////prepare
|
2022-05-10 13:56:28 +08:00
|
|
|
|
m_sTimer.Preheating();
|
2022-08-11 13:29:47 +08:00
|
|
|
|
m_ctrlHumitureDetector.GetHumiture_retry(m_fChassisTemp, m_fChassisHum);
|
2021-12-21 17:37:48 +08:00
|
|
|
|
|
|
|
|
|
m_struEC.qstrCaseTemperature= QString("%1").arg(m_fChassisTemp);
|
|
|
|
|
m_struEC.qstrCaseHumidity = QString("%1").arg(m_fChassisHum);
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
QThread* m_pqDataGrabberThreadHolder = new QThread();
|
|
|
|
|
QThread* m_pqTimerThreadHolder = new QThread();
|
2022-01-04 17:32:19 +08:00
|
|
|
|
QThread* m_pqUploaderThreadHolder = new QThread();
|
2021-12-08 17:43:27 +08:00
|
|
|
|
|
2021-12-16 15:50:17 +08:00
|
|
|
|
m_mdgGrabber.moveToThread(m_pqDataGrabberThreadHolder);
|
|
|
|
|
m_sTimer.moveToThread(m_pqTimerThreadHolder);
|
2022-01-04 17:32:19 +08:00
|
|
|
|
m_mduUploader.moveToThread(m_pqUploaderThreadHolder);
|
2021-12-08 17:43:27 +08:00
|
|
|
|
|
2022-01-13 17:03:16 +08:00
|
|
|
|
|
2022-01-04 17:32:19 +08:00
|
|
|
|
//m_mdgGrabber.SetContext(m_struRuntimeParams, m_dfpSaver, m_sTimer);
|
|
|
|
|
m_mdgGrabber.SetContext(m_struRuntimeParams, m_dfpSaver, m_sTimer, m_mduUploader);
|
2021-12-16 15:50:17 +08:00
|
|
|
|
m_mdgGrabber.Init_Normal();
|
2022-01-13 17:03:16 +08:00
|
|
|
|
|
2022-02-18 17:22:15 +08:00
|
|
|
|
m_mduUploader.Initialize();
|
|
|
|
|
m_mduUploader.SetErr(m_eiErrInfo);
|
|
|
|
|
m_mduUploader.UploadInfo();
|
|
|
|
|
m_mduUploader.UploadErr();
|
2022-01-10 17:46:44 +08:00
|
|
|
|
|
2021-12-16 15:50:17 +08:00
|
|
|
|
m_pqDataGrabberThreadHolder->start();
|
|
|
|
|
m_pqTimerThreadHolder->start();
|
2022-01-04 17:32:19 +08:00
|
|
|
|
m_pqUploaderThreadHolder->start();
|
2021-12-16 15:50:17 +08:00
|
|
|
|
|
|
|
|
|
m_mdgGrabber.Init_Self();
|
|
|
|
|
m_sTimer.SelfStart();
|
2022-01-13 17:03:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////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);
|
2021-12-13 17:18:24 +08:00
|
|
|
|
//testdp.WriteDataFile();
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////test
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//CMainDataGrabber testDG;
|
|
|
|
|
//QThread* m_pqDataGrabberThreadHolder = new QThread();
|
|
|
|
|
//testDG.moveToThread(m_pqDataGrabberThreadHolder);
|
|
|
|
|
//testDG.SetContext(testp, testdp, testS);
|
|
|
|
|
//testDG.Init_Normal();
|
2021-12-14 14:52:29 +08:00
|
|
|
|
//testDG.SetGrabberFileProcessor(testdp);
|
|
|
|
|
//testDG.SetGrabberParams(testp);
|
|
|
|
|
//testDG.SetTimer(testS);
|
|
|
|
|
//testDG.InitThreadStatus();
|
|
|
|
|
//testDG.InitializeWorkers();
|
|
|
|
|
//testDG.SetupMsgPipelines();
|
|
|
|
|
//testDG.StartWorkers();
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//m_pqDataGrabberThreadHolder->start();
|
|
|
|
|
//testDG.Init_Self();
|
2021-12-14 14:52:29 +08:00
|
|
|
|
//testDG.InitThreadStatus();
|
|
|
|
|
//testDG.InitializeWorkers();
|
|
|
|
|
//testDG.InitLS();
|
|
|
|
|
//testDG.SetupMsgPipelines();
|
|
|
|
|
//testDG.StartWorkers();
|
2021-12-13 17:18:24 +08:00
|
|
|
|
//testDG.StartGrab();
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
2021-12-16 15:50:17 +08:00
|
|
|
|
//QThread* m_pqTimerThreadHolder = new QThread();
|
|
|
|
|
//testS.moveToThread(m_pqTimerThreadHolder);
|
|
|
|
|
//m_pqTimerThreadHolder->start();
|
|
|
|
|
//testS.SelfStart();
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
2021-11-24 17:38:18 +08:00
|
|
|
|
//QString qstrTest = "This is a test message 2";
|
|
|
|
|
//qDebug() << qstrTest;
|
|
|
|
|
//cout << "This is a test message";
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
2021-11-24 17:38:18 +08:00
|
|
|
|
//test.LoadSettings_Test();
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
2021-11-24 17:38:18 +08:00
|
|
|
|
//ZZ_DataGrabberThread m_test;
|
2021-11-08 16:59:50 +08:00
|
|
|
|
//m_test.GrabOnce();
|
2021-11-24 17:38:18 +08:00
|
|
|
|
//QThread* m_pqDataGrabberThreadHolder;
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
|
|
|
|
//
|
2021-11-24 17:38:18 +08:00
|
|
|
|
//m_pqDataGrabberThreadHolder->start();
|
|
|
|
|
//m_test.TestGrabOnce();
|
2021-11-22 17:41:42 +08:00
|
|
|
|
//m_test.StartGrabCall();
|
2021-11-09 17:45:04 +08:00
|
|
|
|
//QThread::msleep(5000);
|
2021-12-21 17:37:48 +08:00
|
|
|
|
//
|
2021-11-09 17:45:04 +08:00
|
|
|
|
//m_test.StopTestGrab();
|
2021-11-08 16:59:50 +08:00
|
|
|
|
// ZZ_ATPControl_Serial_Qt m_ctrlATP;
|
|
|
|
|
// QByteArray qbTest;
|
|
|
|
|
// m_ctrlATP.ATPInitialize(7);
|
|
|
|
|
// m_ctrlATP.GetDeviceAttribute();
|
|
|
|
|
// m_ctrlATP.SetExposureTime(m_ctrlATP.m_adaDeviceAttr.iMinIntegrationTime);
|
|
|
|
|
// m_ctrlATP.RecvData(qbTest);
|
2022-02-15 13:09:53 +08:00
|
|
|
|
//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);
|
|
|
|
|
|
|
|
|
|
|
2021-11-03 09:39:17 +08:00
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
2022-01-13 17:03:16 +08:00
|
|
|
|
|
2021-10-29 17:45:21 +08:00
|
|
|
|
return a.exec();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|