diff --git a/servo/src/main/java/com/galaxis/rcs/ptr/AmrTaskMode.java b/servo/src/main/java/com/galaxis/rcs/ptr/AmrTaskMode.java new file mode 100644 index 0000000..a740f5c --- /dev/null +++ b/servo/src/main/java/com/galaxis/rcs/ptr/AmrTaskMode.java @@ -0,0 +1,78 @@ +package com.galaxis.rcs.ptr; + +import com.google.common.collect.Maps; + +import java.util.Collections; +import java.util.Map; + +/** + * AMR 任务模式 + */ +public enum AmrTaskMode { + /** + * 空闲模式 + */ + AMR_FREE_MODE(0, "空闲模式"), + /** + * 初始化模式 + */ + AMR_INIT_MODE(1, "初始化模式"), + /** + * 任务模式 + */ + AMR_TASK_MODE(2, "任务模式"), + /** + * 单动作模式 + */ + AMR_SINGLE_ACTION_MODE(3, "单动作模式"), + /** + * 手动模式 + */ + AMR_MANUAL_MODE(4, "手动模式"), + /** + * 遥控器模式 + */ + AMR_HANDSET_MODE(5, "遥控器模式"), + /** + * 充电模式 + */ + AMR_CHARGE_MODE(6, "充电模式"), + /** + * 任务被中断模式 + */ + AMR_TASK_INTERRUPT_MODE (7, "任务被中断模式"), + /** + * 自定义模式 + */ + AMR_CUSTOMIZE_MODE(8, "自定义模式"); + + // 枚举值映射 + private static final Map VALUE_MAP; + + static { + Map map = Maps.newHashMap(); + for (AmrTaskMode message : values()) { + map.put(message.value, message); + } + VALUE_MAP = Collections.unmodifiableMap(map); + } + + public final int value; + public final String description; + + AmrTaskMode(int value, String description) { + this.value = value; + this.description = description; + } + + /** + * 从整数值获取对应的枚举 + * + * @param value 整数值 + * @return 对应的枚举,如果找不到则返回 null + */ + public static AmrTaskMode fromValue(int value) { + return VALUE_MAP.get(value); + } + +} diff --git a/servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java b/servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java index 4bfed89..dcd4f28 100644 --- a/servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java +++ b/servo/src/main/java/com/yvan/logisticsModel/PtrAgvItem.java @@ -8,10 +8,7 @@ import com.galaxis.rcs.common.enums.PlanTaskStatus; import com.galaxis.rcs.common.enums.PlanTaskType; import com.galaxis.rcs.connector.cl2.Cl2DeviceConnector; import com.galaxis.rcs.plan.PlanTaskSequence; -import com.galaxis.rcs.ptr.AgvEventListener; -import com.galaxis.rcs.ptr.AmrMessageHandler; -import com.galaxis.rcs.ptr.ControlMode; -import com.galaxis.rcs.ptr.PosDirection; +import com.galaxis.rcs.ptr.*; import com.galaxis.rcs.ptr.receiveEntity.AmrHeartbeatMessage; import com.galaxis.rcs.ptr.receiveEntity.base.CurBatteryData; import com.galaxis.rcs.ptr.sendEntity.RcsConfigMessage; @@ -65,6 +62,9 @@ public abstract class PtrAgvItem extends ExecutorItem { // agv当前转动角度值 public double orientation; + // 任务模式 + public AmrTaskMode taskMode; + private volatile boolean isManualMode = false; private volatile boolean isPaused = false; private volatile PosDirection lastPausedPosition;