DetectorConfiguration.cpp 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. //printf("m_Configurations:\n %s\n", m_Configurations.encode());
  23. if (m_strConfigPath.find(".json") != std::string::npos)
  24. {
  25. TransferModuleJosnConfig2DriverConfig(m_Configurations);
  26. }
  27. DeviceConf.strDeviceName = (string)m_Configurations["Description"];
  28. int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("RAD");
  29. for (int i = 0; i < nModeCount; i++)
  30. {
  31. DeviceConf.nRawWidth = m_Configurations["ModeTable"][i]["RawImgWidth"];
  32. DeviceConf.nRawHeight = m_Configurations["ModeTable"][i]["RawImgHeight"];
  33. DeviceConf.nFullImageWidth = m_Configurations["ModeTable"][i]["ImageWidth"];
  34. DeviceConf.nFullImageHeight = m_Configurations["ModeTable"][i]["ImageHeight"];
  35. DeviceConf.nImageLeftOffset = m_Configurations["ModeTable"][i]["LeftOffset"];
  36. DeviceConf.nImageTopffset = m_Configurations["ModeTable"][i]["TopOffset"];
  37. DeviceConf.nPixelSpace = m_Configurations["ModeTable"][i]["PixelPitch"];
  38. DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
  39. DeviceConf.bPreviewEnable = ((int)m_Configurations["ModeTable"][i]["PreviewEnable"] != 0) ? true : false;
  40. DeviceConf.nPreviewWidth = m_Configurations["ModeTable"][i]["PreviewWidth"];
  41. DeviceConf.nPreviewHeight = m_Configurations["ModeTable"][i]["PreviewHeight"];
  42. DeviceConf.nFrameCount = m_Configurations["ModeTable"][i]["FrameCount"];
  43. DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"];
  44. }
  45. DeviceConf.strWorkstation = (string)m_Configurations["WorkStation"];
  46. DeviceConf.nSaveRaw = (int)m_Configurations["IsSaveRaw"];
  47. DeviceConf.nDoseOfEXI = (int)m_Configurations["Sensitivity"];
  48. DeviceConf.nSaturationValue = (int)m_Configurations["SaturationValue"];
  49. DeviceConf.nCalibDueSetting = (int)m_Configurations["CalibrationDue"];
  50. DeviceConf.nMaxShockNumber = (int)m_Configurations["MaxShockNumber"];
  51. DeviceConf.nForceGridSuppress = (int)m_Configurations["ForceGridSuppress"];
  52. DeviceConf.nGridSuppressed = (int)m_Configurations["GridSuppressed"];
  53. DeviceConf.fGridSuppressParam1 = (float)m_Configurations["GridSuppressFilterType"];
  54. DeviceConf.fGridSuppressParam2 = (float)m_Configurations["GridSuppressParam2"];
  55. DeviceConf.fGridSuppressParam3 = (float)m_Configurations["GridSuppressParam3"];
  56. DeviceConf.fGridSuppressParam4 = (float)m_Configurations["GridSuppressParam4"];
  57. DeviceConf.fGridSuppressParam5 = (float)m_Configurations["GridSuppressParam5"];
  58. DeviceConf.fGridSuppressParam6 = (float)m_Configurations["GridSuppressParam6"];
  59. DeviceConf.fGridSuppressParam7 = (float)m_Configurations["GridSuppressParam7"];
  60. DeviceConf.fGridSuppressParam8 = (float)m_Configurations["GridSuppressParam8"];
  61. DeviceConf.fGridSuppressParam9 = (float)m_Configurations["GridSuppressParam9"];
  62. DeviceConf.fTemperMaxLimit = (float)m_Configurations["TempMaxLimit"];
  63. DeviceConf.fTemperUpperLimit = (float)m_Configurations["TempUpperLimit"];
  64. DeviceConf.fTemperLowLimit = (float)m_Configurations["TempLowerLimit"];
  65. DeviceConf.fTemperMinLimit = (float)m_Configurations["TempMinLimit"];
  66. DeviceConf.nBatteryWarning = (int)m_Configurations["BatLowerLimit"];
  67. DeviceConf.nBatteryLimit = (int)m_Configurations["BatMiniLimit"];
  68. DeviceConf.nWifiWarning = (int)m_Configurations["WifiLowerLimit"];
  69. DeviceConf.nWifiLimit = (int)m_Configurations["WifiMiniLimit"];
  70. DeviceConf.bModuleEnable = ((int)m_Configurations["StatusPollEnable"] == 1) ? true : false;
  71. DeviceConf.strLastCalibrationDate = (string)m_Configurations["LastCalibrationDate"];
  72. DeviceConf.strCalibrationFileExpireTime = (string)m_Configurations["CalibrationFileExpireTime"];
  73. }
  74. catch (...)
  75. {
  76. return false;
  77. }
  78. return true;
  79. }
  80. bool DetectorConfiguration::SaveConfig()
  81. {
  82. try
  83. {
  84. m_ConfigAll["CONFIGURATION"] = m_Configurations;
  85. }
  86. catch (...)
  87. {
  88. return false;
  89. }
  90. return m_ConfigAll.SaveFile((m_strConfigPath).c_str());
  91. }