123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- #include "stdafx.h"
- #include "DetectorConfiguration.h"
- #include "Detector_Model_Def.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"];
- //printf("m_Configurations:\n %s\n", m_Configurations.encode()); //输出太多
- //解析config
- int nAcqMode = 1;
- char sstream[10] = { 0 }; //用于转换值
- int nTempX, nTempY;
- DeviceConf.strDeviceName = (string)m_Configurations[DetectorDescription];
- int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("DetectorMode");
- for (int i = 0; i < nModeCount; i++)
- {
- nTempX = DeviceConf.nRawWidth = m_Configurations["ModeTable"][i]["RawImgWidth"];
- nTempY = DeviceConf.nRawHeight = m_Configurations["ModeTable"][i]["RawImgHeight"];
- DeviceConf.nFullImageWidth = m_Configurations["ModeTable"][i]["ImageWidth"];
- DeviceConf.nFullImageHeight = m_Configurations["ModeTable"][i]["ImageHeight"];
- //DeviceConf.nImageLeftOffset = m_Configurations["ModeTable"][i]["WidthOffset"];
- //DeviceConf.nImageTopffset = m_Configurations["ModeTable"][i]["HeightOffset"];
- DeviceConf.fPixelSpace = m_Configurations["ModeTable"][i]["PixelPitch"];
- //DeviceConf.nPreviewWidth = m_Configurations["ModeTable"][i]["PreviewWidth"];
- //DeviceConf.nPreviewHeight = m_Configurations["ModeTable"][i]["PreviewHeight"];
- DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
- //DeviceConf.bPreviewEnable = (bool)m_Configurations["ModeTable"][i]["PreviewEnable"];
- DeviceConf.nDoseOfEXI = (int)m_Configurations["ModeTable"][i]["Sensitivity"];
- //DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"];
- //DeviceConf.nWorkstation = (int)m_Configurations["ModeTable"][i]["WorkStation"];
- //ResDataObject mode;
- //int temp = (int)m_Configurations["ModeTable"][i]["LogicMode"];
- //ACQMODElist.add(CcosAcqModeIdx, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["OperationMode"];
- //ACQMODElist.add(CcosAcqModeName, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["ImageWidth"];
- //ACQMODElist.add(CcosImageWidth, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["ImageHeight"];
- //ACQMODElist.add(CcosImageHeight, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
- //ACQMODElist.add(CcosImageBits, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["GainValue"];
- //ACQMODElist.add(CcosGainTitle, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["BinningDx"];
- //ACQMODElist.add(CcosBinningX, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["BinningDy"];
- //ACQMODElist.add(CcosBinningY, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["Frequency"];
- //ACQMODElist.add(CcosFrameRate, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["PixelPitch"];
- //ACQMODElist.add(CcosImagePixelSpacing, temp);
- //temp = (int)m_Configurations["ModeTable"][i]["Sensitivity"];
- //ACQMODElist.add(CcosImageFPDCoef, temp);
- if (nTempX * nTempY > DeviceConf.nMaxImgWidth * DeviceConf.nMaxImgHeight)
- {
- DeviceConf.nMaxImgWidth = nTempX;
- DeviceConf.nMaxImgHeight = nTempY;
- }
- }
- //DeviceConf.nSaturationValue = (int)m_Configurations["SaturationValue"];
- //DeviceConf.nCalibDueSetting = (int)m_Configurations["CalibrationDue"];
- //DeviceConf.strFirmware = (string)m_Configurations["FirmwarePath"];
- //DeviceConf.nTemperCheckTimeConf = (int)m_Configurations["TemperatureQueueLen"];
- //DeviceConf.fTemperatureMin = (float)m_Configurations["TemperatureMin"];
- //DeviceConf.fTemperatureMax = (float)m_Configurations["TemperatureMax"];
- //DeviceConf.fGradientMean = (float)m_Configurations["TemperatureGradientMean"];
- //DeviceConf.fGradientStdDev = (float)m_Configurations["TemperatureGradientStdDev"];
- //DeviceConf.nMaxShockNumber = (int)m_Configurations["MaxShockNumber"];
- //DeviceConf.nForceGridSuppress = (int)m_Configurations["ForceGridSuppress"];
- //DeviceConf.nGridSuppressed = (int)m_Configurations["GridSuppressed"];
- //DeviceConf.fGridSuppressParam1 = (float)m_Configurations["GridSuppressFilterType"];
- //DeviceConf.fGridSuppressParam2 = (float)m_Configurations["GridSuppressParam2"];
- //DeviceConf.fGridSuppressParam3 = (float)m_Configurations["GridSuppressParam3"];
- //DeviceConf.fGridSuppressParam4 = (float)m_Configurations["GridSuppressParam4"];
- //DeviceConf.fGridSuppressParam5 = (float)m_Configurations["GridSuppressParam5"];
- //DeviceConf.fGridSuppressParam6 = (float)m_Configurations["GridSuppressParam6"];
- //DeviceConf.fGridSuppressParam7 = (float)m_Configurations["GridSuppressParam7"];
- //DeviceConf.fGridSuppressParam8 = (float)m_Configurations["GridSuppressParam8"];
- //DeviceConf.fGridSuppressParam9 = (float)m_Configurations["GridSuppressParam9"];
- ////m_nExtendPixel = (int)m_Configurations["ExtendPixel"];
- ////m_nOrthoExtendPixel = (int)m_Configurations["OrthoExtendPixel"];
- //DeviceConf.fLTEthreshold = (float)m_Configurations["LTEthreshold"];
- //DeviceConf.nSaveRaw = (int)m_Configurations["IsSaveRaw"];
- //DeviceConf.fTemperMaxLimit = (float)m_Configurations["TempMaxLimit"];
- //DeviceConf.fTemperWarning = (float)m_Configurations["TempUpperLimit"];
- //DeviceConf.fTemperLowLimit = (float)m_Configurations["TempLowerLimit"];
- //DeviceConf.fTemperMinLimit = (float)m_Configurations["TempMinLimit"];
- //DeviceConf.nBatteryWarning = (int)m_Configurations["BatLowerLimit"];
- //DeviceConf.nBatteryLimit = (int)m_Configurations["BatMiniLimit"];
- //DeviceConf.nWifiWarning = (int)m_Configurations["WifiLowerLimit"];
- //DeviceConf.nWifiLimit = (int)m_Configurations["WifiMiniLimit"];
- //int nModulePollEnable = (int)m_Configurations["ModulePollEnable"];
- //if (nModulePollEnable > 0)
- //{
- // DeviceConf.bModuleEnable = true;
- //}
- //else
- //{
- // DeviceConf.bModuleEnable = false;
- //}
- }
- catch (ResDataObjectExption &e)
- {
- printf("Get config error: %s \r\n", e.what());
- return false;
- }
- return true;
- }
- bool DetectorConfiguration::SaveConfig()
- {
- try{
- m_ConfigAll["CONFIGURATION"] = m_Configurations;
- }
- catch (...)
- {
- return false;
- }
- return m_ConfigAll.SaveFile((m_strConfigPath).c_str());
- }
|