From a5519c76cb177d22ed5d001410132e430664c877 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 19 八月 2024 16:03:00 +0800
Subject: [PATCH] #

---
 app/src/main/java/com/example/agvcontroller/MainActivity.java |  250 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 249 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index f9ffbe3..20629c5 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -18,11 +18,15 @@
 import android.widget.Button;
 import android.widget.RelativeLayout;
 
+import com.example.agvcontroller.action.BackPaddle;
 import com.example.agvcontroller.action.ForwardBackAction;
+import com.example.agvcontroller.action.FrontPaddle;
+import com.example.agvcontroller.action.HandExtendCollect;
+import com.example.agvcontroller.action.HandForkRotatopn;
 import com.example.agvcontroller.action.HandInAction;
+import com.example.agvcontroller.action.HandLift;
 import com.example.agvcontroller.action.RotatopnLeftRight;
 import com.example.agvcontroller.protocol.AgvAction;
-import com.example.agvcontroller.action.ForceSwitchAction;
 import com.example.agvcontroller.action.HandOutAction;
 import com.example.agvcontroller.socket.NettyServerHandler;
 import com.example.agvcontroller.socket.SocketManager;
@@ -52,6 +56,18 @@
     private Button goBackwardBtn;  // 鍚庨��
     private Button modelSwitchBtn;  // 杩涘叆銆侀��鍑� 鎵嬪姩
 
+    private Button frontPaddleExtendBtn;
+    private Button frontPaddleCollectBtn;
+    private Button backPaddleExtendBtn;
+    private Button backPaddleCollectBtn;
+    private Button riseBtn;
+    private Button dropBtn;
+    private Button extendForkBtn;
+    private Button collectForkBtn;
+    private Button turnLeftBtn;
+    private Button turnRightBtn;
+
+
     private Button bodySwitchBtn; // 搴曠洏/璐у弶鍒囨崲
     private Socket socket;
     private String AgvNo = "12";
@@ -63,12 +79,26 @@
 
     SocketManager socketManager;
 
+
+    //    鎸夐挳闀挎寜浜嬩欢
     private int autoVal = 1;
     private boolean isAuto = true;
     private boolean isGoForward = false;
     private boolean isGoBackward = false;
     private boolean isRotatopnRight = false;
     private boolean isRotatopnLeft = false;
+
+    private boolean isFrontPaddleExtendBtn = false;
+    private boolean isFrontPaddleCollectBtn = false;
+    private boolean isBackPaddleExtendBtn = false;
+    private boolean isBackPaddleCollectBtn = false;
+    private boolean isRiseBtn = false;
+    private boolean isDropBtn = false;
+    private boolean isExtendForkBtn = false;
+    private boolean isCollectForkBtn = false;
+    private boolean isTurnLeftBtn = false;
+    private boolean isTurnRightBtn = false;
+
 
 
 
@@ -116,6 +146,117 @@
                 nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
                 handler.sendEmptyMessageDelayed(0, 100);
             }
+
+            // 鍓嶆嫧鏉嗕几
+            if (isFrontPaddleExtendBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 鍓嶆嫧鏉嗘敹
+            if (isFrontPaddleCollectBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 鍚庢嫧鏉嗕几
+            if (isBackPaddleExtendBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(BackPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 鍚庢嫧鏉嗘敹
+            if (isBackPaddleCollectBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(BackPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 涓婂崌
+            if (isRiseBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandLift.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 涓嬮檷
+            if (isDropBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandLift.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 浼稿弶
+            if (isExtendForkBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandExtendCollect.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 鏀跺弶
+            if (isCollectForkBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandExtendCollect.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 璐у弶宸︽棆
+            if (isTurnLeftBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
+            // 璐у弶鍙虫棆
+            if (isTurnRightBtn) {
+                String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
+                AgvAction agvAction = new AgvAction<>(HandForkRotatopn.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) -10));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                handler.sendEmptyMessageDelayed(0, 100);
+            }
             return false;
         }
     });
@@ -137,6 +278,17 @@
         rotatopnLeftBtn = findViewById(R.id.btn_rotatopn_left);
         rotatopnRightBtn = findViewById(R.id.btn_rotatopn_right);
         modelSwitchBtn = findViewById(R.id.btn_model_switch);
+
+        frontPaddleExtendBtn = findViewById(R.id.btn_front_paddle_extend); // 鍓嶆嫧鏉�
+        frontPaddleCollectBtn = findViewById(R.id.btn_front_paddle_collect); // 鍓嶆嫧鏉�
+        backPaddleExtendBtn = findViewById(R.id.btn_back_paddle_extend); // 鍚庢嫧鏉�
+        backPaddleCollectBtn = findViewById(R.id.btn_back_paddle_collect); // 鍚庢嫧鏉�
+        riseBtn = findViewById(R.id.btn_rise);
+        dropBtn = findViewById(R.id.btn_drop);
+        extendForkBtn = findViewById(R.id.btn_extend_fork);
+        collectForkBtn = findViewById(R.id.btn_collect_fork);
+        turnLeftBtn = findViewById(R.id.btn_turn_left);
+        turnRightBtn = findViewById(R.id.btn_turn_right);
 
         bodySwitchBtn = findViewById(R.id.btn_body_switch);
 
@@ -233,12 +385,24 @@
         rotatopnLeftBtn.setOnTouchListener(new CarTouchButton());
         rotatopnRightBtn.setOnTouchListener(new CarTouchButton());
 
+        frontPaddleExtendBtn.setOnTouchListener(new CarTouchButton());
+        frontPaddleCollectBtn.setOnTouchListener(new CarTouchButton());
+        backPaddleExtendBtn.setOnTouchListener(new CarTouchButton());
+        backPaddleCollectBtn.setOnTouchListener(new CarTouchButton());
+        riseBtn.setOnTouchListener(new CarTouchButton());
+        dropBtn.setOnTouchListener(new CarTouchButton());
+        extendForkBtn.setOnTouchListener(new CarTouchButton());
+        collectForkBtn.setOnTouchListener(new CarTouchButton());
+        turnLeftBtn.setOnTouchListener(new CarTouchButton());
+        turnRightBtn.setOnTouchListener(new CarTouchButton());
+
     }
 
     private class CarTouchButton implements View.OnTouchListener {
 
         @Override
         public boolean onTouch(View view, MotionEvent motionEvent) {
+
             if (view.getId() == R.id.btn_go_forward) {
                 // 鍓嶈繘
                 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
@@ -247,6 +411,7 @@
                 } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
                     isGoForward = false;
                 }
+
             } else if (view.getId() == R.id.btn_go_backward) {
                 // 鍚庨��
                 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
@@ -255,6 +420,7 @@
                 } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
                     isGoBackward = false;
                 }
+
             } else if (view.getId() == R.id.btn_rotatopn_left) {
                 // 宸︽棆杞�
                 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
@@ -263,6 +429,7 @@
                 } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
                     isRotatopnLeft = false;
                 }
+
             } else if (view.getId() == R.id.btn_rotatopn_right) {
                 // 鍙虫棆杞�
                 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
@@ -271,7 +438,88 @@
                 } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
                     isRotatopnRight = false;
                 }
+            } else if (view.getId() == R.id.btn_front_paddle_extend) {
+                // 鍓嶆嫧鏉嗕几鍑�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isFrontPaddleExtendBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isFrontPaddleExtendBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_front_paddle_collect) {
+                // 鍓嶆嫧鏉嗘敹璧�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isFrontPaddleCollectBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isFrontPaddleCollectBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_back_paddle_extend) {
+                // 鍚庢嫧鏉嗕几鍑�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isBackPaddleExtendBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isBackPaddleExtendBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_back_paddle_collect) {
+                // 鍚庢嫧鏉嗘敹璧�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isBackPaddleCollectBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isBackPaddleCollectBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_rise) {
+                // 涓婂崌
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isRiseBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isRiseBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_drop) {
+                // 涓嬮檷
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isDropBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isDropBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_extend_fork) {
+                // 浼稿弶
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isExtendForkBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isExtendForkBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_collect_fork) {
+                // 鏀跺弶
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isCollectForkBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isCollectForkBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_turn_left) {
+                // 宸︽棆杞�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isTurnLeftBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isTurnLeftBtn = false;
+                }
+            } else if (view.getId() == R.id.btn_turn_right) {
+                // 宸︽棆杞�
+                if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    isTurnRightBtn = true;
+                    handler.sendEmptyMessage(0);
+                } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
+                    isTurnRightBtn = false;
+                }
             }
+
             return false;
 
         }

--
Gitblit v1.9.1