#include "pch.h" #include "Logger.h" #include "Source/Settings/SysConfigger.h" #include "BD357Ctrl.h" #include "MainGrabber.h" #include "ZZ_Types.h" #include "DataFileProcessor.h" #include "MakeDarkCurrentTable.h" using namespace std; int main(int argc, char* argv[]) { using namespace ZZ_MISCDEF::ZZ_RUNPARAMS; using namespace ZZ_MISCDEF::MISC_DETECTOR; QCoreApplication a(argc, argv); QEventLoop qeLoop; QTimer::singleShot(30000, &qeLoop, SLOT(quit())); qeLoop.exec(); //指示灯控制 system("gpio mode 4 out"); system("gpio mode 5 out"); qDebug() << "system(gpio mode 4 out)"; qDebug() << "system(gpio mode 5 out)"; OneFSContext m_struFSParam;//参数类 GPSInfo m_struGPSInfo; //FodisRP m_struMiscRunParams; ZZ_SysConfigger m_syscfSettings;//控制类 BD357Controller m_ctrlGPS; CMainGrabber m_mgMainGrabber;//主采集 DataFileProcessor m_dfpDataSaver; //////////////////////////////////////////////////////////////////////////test code block //DataFrame aaaa; //int xxxx = sizeof(aaaa); //m_dfpDataSaver.LoadWaveLengthFile("E:/WavelengthInfo.txt"); //m_dfpDataSaver.LoadSingleDataFile("D:/15_55_18.datrecv"); //m_dfpDataSaver.RecoverBackground("D:/15_55_18.dat", "D:/DCTable.txt"); //////////////////////////////////////////////////////////////////////////test code block //////////////////////////////////////////////////////////////////////////Check Settings File bool bRes = false; QFileInfo m_qfiSettingFileInfo("/home/data/Setting/DeviceSettings.ini"); if (!m_qfiSettingFileInfo.isFile()) { printf ("DeviceSettings File Missing !!! Will create from default one."); QDir qdirPath("/home/data/Setting"); if (!qdirPath.exists()) { bool bRes = qdirPath.mkpath("/home/data/Setting"); if (!bRes) { qDebug() << "DataFileProcessor mkdir Failed."; return -1; } } bool bRes = QFile::copy("/root/DeviceSettings.ini", "/home/data/Setting/DeviceSettings.ini"); if (!bRes) { qDebug() << " QFile::copy Failed."; return -2; } } //////////////////////////////////////////////////////////////////////////Check Settings File //////////////////////////////////////////////////////////////////////////Load Settings File ///configger m_syscfSettings.Initialize(); bRes = m_syscfSettings.LoadSettings_FS(m_struFSParam); if (!bRes) { //qDebug() << "LoadSettings_FS Err." << endl; printf("LoadSettings_FS Err."); return 1; } bRes = m_syscfSettings.LoadSettings_GPS(m_struGPSInfo); if (!bRes) { //qDebug() << "LoadSettings_GPS Err." << endl; printf("LoadSettings_GPS Err."); return 1; } ///// //////////////////////////////////////////////////////////////////////////Check DCTable using namespace ZZ_MISCDEF; if (m_struFSParam.ucDeviceModel== DeviceModel::FLAME) { //do nothing } else { QFileInfo m_qfiDCTFileInfo("/home/data/Data/DCTable.txt"); if (!m_qfiDCTFileInfo.isFile()) { printf("DCTable File Missing !!! Will create from default one."); QDir qdirPath("/home/data/Data"); if (!qdirPath.exists()) { bool bRes = qdirPath.mkpath("/home/data/Data"); if (!bRes) { qDebug() << "DataFileProcessor mkdir Failed."; return -1; } } bool bRes = QFile::copy("/root/DCTable.txt", "/home/data/Data/DCTable.txt"); if (!bRes) { qDebug() << " QFile::copy Failed."; return -2; } } } //////////////////////////////////////////////////////////////////////////Check DCTable ////////////////////////////////test only //MakeDCT m_test; //m_test.SetRunParams(m_struFSParam); //m_test.Initialize(); //m_test.MakeTable(); //m_test.Initialize_Part(); //m_test.LoadTable(); ////////////////////////////////test only m_ctrlGPS.SetContext(m_mgMainGrabber);//初始化gps m_ctrlGPS.SetupMessagePipeline(); m_ctrlGPS.Initialize(m_struGPSInfo); QThread* m_pqDataGrabberThreadHolder = new QThread(); m_mgMainGrabber.moveToThread(m_pqDataGrabberThreadHolder); m_mgMainGrabber.SetRunParams(m_struFSParam);//初始化主采集线程 m_mgMainGrabber.SetContext(m_ctrlGPS, m_dfpDataSaver); m_pqDataGrabberThreadHolder->start(); m_mgMainGrabber.Initialize();//开始工作 //m_ctrlGPS.SyncDateOnce(); cout << "System Started..." << endl; /////// //long long int a1;// 8 //long long b; // 8 //double c; // 8 //qDebug()<