DetectorConfiguration.cpp 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include "stdafx.h"
  2. #include "DetectorConfiguration.h"
  3. #include "Detector_Model_Def.h"
  4. DetectorConfiguration::DetectorConfiguration(string ConfigPath)
  5. {
  6. m_strConfigPath = ConfigPath;
  7. }
  8. DetectorConfiguration::~DetectorConfiguration()
  9. {
  10. }
  11. bool DetectorConfiguration::LoadConfigurations(DeviceIndexStruct & DeviceConf)
  12. {
  13. printf("LoadConfigurations config path:%s\n", m_strConfigPath.c_str());
  14. Info("LoadConfigurations config path:{$}", m_strConfigPath);
  15. if (!m_ConfigAll.loadFile(m_strConfigPath.c_str()))
  16. {
  17. printf( "LoadConfigurations loadFile failed!!! \n");
  18. return false;
  19. }
  20. try
  21. {
  22. m_Configurations = m_ConfigAll["CONFIGURATION"];
  23. DeviceConf.strDeviceName = (string)m_Configurations[DetectorDescription];
  24. int nModeCount = (int)m_Configurations["ModeTable"].GetKeyCount("DetectorMode");
  25. for (int i = 0; i < nModeCount; i++)
  26. {
  27. if (1 == (int)m_Configurations["ModeTable"][i]["LogicMode"])
  28. {
  29. DeviceConf.nPreviewWidth = (int)m_Configurations["ModeTable"][i]["PreviewImageWidth"];
  30. DeviceConf.nPreviewHeight = (int)m_Configurations["ModeTable"][i]["PreviewImageHeight"];
  31. DeviceConf.nRawWidth = (int)m_Configurations["ModeTable"][i]["RawImgWidth"];
  32. DeviceConf.nRawHeight = (int)m_Configurations["ModeTable"][i]["RawImgHeight"];
  33. DeviceConf.nFullImageWidth = (int)m_Configurations["ModeTable"][i]["ImageWidth"];
  34. DeviceConf.nFullImageHeight = (int)m_Configurations["ModeTable"][i]["ImageHeight"];
  35. DeviceConf.nImageLeftOffset = (int)m_Configurations["ModeTable"][i]["CropImageLeft"];
  36. DeviceConf.nImageTopffset = (int)m_Configurations["ModeTable"][i]["CropImageTop"];
  37. DeviceConf.nImageRightOffset = (int)m_Configurations["ModeTable"][i]["CropImageRight"];
  38. DeviceConf.nImageBottomOffset = (int)m_Configurations["ModeTable"][i]["CropImageBottom"];
  39. DeviceConf.nPixelSpace = (int)m_Configurations["ModeTable"][i]["PixelPitch"];
  40. DeviceConf.nImageBits = (int)m_Configurations["ModeTable"][i]["PhySizeInfoBit"];
  41. DeviceConf.nSyncMode = (int)m_Configurations["ModeTable"][i]["SyncType"];
  42. }
  43. }
  44. DeviceConf.nDoseOfEXI = (int)m_Configurations["Sensitivity"];
  45. //DeviceConf.fTemperatureMin = (float)m_Configurations["TemperatureMin"];
  46. //DeviceConf.fTemperatureMax = (float)m_Configurations["TemperatureMax"];
  47. //DeviceConf.fTemperMaxLimit = (float)m_Configurations["TempMaxLimit"];
  48. //DeviceConf.fTemperWarning = (float)m_Configurations["TempUpperLimit"];
  49. //DeviceConf.fTemperLowLimit = (float)m_Configurations["TempLowerLimit"];
  50. //DeviceConf.fTemperMinLimit = (float)m_Configurations["TempMinLimit"];
  51. //DeviceConf.nBatteryWarning = (int)m_Configurations["BatLowerLimit"];
  52. //DeviceConf.nBatteryLimit = (int)m_Configurations["BatMiniLimit"];
  53. //DeviceConf.nWifiWarning = (int)m_Configurations["WifiLowerLimit"];
  54. //DeviceConf.nWifiLimit = (int)m_Configurations["WifiMiniLimit"];
  55. }
  56. catch (ResDataObjectExption &e)
  57. {
  58. printf("Get config error: %s \r\n", e.what());
  59. return false;
  60. }
  61. return true;
  62. }
  63. bool DetectorConfiguration::SaveConfig()
  64. {
  65. try
  66. {
  67. m_ConfigAll["CONFIGURATION"] = m_Configurations;
  68. }
  69. catch (ResDataObjectExption& e)
  70. {
  71. printf("SaveConfig error: %s \r\n", e.what());
  72. return false;
  73. }
  74. return m_ConfigAll.SaveFile((m_strConfigPath).c_str());
  75. }