12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #pragma once
- #include "IOInterfaceMapper.h"
- namespace DiosCtrlBox
- {
- class ICommunicateEntity;
- class ICommunicate
- {
- public:
- ICommunicate();
- virtual ~ICommunicate();
- public:
- virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) = 0;
- virtual void LoadCommunicationInterfaceIDs(std::map<string, int> &interfaceIds);
- virtual void AttachCommunicateID(int interfaceID);
- virtual int GetInterfaceID(const std::string &key);
- protected:
- int m_communicateInterfaceID;
- std::map<string, int> m_functionIds;
- };
- //一下定义通信接口 ID 与功能键映射的键值
- const std::string ID_TUBE_HEIGHT_SERVO_ON = "ID_TUBE_HEIGHT_SERVO_ON";
- const std::string ID_TUBE_ANGLE_SERVO_ON = "ID_TUBE_ANGLE_SERVO_ON";
- const std::string ID_COMMUNICATE_INTERFACE = "ID_COMMUNICATE_INTERFACE";
- const std::string ID_HAND_SWITCH_GEAR_FIRST = "ID_HAND_SWITCH_GEAR_FIRST"; //一级手闸
- const std::string ID_HAND_SWITCH_GEAR_SECOND = "ID_HAND_SWITCH_GEAR_SECOND"; //二级手闸
- const std::string ID_TUBE_HEIGHT_PULSE = "ID_TUBE_HEIGHT_PULSE"; //球管垂直运动脉冲
- const std::string ID_TUBE_HEIGHT_DIRECTION = "ID_TUBE_HEIGHT_DIRECTION"; //球管垂直运动方向
- const std::string ID_TUBE_HEIGHT_AD = "ID_TUBE_HEIGHT_AD"; //球管高度AD数据
- const std::string ID_TUBE_ANGLE_AD = "ID_TUBE_ANGLE_AD"; //球管角度AD数据
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_A = "ID_TUBE_HEIGHT_ENCODER_AXIS_A"; //球管高度编码器A轴
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_B = "ID_TUBE_HEIGHT_ENCODER_AXIS_B"; //球管高度编码器B轴
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_Z = "ID_TUBE_HEIGHT_ENCODER_AXIS_Z"; //球管高度编码器Z轴
- const std::string ID_TUBE_ANGLE_HIGH_LIMIT = "ID_TUBE_ANGLE_HIGH_LIMIT"; //球管旋转上限位
- const std::string ID_TUBE_ANGLE_LOW_LIMIT = "ID_TUBE_ANGLE_LOW_LIMIT"; //球管旋转下限位
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_A = "ID_TUBE_ANGLE_ENCODER_AXIS_A"; //球管旋转编码器A轴
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_B = "ID_TUBE_ANGLE_ENCODER_AXIS_B"; //球管旋转编码器B轴
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_Z = "ID_TUBE_ANGLE_ENCODER_AXIS_Z"; //球管旋转编码器Z轴
- const std::string ID_TUBE_ANGLE_DIRECTION = "ID_TUBE_ANGLE_DIRECTION"; //球管角度方向
- const std::string ID_TUBE_ANGLE_PULSE = "ID_TUBE_ANGLE_PULSE"; //球管角度脉冲
- const std::string ID_XRAYON_NOTIFY = "ID_XRAYON_NOTIFY"; //发生器射线指示
- const std::string ID_POWER = "ID_POWER"; //5V电源
- const std::string ID_DETECTOR_HEIGHT_AD = "ID_DETECTOR_HEIGHT_AD"; //探测器高度AD数据
- const std::string ID_TUBE_HEIGHT_ENCODER = "ID_TUBE_HEIGHT_ENCODER"; //球管高度编码器
- const std::string ID_TUBE_ANGLE_ENCODER = "ID_TUBE_ANGLE_ENCODER"; //球管角度编码器
- const std::string ID_DETECTOR_HEIGHT_ENCODER = "ID_DETECTOR_HEIGHT_ENCODER"; //探测器高度编码器
- const std::string ID_SOFTWARE_CHAIN_INTERFACE_A = "ID_SOFTWARE_CHAIN_INTERFACE_A"; //连锁器接口A
- const std::string ID_SOFTWARE_CHAIN_INTERFACE_B = "ID_SOFTWARE_CHAIN_INTERFACE_B"; //连锁器接口B
- const std::string ID_EXPOSURE_TRIGGER = "ID_EXPOSURE_TRIGGER"; //同步盒信号端口触发
- const std::string ID_MCU = "ID_MCU"; //MCU
- const std::string ID_RS232 = "ID_RS232"; //RS232/485
- const std::string ID_TUBE_HEIGHT_HIGH_LIMIT = "ID_TUBE_HEIGHT_HIGH_LIMIT"; //球管高度上限位
- const std::string ID_TUBE_HEIGHT_LOW_LIMIT = "ID_TUBE_HEIGHT_LOW_LIMIT"; //球管高度下限位
- const std::string ID_CAN = "ID_CAN"; //can
- }
|