#include "stdafx.h" #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) { 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()); if (m_strConfigPath.find(".json") != std::string::npos) { TransferModuleJosnConfig2DriverConfig(m_Configurations); } DeviceConf.strDeviceName = (string)m_Configurations["Description"]; int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("RAD"); for (int i = 0; i < nModeCount; i++) { DeviceConf.nRawWidth = m_Configurations["ModeTable"][i]["RawImgWidth"]; 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]["LeftOffset"]; DeviceConf.nImageTopffset = m_Configurations["ModeTable"][i]["TopOffset"]; DeviceConf.nPixelSpace = m_Configurations["ModeTable"][i]["PixelPitch"]; DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"]; DeviceConf.bPreviewEnable = ((int)m_Configurations["ModeTable"][i]["PreviewEnable"] != 0) ? true : false; DeviceConf.nPreviewWidth = m_Configurations["ModeTable"][i]["PreviewWidth"]; DeviceConf.nPreviewHeight = m_Configurations["ModeTable"][i]["PreviewHeight"]; DeviceConf.nFrameCount = m_Configurations["ModeTable"][i]["FrameCount"]; DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"]; } DeviceConf.strWorkstation = (string)m_Configurations["WorkStation"]; DeviceConf.nSaveRaw = (int)m_Configurations["IsSaveRaw"]; DeviceConf.nDoseOfEXI = (int)m_Configurations["Sensitivity"]; DeviceConf.nSaturationValue = (int)m_Configurations["SaturationValue"]; DeviceConf.nCalibDueSetting = (int)m_Configurations["CalibrationDue"]; 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"]; DeviceConf.fTemperMaxLimit = (float)m_Configurations["TempMaxLimit"]; DeviceConf.fTemperUpperLimit = (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"]; DeviceConf.bModuleEnable = ((int)m_Configurations["StatusPollEnable"] == 1) ? true : false; DeviceConf.strLastCalibrationDate = (string)m_Configurations["LastCalibrationDate"]; DeviceConf.strCalibrationFileExpireTime = (string)m_Configurations["CalibrationFileExpireTime"]; } 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()); }