MechV2.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 MECHV2_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // MECHV2_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifndef MECHV2_EXPORTS
  9. #ifdef _WIN64
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "MechV2X64D.lib")
  12. #else
  13. #pragma comment(lib, "MechV2X64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "MechV2D.lib")
  18. #else
  19. #pragma comment(lib, "MechV2.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #ifdef MECHV2_EXPORTS
  24. #define MECHV2_API __declspec(dllexport)
  25. #else
  26. #define MECHV2_API __declspec(dllimport)
  27. #endif
  28. #include "LogicDevice.h"
  29. #include "DIOSLogicDeviceStructure.h"
  30. typedef enum _MechParamType {
  31. MAMMO_AE,
  32. MAMMO_FT,
  33. MAMMO_PS,//pressurestate
  34. MAMMO_CPD,//CompPressureDEC
  35. MAMMO_MA,//mechangle
  36. MAMMO_MH,//mechheight
  37. MAMMO_PV,//pressurevalue
  38. MAMMO_AGD,//
  39. MAMMO_MAG,//
  40. MECH_GRID,
  41. MAMMO_DEPRESS,
  42. MAMMO_MAX
  43. }MECHPARAMTYPE;
  44. class MECHV2_API MechV2 : public LogicDevice
  45. {
  46. BaseJsonDataObject<unsigned int> *m_Grid;
  47. BaseJsonDataObject<unsigned int> *m_Mammo_AE;
  48. BaseJsonDataObject<unsigned int> *m_Mammo_FT;
  49. BaseJsonDataObject<unsigned int> *m_Mammo_PressureState;
  50. BaseJsonDataObject<unsigned int> *m_Mammo_CompPressureDEC;
  51. BaseJsonDataObject<unsigned int> *m_Mammo_Depress;
  52. BaseJsonDataObject<float> *m_Mammo_MechAngle;
  53. BaseJsonDataObject<float> *m_Mammo_MechHeight;
  54. BaseJsonDataObject<float> *m_Mammo_PressureValue;
  55. BaseJsonDataObject<float> *m_Mammo_AGD;
  56. BaseJsonDataObject<float> *m_Mammo_MAG;
  57. public:
  58. MechV2();
  59. ~MechV2();
  60. virtual int DATA_ACTION GetValue(float PARAM_OUT &Value, INT ParamType);
  61. virtual int DATA_ACTION SetValue(float PARAM_IN Value, INT ParamType);
  62. virtual int DATA_ACTION GetValue(int PARAM_OUT &Value, INT ParamType);
  63. virtual int DATA_ACTION SetValue(int PARAM_IN Value, INT ParamType);
  64. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  65. //get device resource
  66. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  67. //register system status
  68. virtual RET_STATUS SYSTEM_CALL GetSEQResource(ResDataObject PARAM_OUT *pDeviceStatus);
  69. //ResourceCommand Request In and Response Out
  70. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  71. //notify to lower layer
  72. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  73. virtual int DATA_ACTION SetGrid(int GridType);
  74. virtual int DATA_ACTION SetAutoTracking(int nAutoTracking);
  75. //TOMO结果数组读取
  76. /*
  77. P0:{ {0: 值},{1: 值},...}
  78. */
  79. virtual RET_STATUS DATA_ACTION GetTomoResults(ResDataObject &resultAngle, ResDataObject &resultHeight);
  80. };