#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) { printf("LoadConfigurations config path:%s\n", m_strConfigPath.c_str()); Info("LoadConfigurations config path:{$}", m_strConfigPath); if (!m_ConfigAll.loadFile(m_strConfigPath.c_str())) { printf( "LoadConfigurations loadFile failed!!! \n"); return false; } try { m_Configurations = m_ConfigAll["CONFIGURATION"]; DeviceConf.strDeviceName = (string)m_Configurations[DetectorDescription]; int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("DetectorMode"); for (int i = 0; i < nModeCount; i++) { if (1 == (int)m_Configurations["ModeTable"][i]["LogicMode"]) { DeviceConf.nPreviewWidth = (int)m_Configurations["ModeTable"][i]["PreviewImageWidth"]; DeviceConf.nPreviewHeight = (int)m_Configurations["ModeTable"][i]["PreviewImageHeight"]; DeviceConf.nRawWidth = (int)m_Configurations["ModeTable"][i]["RawImgWidth"]; DeviceConf.nRawHeight = (int)m_Configurations["ModeTable"][i]["RawImgHeight"]; DeviceConf.nFullImageWidth = (int)m_Configurations["ModeTable"][i]["ImageWidth"]; DeviceConf.nFullImageHeight = (int)m_Configurations["ModeTable"][i]["ImageHeight"]; DeviceConf.nImageLeftOffset = (int)m_Configurations["ModeTable"][i]["CropImageLeft"]; DeviceConf.nImageTopffset = (int)m_Configurations["ModeTable"][i]["CropImageTop"]; DeviceConf.nImageRightOffset = (int)m_Configurations["ModeTable"][i]["CropImageRight"]; DeviceConf.nImageBottomOffset = (int)m_Configurations["ModeTable"][i]["CropImageBottom"]; DeviceConf.nPixelSpace = (int)m_Configurations["ModeTable"][i]["PixelPitch"]; DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"]; DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"]; } } DeviceConf.nDoseOfEXI = (int)m_Configurations["Sensitivity"]; //DeviceConf.fTemperatureMin = (float)m_Configurations["TemperatureMin"]; //DeviceConf.fTemperatureMax = (float)m_Configurations["TemperatureMax"]; //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"]; } 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 (ResDataObjectExption& e) { printf("SaveConfig error: %s \r\n", e.what()); return false; } return m_ConfigAll.SaveFile((m_strConfigPath).c_str()); }