CalCmdUnitLogic.h 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. #pragma once
  2. #ifndef CALCMDUNITLOGIC_EXPORTS
  3. #ifdef _WIN64
  4. #ifdef _DEBUG
  5. #pragma comment(lib, "CalCmdUnitLogicX64D.lib")
  6. #else
  7. #pragma comment(lib, "CalCmdUnitLogicX64.lib")
  8. #endif
  9. #else
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "CalCmdUnitLogicD.lib")
  12. #else
  13. #pragma comment(lib, "CalCmdUnitLogic.lib")
  14. #endif
  15. #endif
  16. #endif
  17. #define PARAM_IN_TYPE
  18. #ifdef CALCMDUNITLOGIC_EXPORTS
  19. #define CALCMDUNITLOGIC_API __declspec(dllexport)
  20. #else
  21. #define CALCMDUNITLOGIC_API __declspec(dllimport)
  22. #endif
  23. #include"LogicDevice.h"
  24. #include"DIOSLogicDeviceStructure.h"
  25. class CALCMDUNITLOGIC_API CalCmdUnitLogic : public LogicDevice
  26. {
  27. private:
  28. BaseJsonDataObject<unsigned int>* m_AppMode;
  29. BaseJsonDataObject<unsigned int>* m_ExamMode;
  30. BaseJsonDataObject<unsigned int>* m_CalType;
  31. BaseJsonDataObject<unsigned long>* m_Dose;
  32. BaseJsonDataObject<bool>* m_HaveImgCal;
  33. BaseJsonDataObject<unsigned int>* m_OffsetTotalNum;
  34. BaseJsonDataObject<unsigned int>* m_XrayTotalNum;
  35. //Notify
  36. BaseJsonDataObject<unsigned int>* m_CalibrationActive;
  37. BaseJsonDataObject<unsigned int>* m_CalibrationRunning;
  38. BaseJsonDataObject<unsigned int>* m_CalibrationProcessCounter;
  39. BaseJsonDataObject<bool>* m_CalibrationPause;
  40. BaseJsonDataObject<bool>* m_CalibrationResult;
  41. BaseJsonDataObject<bool>* m_CalibrationEnd;
  42. //Notify end
  43. BaseJsonDataObject<string>* m_PixelSpacing;
  44. BaseJsonDataObject<string>* m_ActiveDimension;
  45. BaseJsonDataObject<string>* m_DetectorActiveTime;
  46. BaseJsonDataObject<string>* m_DetectorActivationOffsetFromExposure;
  47. BaseJsonDataObject<string>* m_FieldofViewShape;
  48. BaseJsonDataObject<string>* m_ViewDimension;
  49. BaseJsonDataObject<string>* m_DetectorType;
  50. BaseJsonDataObject<string>* m_DetectorConfiguration;
  51. BaseJsonDataObject<string>* m_strTimeofLastDetectorCalibration;
  52. BaseJsonDataObject<string>* m_ConditionsNominalFlag;
  53. BaseJsonDataObject<string>* m_Sensitivity;
  54. BaseJsonDataObject<string>* m_DetectorElementPhysicalSize;
  55. BaseJsonDataObject<string>* m_DetectorElementSpacing;
  56. BaseJsonDataObject<string>* m_DetectorActiveShape;
  57. BaseJsonDataObject<string>* m_DetectorActiveDimension;
  58. BaseJsonDataObject<string>* m_DetectorActiveOrigin;
  59. BaseJsonDataObject<string>* m_LossyImageCompression;
  60. BaseJsonDataObject<string>* m_RescaleType;
  61. BaseJsonDataObject<string>* m_PixelIntensityRelationship;
  62. BaseJsonDataObject<string>* m_ImageReferUGY;
  63. BaseJsonDataObject<string>* m_UGYShowType;
  64. BaseJsonDataObject<string>* m_FactorEXI2UGY;
  65. OFFSETT_CAL_ATTR* m_Oft_Cal_Attr;
  66. XRAY_CAL_ATTR* m_Gain_Cal_Attr;
  67. XRAY_CAL_ATTR* m_Defect_Cal_Attr;
  68. char m_chLog[512];
  69. void LogInfo(string string);
  70. void LogWarn(string string);
  71. void LogError(string string);
  72. public:
  73. CalCmdUnitLogic(void);
  74. virtual ~CalCmdUnitLogic(void);
  75. //get device type
  76. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  77. //get device resource
  78. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  79. //ResourceCommand Request In and Response Out
  80. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  81. //notify to lower layer
  82. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  83. //errors,warnings
  84. void SetErrorInfo(int errCode, char *pErrInfo);
  85. void SetWarningInfo(int warningCode, char *pWarningInfo);
  86. public:
  87. //void LogInfo(string str);
  88. //void LogWarn(string str);
  89. //void LogError(string str);
  90. private://Data²ãʵÏÖ£¬Owner
  91. bool Support_GetAppMode();
  92. bool Support_SetAppMode();
  93. bool Support_GetExamMode();
  94. bool Support_SetExamMode();
  95. bool Support_GetSEQResource();
  96. bool Support_SeqPrepState();
  97. bool Support_GetDoseReq();
  98. RET_STATUS DATA_ACTION GetDoseReq(unsigned long PARAM_OUT&nDose);
  99. RET_STATUS DATA_ACTION SeqPrepState();
  100. RET_STATUS DATA_ACTION GetSEQResource(ResDataObject*res);
  101. RET_STATUS DATA_ACTION GetAppMode(unsigned int PARAM_OUT&AppMode);
  102. RET_STATUS DATA_ACTION SetAppMode(unsigned int PARAM_IN AppMode);
  103. RET_STATUS DATA_ACTION GetExamMode(unsigned int PARAM_OUT&ExamMode);
  104. RET_STATUS DATA_ACTION SetExamMode(unsigned int PARAM_IN ExamMode);
  105. public://data define,oem use
  106. RET_STATUS SetDose(unsigned long nDose);
  107. RET_STATUS SetCalType(unsigned int nType);
  108. RET_STATUS SetGainCalAttr(Xray_Cal_Attr_Struct Gain_Cal_Attr);
  109. RET_STATUS SetDefectCalAttr(Xray_Cal_Attr_Struct Defect_Cal_Attr);
  110. RET_STATUS SetOffsetCalAttr(Offset_Cal_Attr_Struct Offset_Cal_Attr);
  111. RET_STATUS SetDoseReq(unsigned long nDose);
  112. RET_STATUS SetHaveImgCal(bool HaveImgCal);
  113. RET_STATUS SetOffsetTotalNum(unsigned int OffsetTotalNum);
  114. RET_STATUS SetXrayTotalNum(unsigned int XrayTotalNum);
  115. RET_STATUS SetCalibrationActive(unsigned int CalibrationActive);
  116. RET_STATUS SetCalibrationRunning(unsigned int CalibrationRunning);
  117. RET_STATUS SetCalibrationProcessCounter(unsigned int CalibrationProcessCounter);
  118. RET_STATUS SetCalibrationPause(bool CalibrationPause);
  119. RET_STATUS SetCalibrationResult(bool CalibrationResult);
  120. RET_STATUS SetCalibrationEnd(bool CalibrationEnd);
  121. RET_STATUS SetPixelSpacing(string PixelSpacing);
  122. RET_STATUS SetActiveDimension(string ActiveDimension);
  123. RET_STATUS SetDetectorActiveTime(string DetectorActiveTime);
  124. RET_STATUS SetDetectorActivationOffsetFromExposure(string DetectorActivationOffsetFromExposure);
  125. RET_STATUS SetFieldofViewShape(string FieldofViewShape);
  126. RET_STATUS SetViewDimension(string ViewDimension);
  127. RET_STATUS SetDetectorType(string DetectorType);
  128. RET_STATUS SetDetectorConfiguration(string DetectorConfiguration);
  129. RET_STATUS SetstrTimeofLastDetectorCalibration(string strTimeofLastDetectorCalibration);
  130. RET_STATUS SetConditionsNominalFlag(string ConditionsNominalFlag);
  131. RET_STATUS SetSensitivity(string Sensitivity);
  132. RET_STATUS SetDetectorElementPhysicalSize(string DetectorElementPhysicalSize);
  133. RET_STATUS SetDetectorElementSpacing(string DetectorElementSpacing);
  134. RET_STATUS SetDetectorActiveShape(string DetectorActiveShape);
  135. RET_STATUS SetDetectorActiveDimension(string DetectorActiveDimension);
  136. RET_STATUS SetDetectorActiveOrigin(string DetectorActiveOrigin);
  137. RET_STATUS SetLossyImageCompression(string LossyImageCompression);
  138. RET_STATUS SetRescaleType(string RescaleType);
  139. RET_STATUS SetPixelIntensityRelationship(string PixelIntensityRelationship);
  140. RET_STATUS SetImageReferUGY(string ImageReferUGY);
  141. RET_STATUS SetUGYShowType(string UGYShowType);
  142. RET_STATUS SetFactorEXI2UGY(string FactorEXI2UGY);
  143. public:
  144. virtual bool Support_StartCalibration();
  145. virtual bool Support_AcceptCurrImgage();
  146. virtual bool Support_RejectCurrImgage();
  147. virtual bool Support_AbortCalibration();
  148. virtual bool Support_FinishCalibration();
  149. virtual RET_STATUS DEVICE_ACTION StartCalibration(unsigned int calibrationtype);
  150. virtual RET_STATUS DEVICE_ACTION AcceptCurrImgage(void);
  151. virtual RET_STATUS DEVICE_ACTION RejectCurrImgage(void);
  152. virtual RET_STATUS DEVICE_ACTION AbortCalibration(void);
  153. virtual RET_STATUS DEVICE_ACTION FinishCalibration(void);
  154. virtual bool Support_StartDarkCalibration();
  155. virtual bool Support_AbortDarkCalibration();
  156. virtual bool Support_ActiveXrayCalibration();
  157. virtual bool Support_StartXrayCalibration();
  158. virtual bool Support_AbortXrayCalibration();
  159. virtual bool Support_CalTypeOffset();
  160. virtual bool Support_CalTypeGain();
  161. virtual bool Support_CalTypeDefect();
  162. virtual RET_STATUS DEVICE_ACTION StartDarkCalibration(void);
  163. virtual RET_STATUS DEVICE_ACTION AbortDarkCalibration(void);
  164. virtual RET_STATUS DEVICE_ACTION ActiveXrayCalibration(void);
  165. virtual RET_STATUS DEVICE_ACTION StartXrayCalibration(void);
  166. virtual RET_STATUS DEVICE_ACTION AbortXrayCalibration(void);
  167. };