package com.example.agvcontroller.protocol; import com.example.agvcontroller.action.ForceStopAction; import com.example.agvcontroller.action.ForceSwitchAction; import com.example.agvcontroller.action.HandInAction; import com.example.agvcontroller.action.HandOutAction; import com.example.agvcontroller.action.SingleSwitchAction; import com.example.agvcontroller.action.SingleSwitchRunAction; public enum HandleCmdType { HAND_OUT(0x00, "退出手动模式", HandOutAction.class), HAND_IN(0x01, "进入手动模式", HandInAction.class), FORCE_SWITCH(0x80, "开启/关闭强制", ForceSwitchAction.class), SINGLE_SWITCH(0x8C , "单轴使能", SingleSwitchAction.class), SINGLE_SWITCH_RUN(0x8C , "强制单轴点动", SingleSwitchRunAction.class), FORCE_STOP(0xF0, "急停", ForceStopAction.class), ; public int cmdCode; public String desc; public Class cls; HandleCmdType(int cmdCode, String desc, Class cls) { this.cmdCode = cmdCode; this.desc = desc; this.cls = cls; } public static HandleCmdType find(Class cls) { for (HandleCmdType value : HandleCmdType.values()) { if (value.cls.equals(cls)) { return value; } } return null; } }