123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #include "DetectorConfiguration.h"
- #include "Detector_Model_Def.h"
- #include "common_api.h"
- DetectorConfiguration::DetectorConfiguration(string ConfigPath)
- {
- m_strConfigPath = ConfigPath;
- }
- DetectorConfiguration::~DetectorConfiguration()
- {
- }
- bool DetectorConfiguration::LoadConfigurations(DeviceIndexStruct & DeviceConf, ResDataObject & ACQMODElist)
- {
- if (!m_ConfigAll.loadFile((m_strConfigPath).c_str()))
- {
- printf( "Load configuration file failed!!! \n");
- return false;
- }
- try
- {
- m_Configurations = m_ConfigAll["CONFIGURATION"];
- TransferModuleJosnConfig2DriverConfig(m_Configurations);
- //解析config
- int nAcqMode = 1;
- char sstream[10] = { 0 }; //用于转换值
- DeviceConf.strDeviceName = (string)m_Configurations[DetectorDescription];
- DeviceConf.strPanelSerial = (string)m_Configurations[DetectorSerialNumber];
- int nModeCount = (int)m_Configurations["ModeTable"].size();
- for (int i = 0; i < nModeCount; i++)
- {
- ResDataObject mode;
- int temp = (int)m_Configurations["ModeTable"][i]["LogicMode"];
- mode.add(CcosAcqModeIdx, temp);
- temp = (int)m_Configurations["ModeTable"][i]["RawImgWidth"];
- mode.add(RawImgWidth, temp);
- temp = (int)m_Configurations["ModeTable"][i]["RawImgHeight"];
- mode.add(RawImgHeight, temp);
- temp = (int)m_Configurations["ModeTable"][i]["WidthOffset"];
- mode.add(WidthOffset, temp);
- temp = (int)m_Configurations["ModeTable"][i]["HeightOffset"];
- mode.add(HeightOffset, temp);
- temp = (int)m_Configurations["ModeTable"][i]["ImageWidth"];
- mode.add(CcosImageWidth, temp);
- temp = (int)m_Configurations["ModeTable"][i]["ImageHeight"];
- mode.add(CcosImageHeight, temp);
- temp = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
- mode.add(CcosImageBits, temp);
- temp = (int)m_Configurations["ModeTable"][i]["GainValue"];
- mode.add(CcosGainTitle, temp);
- temp = (int)m_Configurations["ModeTable"][i]["SendImageInterval"];
- mode.add("SendImageInterval", temp);
- temp = (int)m_Configurations["ModeTable"][i]["PixelPitch"];
- mode.add(CcosImagePixelSpacing, temp);
- temp = (int)m_Configurations["ModeTable"][i]["Sensitivity"];
- mode.add(CcosImageFPDSensitivity, temp);
- temp = (int)m_Configurations["ModeTable"][i]["PreviewEnable"];
- mode.add("PreviewEnable", temp);
- temp = (int)m_Configurations["ModeTable"][i]["PreviewWidth"];
- mode.add("PreviewWidth", temp);
- temp = (int)m_Configurations["ModeTable"][i]["PreviewHeight"];
- mode.add("PreviewHeight", temp);
- temp = (int)m_Configurations["ModeTable"][i]["Frequency"];
- mode.add(CcosFrameRate, temp);
- temp = (int)m_Configurations["ModeTable"][i]["FrameCount"];
- if (temp == 0)
- {
- mode.add(CcosLoopCount, (DWORD)INFINITE);//不限出图张数,由上层停止采集
- }
- else
- {
- mode.add(CcosLoopCount, temp);
- }
- snprintf(sstream, sizeof(sstream), "%d", nAcqMode);
- ACQMODElist.add(sstream, mode);
- nAcqMode++;
- }
- }
- catch (...)
- {
- return false;
- }
- return true;
- }
- bool DetectorConfiguration::SaveConfig()
- {
- try
- {
- m_ConfigAll["CONFIGURATION"] = m_Configurations;
- }
- catch (...)
- {
- return false;
- }
- return m_ConfigAll.SaveFile((m_strConfigPath).c_str());
- }
|