1.修改了海阳光学光谱仪派生类,以支持暗像素信息的获取。

2.针对FLAME设备添加了新的实时暗背景扣除函数。
3.修改了部分系统执行逻辑,以支持FLAME的正确运行。
This commit is contained in:
2023-07-17 11:26:56 +08:00
parent 16d745ed5f
commit 3ce267dccf
19 changed files with 371 additions and 105 deletions

114
main.cpp
View File

@ -13,20 +13,19 @@ int main(int argc, char* argv[])
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
//DataFrame aaaa;
//int xxxx = sizeof(aaaa);
QCoreApplication a(argc, argv);
QEventLoop qeLoop;
QTimer::singleShot(30000, &qeLoop, SLOT(quit()));
qeLoop.exec();
//ָʾ<D6B8>ƿ<EFBFBD><C6BF><EFBFBD>
system("gpio mode 4 out");
system("gpio mode 5 out");
qDebug() << "system(gpio mode 4 out)";
qDebug() << "system(gpio mode 5 out)";//ָʾ<D6B8>ƿ<EFBFBD><C6BF><EFBFBD>
bool bRes = false;
qDebug() << "system(gpio mode 5 out)";
OneFSContext m_struFSParam;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPSInfo m_struGPSInfo;
//FodisRP m_struMiscRunParams;
@ -37,9 +36,18 @@ int main(int argc, char* argv[])
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");
QFileInfo m_qfiDCTFileInfo("/home/data/Data/DCTable.txt");
if (!m_qfiSettingFileInfo.isFile())
{
@ -63,40 +71,10 @@ int main(int argc, char* argv[])
return -2;
}
}
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;
}
}
//////////////////////////////////////////////////////////////////////////Check Settings File
bool bRes = QFile::copy("/root/DCTable.txt", "/home/data/Data/DCTable.txt");
if (!bRes)
{
qDebug() << " QFile::copy Failed.";
return -2;
}
}
//////////////////////////////////////////////////////////////////////////
///test
//m_dfpDataSaver.LoadWaveLengthFile("E:/WavelengthInfo.txt");
//m_dfpDataSaver.LoadSingleDataFile("E:/11_06_45.dat");
//////////////////////////////////////////////////////////////////////////Load Settings File
///configger
m_syscfSettings.Initialize();
bRes = m_syscfSettings.LoadSettings_FS(m_struFSParam);
@ -114,14 +92,52 @@ int main(int argc, char* argv[])
return 1;
}
/////
//test only
//////////////////////////////////////////////////////////////////////////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.");
//MakeDCT m_test;
// m_test.SetRunParams(m_struFSParam);
// m_test.Initialize();
// m_test.MakeTable();
//m_test.Initialize_Part();
//m_test.LoadTable();
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);//<2F><>ʼ<EFBFBD><CABC>gps
m_ctrlGPS.SetupMessagePipeline();
@ -138,7 +154,7 @@ int main(int argc, char* argv[])
m_mgMainGrabber.Initialize();//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
//m_ctrlGPS.SyncDateOnce();
cout << "Hello CMake." << endl;
cout << "System Started..." << endl;
///////