DetectorConfiguration.cpp 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #include "stdafx.h"
  2. #include "DetectorConfiguration.h"
  3. #include "Detector_Model_Def.h"
  4. #include "common_api.h"
  5. DetectorConfiguration::DetectorConfiguration(string ConfigPath)
  6. {
  7. m_strConfigPath = ConfigPath;
  8. }
  9. DetectorConfiguration::~DetectorConfiguration()
  10. {
  11. }
  12. bool DetectorConfiguration::LoadConfigurations(DeviceIndexStruct& DeviceConf)
  13. {
  14. if (!m_ConfigAll.loadFile((m_strConfigPath).c_str()))
  15. {
  16. printf("Load configuration file failed!!! \n");
  17. return false;
  18. }
  19. try
  20. {
  21. m_Configurations = m_ConfigAll["CONFIGURATION"];
  22. if (m_strConfigPath.find(".json") != std::string::npos)
  23. {
  24. TransferModuleJosnConfig2DriverConfig(m_Configurations);
  25. }
  26. //½âÎöconfig
  27. DeviceConf.strDeviceName = (string)m_Configurations["Description"];
  28. DeviceConf.strPanelSerial = (string)m_Configurations["SerialNumber"];
  29. DeviceConf.strDetectorModel = (string)m_Configurations["DetectorModel"];
  30. int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("RAD");
  31. for (int i = 0; i < nModeCount; i++)
  32. {
  33. DeviceConf.nFullImageWidth = m_Configurations["ModeTable"][i]["ImageWidth"];
  34. DeviceConf.nFullImageHeight = m_Configurations["ModeTable"][i]["ImageHeight"];
  35. DeviceConf.nRawWidth = m_Configurations["ModeTable"][i]["RawImgWidth"];
  36. DeviceConf.nRawHeight = m_Configurations["ModeTable"][i]["RawImgHeight"];
  37. DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
  38. DeviceConf.nImageLeftOffset = m_Configurations["ModeTable"][i]["LeftOffset"];
  39. DeviceConf.nImageTopOffset = m_Configurations["ModeTable"][i]["TopOffset"];
  40. DeviceConf.nImageRightOffset = m_Configurations["ModeTable"][i]["RightOffset"];
  41. DeviceConf.nImageBottomOffset = m_Configurations["ModeTable"][i]["BottomOffset"];
  42. DeviceConf.nPixelSpace = m_Configurations["ModeTable"][i]["PixelPitch"];
  43. DeviceConf.bPreviewEnable = ((int)m_Configurations["ModeTable"][i]["PreviewEnable"] != 0) ? true : false;
  44. DeviceConf.nPreviewWidth = m_Configurations["ModeTable"][i]["PreviewWidth"];
  45. DeviceConf.nPreviewHeight = m_Configurations["ModeTable"][i]["PreviewHeight"];
  46. DeviceConf.nCorrectionType = m_Configurations["ModeTable"][i]["CorrectionType"];
  47. DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"];
  48. }
  49. //ÆØ¹â´°¿Ú
  50. DeviceConf.nExpWindowMode = (int)m_Configurations["ExpWindowMode"];
  51. string strXWindowMode = "XWindow" + std::to_string(DeviceConf.nExpWindowMode);
  52. DeviceConf.nXWindow = (int)m_Configurations["ExpWindow"][strXWindowMode.c_str()];
  53. //connections
  54. DeviceConf.strIPAddress = (string)m_Configurations["DetectorWirelessIP"];
  55. DeviceConf.strWiredIP = (string)m_Configurations["DetectorWiredIP"];
  56. DeviceConf.strWirelessIP = (string)m_Configurations["DetectorWirelessIP"];
  57. DeviceConf.strLocalIP = (string)m_Configurations["LocalIP"];
  58. DeviceConf.bActived = (bool)m_Configurations["Attached"];
  59. DeviceConf.nDoseOfEXI = (int)m_Configurations["Sensitivity"];
  60. string strWorkStation = (string)m_Configurations["WorkStation"];
  61. if (strWorkStation.find("Table") != std::string::npos)
  62. {
  63. DeviceConf.nWorkstation = 0;
  64. }
  65. else if (strWorkStation.find("Wall") != std::string::npos)
  66. {
  67. DeviceConf.nWorkstation = 1;
  68. }
  69. else if (strWorkStation.find("Free") != std::string::npos)
  70. {
  71. DeviceConf.nWorkstation = 3;
  72. }
  73. else
  74. {
  75. DeviceConf.nWorkstation = 0;
  76. }
  77. DeviceConf.nSaturationValue = (int)m_Configurations["SaturationValue"];
  78. DeviceConf.nCalibDueSetting = (int)m_Configurations["CalibrationDue"];
  79. DeviceConf.strFirmware = (string)m_Configurations["FirmwarePath"];
  80. DeviceConf.fGradientMean = (float)m_Configurations["TemperatureGradientMean"];
  81. DeviceConf.fGradientStdDev = (float)m_Configurations["TemperatureGradientStdDev"];
  82. DeviceConf.nMaxShockNumber = (int)m_Configurations["MaxShockNumber"];
  83. DeviceConf.nForceGridSuppress = (int)m_Configurations["ForceGridSuppress"];
  84. DeviceConf.nGridSuppressed = (int)m_Configurations["GridSuppressed"];
  85. DeviceConf.fGridSuppressParam1 = (float)m_Configurations["GridSuppressFilterType"];
  86. DeviceConf.fGridSuppressParam2 = (float)m_Configurations["GridSuppressParam2"];
  87. DeviceConf.fGridSuppressParam3 = (float)m_Configurations["GridSuppressParam3"];
  88. DeviceConf.fGridSuppressParam4 = (float)m_Configurations["GridSuppressParam4"];
  89. DeviceConf.fGridSuppressParam5 = (float)m_Configurations["GridSuppressParam5"];
  90. DeviceConf.fGridSuppressParam6 = (float)m_Configurations["GridSuppressParam6"];
  91. DeviceConf.fGridSuppressParam7 = (float)m_Configurations["GridSuppressParam7"];
  92. DeviceConf.fGridSuppressParam8 = (float)m_Configurations["GridSuppressParam8"];
  93. DeviceConf.fGridSuppressParam9 = (float)m_Configurations["GridSuppressParam9"];
  94. DeviceConf.bStatusPollEnable = ((int)m_Configurations["StatusPollEnable"] != 0) ? true : false;
  95. DeviceConf.nSaveRaw = (int)m_Configurations["IsSaveRaw"];
  96. DeviceConf.bTemperatureEnable = ((int)m_Configurations["TemperatureEnable"] != 0) ? true : false;
  97. DeviceConf.fTemperMaxLimit = (float)m_Configurations["TempMaxLimit"];
  98. DeviceConf.fTemperUpLimit = (float)m_Configurations["TempUpperLimit"];
  99. DeviceConf.fTemperLowLimit = (float)m_Configurations["TempLowerLimit"];
  100. DeviceConf.fTemperMinLimit = (float)m_Configurations["TempMinLimit"];
  101. DeviceConf.fCalibTemperUp = (float)m_Configurations["CalibTemperUp"];
  102. DeviceConf.fCalibTemperLow = (float)m_Configurations["CalibTemperLow"];
  103. DeviceConf.bBatteryEnable = ((int)m_Configurations["BatteryEnable"] != 0) ? true : false;
  104. DeviceConf.nBatteryWarning = (int)m_Configurations["BatLowerLimit"];
  105. DeviceConf.nBatteryLimit = (int)m_Configurations["BatMiniLimit"];
  106. DeviceConf.bWifiEnable = ((int)m_Configurations["WifiEnable"] != 0) ? true : false;
  107. DeviceConf.nWifiWarning = (int)m_Configurations["WifiLowerLimit"];
  108. DeviceConf.nWifiLimit = (int)m_Configurations["WifiMiniLimit"];
  109. DeviceConf.strLastCalibrationDate = (string)m_Configurations["LastCalibrationDate"];
  110. DeviceConf.strCalibrationFileExpireTime = (string)m_Configurations["CalibrationFileExpireTime"];
  111. }
  112. catch (...)
  113. {
  114. printf("Load configuration item failed, exception!!!");
  115. return false;
  116. }
  117. return true;
  118. }
  119. bool DetectorConfiguration::SaveConfig()
  120. {
  121. try{
  122. m_ConfigAll["CONFIGURATION"] = m_Configurations;
  123. }
  124. catch (...)
  125. {
  126. return false;
  127. }
  128. return m_ConfigAll.SaveFile((m_strConfigPath).c_str());
  129. }