From 4e3fdde993a3ae960eedf1c1df8341583d7825da Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 15 八月 2024 15:53:31 +0800
Subject: [PATCH] #
---
app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java | 32 ++++++++
app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java | 32 ++++++++
app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java | 11 ++
app/src/main/java/com/example/agvcontroller/MainActivity.java | 39 ++++++---
app/src/main/java/com/example/agvcontroller/action/HandOutAction.java | 32 ++++++++
app/src/main/java/com/example/agvcontroller/action/HandInAction.java | 32 ++++++++
app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java | 32 ++++++++
7 files changed, 194 insertions(+), 16 deletions(-)
diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index 3b2a5ee..72f66e2 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -45,24 +45,29 @@
private boolean isDowm = false;
private boolean isOpen = false;
+ String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
private Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
- String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15);
-
- AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
- .setAgvNo("1")
- .setSerialNo(substring)
- .setVal(1)
- .bodySync((action) -> action.setPwd((short) 21));
-
-
if (isDowm) {
- System.out.println(agvAction);
+ AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
+ .setAgvNo("1")
+ .setSerialNo(substring)
+ .setVal(1)
+ .bodySync((action) -> action.setPwd((short) 21));
nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
-// handler.sendEmptyMessageDelayed(0, 100);
+ handler.sendEmptyMessageDelayed(0, 100);
+ }
+ if (isOpen) {
+ AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
+ .setAgvNo("12")
+ .setSerialNo(substring)
+ .setVal(1)
+ .bodySync((action) -> action.setPwd((short) 21));
+ nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+ handler.sendEmptyMessageDelayed(0, 100);
}
return false;
}
@@ -87,13 +92,13 @@
clientId = intent.getStringExtra("message");
Log.i("message1",clientId);
+ // 杩涘嚭鎵嬪姩妯″紡
forceSwitchBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (vibrator != null && vibrator.hasVibrator()) {
vibrator.vibrate(500);
}
- String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
AgvAction agvAction = new AgvAction<>(HandOutAction.class)
.setAgvNo("12")
@@ -114,15 +119,19 @@
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (view.getId() == R.id.btn_go_forward) {
- Log.i("message1","1111");
- } else if (view.getId() == R.id.btn_go_backward) {
- Log.i("message1","22222");
if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
isDowm = true;
handler.sendEmptyMessage(0);
} else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
isDowm = false;
}
+ } else if (view.getId() == R.id.btn_go_backward) {
+ if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+ isOpen = true;
+ handler.sendEmptyMessage(0);
+ } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+ isOpen = false;
+ }
}
return false;
}
diff --git a/app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java b/app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java
new file mode 100644
index 0000000..405afe7
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java
@@ -0,0 +1,32 @@
+package com.example.agvcontroller.action;
+
+import com.example.agvcontroller.protocol.IActionBody;
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+public class ForceStopAction implements IActionBody, Serializable {
+
+ private static final long serialVersionUID = -3250235107705010316L;
+
+ private Short pwd;
+
+ @Override
+ public byte[] writeToBytes() {
+ byte[] bytes = RadixTools.shortToByte(pwd);
+ return bytes;
+ }
+
+ @Override
+ public void readFromBytes(byte[] messageBodyBytes) {
+
+ }
+
+ public Short getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(Short pwd) {
+ this.pwd = pwd;
+ }
+}
diff --git a/app/src/main/java/com/example/agvcontroller/action/HandInAction.java b/app/src/main/java/com/example/agvcontroller/action/HandInAction.java
new file mode 100644
index 0000000..a7ff530
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/action/HandInAction.java
@@ -0,0 +1,32 @@
+package com.example.agvcontroller.action;
+
+import com.example.agvcontroller.protocol.IActionBody;
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+public class HandInAction implements IActionBody, Serializable {
+
+ private static final long serialVersionUID = -3250235107705010316L;
+
+ private Short pwd;
+
+ @Override
+ public byte[] writeToBytes() {
+ byte[] bytes = RadixTools.shortToByte(pwd);
+ return bytes;
+ }
+
+ @Override
+ public void readFromBytes(byte[] messageBodyBytes) {
+
+ }
+
+ public Short getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(Short pwd) {
+ this.pwd = pwd;
+ }
+}
diff --git a/app/src/main/java/com/example/agvcontroller/action/HandOutAction.java b/app/src/main/java/com/example/agvcontroller/action/HandOutAction.java
new file mode 100644
index 0000000..50fc028
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/action/HandOutAction.java
@@ -0,0 +1,32 @@
+package com.example.agvcontroller.action;
+
+import com.example.agvcontroller.protocol.IActionBody;
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+public class HandOutAction implements IActionBody, Serializable {
+
+ private static final long serialVersionUID = -3250235107705010316L;
+
+ private Short pwd;
+
+ @Override
+ public byte[] writeToBytes() {
+ byte[] bytes = RadixTools.shortToByte(pwd);
+ return bytes;
+ }
+
+ @Override
+ public void readFromBytes(byte[] messageBodyBytes) {
+
+ }
+
+ public Short getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(Short pwd) {
+ this.pwd = pwd;
+ }
+}
diff --git a/app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java b/app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java
new file mode 100644
index 0000000..23ff3be
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java
@@ -0,0 +1,32 @@
+package com.example.agvcontroller.action;
+
+import com.example.agvcontroller.protocol.IActionBody;
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+public class SingleSwitchAction implements IActionBody, Serializable {
+
+ private static final long serialVersionUID = -3250235107705010316L;
+
+ private Short pwd;
+
+ @Override
+ public byte[] writeToBytes() {
+ byte[] bytes = RadixTools.shortToByte(pwd);
+ return bytes;
+ }
+
+ @Override
+ public void readFromBytes(byte[] messageBodyBytes) {
+
+ }
+
+ public Short getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(Short pwd) {
+ this.pwd = pwd;
+ }
+}
diff --git a/app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java b/app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java
new file mode 100644
index 0000000..37502e1
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java
@@ -0,0 +1,32 @@
+package com.example.agvcontroller.action;
+
+import com.example.agvcontroller.protocol.IActionBody;
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+public class SingleSwitchRunAction implements IActionBody, Serializable {
+
+ private static final long serialVersionUID = -3250235107705010316L;
+
+ private Short pwd;
+
+ @Override
+ public byte[] writeToBytes() {
+ byte[] bytes = RadixTools.shortToByte(pwd);
+ return bytes;
+ }
+
+ @Override
+ public void readFromBytes(byte[] messageBodyBytes) {
+
+ }
+
+ public Short getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(Short pwd) {
+ this.pwd = pwd;
+ }
+}
diff --git a/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java b/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
index 1cdd119..66682a2 100644
--- a/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
+++ b/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
@@ -1,16 +1,25 @@
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_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;
--
Gitblit v1.9.1