yuliang 6 months ago
parent
commit
bcd6549f2e
  1. 13
      servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java
  2. 10
      servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java

13
servo/src/main/java/com/galaxis/rcs/ptr/AmrMessageHandler.java

@ -177,11 +177,13 @@ public class AmrMessageHandler {
amrMessage = JacksonUtils.parse(json, typeRef20149Message);
break;
case AMR_ONLINE:
// amrMessage = JacksonUtils.parse(json, typeRef20150Message);
AmrMessage<AmrOnlineMessage> onlineMessage = JacksonUtils.parse(json, typeRef20150Message);
this.handleAmrOnlineMessage(agvItem, onlineMessage.content);
this.sendCmdConfig(agvId, agvItem.getConfig());
break;
case AMR_OFFLINE:
amrMessage = JacksonUtils.parse(json, typeRef20200Message);
AmrMessage<AmrOfflineMessage> offlineMessage = JacksonUtils.parse(json, typeRef20200Message);
this.handleAmrOfflineMessage(agvItem, offlineMessage.content);
break;
case AMR_EXCEPTION:
amrMessage = JacksonUtils.parse(json, typeRef20250Message);
@ -423,6 +425,13 @@ public class AmrMessageHandler {
updateRedisNetDelay(agvItem.getId(), netDelay);
}
private void handleAmrOnlineMessage(PtrAgvItem agvItem, AmrOnlineMessage message) {
agvItem.handleOnlineEvent();
}
private void handleAmrOfflineMessage(PtrAgvItem agvItem, AmrOfflineMessage message) {
agvItem.handleOfflineEvent();
}
private void handleTaskCompletedMessage(PtrAgvItem agvItem, AmrTaskCompletedMessage message) {
agvItem.taskCompleted(message.CurX, message.CurY, message.CurDirection, 4);

10
servo/src/main/java/com/galaxis/rcs/ptr/PtrAgvItem.java

@ -261,9 +261,9 @@ public abstract class PtrAgvItem extends ExecutorItem {
if (this.isPaused) {
return false;
}
if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) {
return false;
}
// if (this.taskMode != AmrTaskMode.AMR_FREE_MODE) {
// return false;
// }
return this.isOnline;
}
@ -435,13 +435,13 @@ public abstract class PtrAgvItem extends ExecutorItem {
updateRedisStatus();
}
private void handleOnlineEvent() {
public void handleOnlineEvent() {
isOnline = true;
fireEvent(AgvEventType.ONLINE, this);
requestCurrentStatus();
}
private void handleOfflineEvent() {
public void handleOfflineEvent() {
isOnline = false;
fireEvent(AgvEventType.OFFLINE, this);
}

Loading…
Cancel
Save