#pragma once namespace DiosCtrlBox { //GPIO引脚-功能-映射 class IOInterfaceMapper { public: static void Load(const std::string &configFile); public: static unsigned char ID_SYSTEM_RESET; //系统复位开关 static unsigned char ID_TUBE_HEIGHT_SERVO_ON; //球管高度伺服 Servo on static unsigned char ID_TUBE_ANGLE_SERVO_ON; //球管角度伺服 Servo on static unsigned char ID_HAND_SWITCH_GEAR_FIRST; //一级手闸 static unsigned char ID_HAND_SWITCH_GEAR_SECOND; //二级手闸 static unsigned char ID_TUBE_HEIGHT_PULSE; //球管垂直运动脉冲 static unsigned char ID_TUBE_HEIGHT_DIRECTION; //球管垂直运动方向 static unsigned char ID_TUBE_HEIGHT_AD; //球管高度AD数据 static unsigned char ID_TUBE_ANGLE_AD; //球管角度AD数据 static unsigned char ID_TUBE_HEIGHT_HIGH_LIMIT; //球管高度上限位 static unsigned char ID_TUBE_HEIGHT_LOW_LIMIT; //球管高度下限位 static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_A; //球管高度编码器A轴 static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_B; //球管高度编码器B轴 static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_Z; //球管高度编码器Z轴 static unsigned char ID_TUBE_ANGLE_HIGH_LIMIT; //球管旋转上限位 static unsigned char ID_TUBE_ANGLE_LOW_LIMIT; //球管旋转下限位 static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_A; //球管旋转编码器A轴 static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_B; //球管旋转编码器B轴 static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_Z; //球管旋转编码器Z轴 static unsigned char ID_TUBE_ANGLE_DIRECTION; //球管角度方向 static unsigned char ID_TUBE_ANGLE_PULSE; //球管角度脉冲 static unsigned char ID_XRAYON_NOTIFY; //发生器射线指示 static unsigned char ID_POWER; //5V电源 static unsigned char ID_DETECTOR_HEIGHT_AD; //探测器高度AD数据 static unsigned char ID_TUBE_HEIGHT_ENCODER; //球管高度编码器 static unsigned char ID_TUBE_ANGLE_ENCODER; //球管角度编码器 static unsigned char ID_DETECTOR_HEIGHT_ENCODER; //探测器高度编码器 static unsigned char ID_SOFTWARE_CHAIN_INTERFACE_A; //连锁器接口A static unsigned char ID_SOFTWARE_CHAIN_INTERFACE_B; //连锁器接口B static unsigned char ID_EXPOSURE_TRIGGER; //同步盒信号端口触发 static unsigned char ID_MCU; //MCU static unsigned char ID_RS232; //RS232/485 static unsigned char ID_CAN; //Can static unsigned short ID_CAN_STDID_TUBE_CIRCULAR_ENCODER;//TUBE_CIRCULAR_ENCODER stdid static unsigned short ID_CAN_STDID_TUBE_SWING_ENCODER;//TUBE_SWING_ENCODER stdid private: static void DoMapPinsToInterfaceID(ResDataObject &pindefines); }; }