From 98e96b71e1866cf1f3315d15b5ae7ced6447519e Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 04 一月 2025 08:25:16 +0800
Subject: [PATCH] #

---
 app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java |   18 +++
 app/src/main/java/com/example/agvcontroller/MainActivity.java           |  269 ++++++++++++++++++++++++++++++++---------------------
 gradle/wrapper/gradle-wrapper.properties                                |    3 
 3 files changed, 183 insertions(+), 107 deletions(-)

diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index dff8a4c..6157c46 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -67,6 +67,13 @@
     private Button turnLeftBtn;
     private Button turnRightBtn;
 
+    private Button cameraResetBtn;
+    private Button loadResetBtn;
+    private Button forkResetBtn;
+    private Button gyroResetBtn;
+    private Button liftResetBtn;
+    private Button allResetBtn;
+
 
     private Button bodySwitchBtn; // 搴曠洏/璐у弶鍒囨崲
     private Socket socket;
@@ -77,7 +84,8 @@
     private RelativeLayout layout_reset;
 
     int liftHeight = 400;
-    int extendWidth = 0;
+    int extendWidth = -450;
+    int angle = -91;  // 7 搴�
 
 
     SocketManager socketManager;
@@ -107,6 +115,7 @@
 
 
 
+    // 搴曠洏鍓嶈繘銆佸悗閫�銆佸乏鏃嬭浆銆佸彸鏃嬭浆
     private Handler handler = new Handler(new Handler.Callback() {
         @Override
         public boolean handleMessage(Message msg) {
@@ -118,7 +127,7 @@
                         .setVal(1)
                         .bodySync((action) -> action.setPwd((short) 10));
                 nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
-                handler.sendEmptyMessageDelayed(0, 100);
+                handler.sendEmptyMessageDelayed(0, 100);  //  100ms 鍚庡彂閫佷笅涓�鏉℃秷鎭�
             }
             if (isGoBackward) {
                 String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
@@ -301,6 +310,16 @@
         layout_single = findViewById(R.id.layout_single);
         layout_reset = findViewById(R.id.layout_reset);
 
+
+        cameraResetBtn = findViewById(R.id.btn_camera_reset);
+        loadResetBtn = findViewById(R.id.btn_load_reset);
+        forkResetBtn = findViewById(R.id.btn_fork_reset);
+        gyroResetBtn = findViewById(R.id.btn_gyro_reset);
+        liftResetBtn = findViewById(R.id.btn_lift_reset);
+        allResetBtn = findViewById(R.id.btn_all_reset);
+
+
+
         Intent intent = getIntent();
         clientId = intent.getStringExtra("message");
         Log.i("message1",clientId);
@@ -380,7 +399,7 @@
                 if (vibrator != null && vibrator.hasVibrator()) {
                     vibrator.vibrate(500);
                 }
-                if (liftHeight >= 3200) {
+                if (liftHeight <= 3200) {
                     String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
                     AgvAction agvAction = new AgvAction<>(HandLift.class)
                             .setAgvNo(AgvNo)
@@ -426,7 +445,7 @@
                 if (vibrator != null && vibrator.hasVibrator()) {
                     vibrator.vibrate(500);
                 }
-                if (liftHeight >= 3200) {
+                if (extendWidth <= 450) {
                     String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16);
                     AgvAction agvAction = new AgvAction<>(HandExtendCollect.class)
                             .setAgvNo(AgvNo)
@@ -434,7 +453,7 @@
                             .setVal(1)
                             .bodySync((action) -> action.setPwd((short) 21));
                     nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
-                    liftHeight += 100;
+                    extendWidth += 50;
                 } else {
                     DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
                 }
@@ -442,53 +461,171 @@
             }
         });
 
-        // 鏀惰捣
-        frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() {
+        // 鏀跺弶
+        collectForkBtn.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<>(HandExtendCollect.class)
-                        .setAgvNo(AgvNo)
-                        .setSerialNo(substring)
-                        .setVal(1)
-                        .bodySync((action) -> action.setPwd((short) 21));
-                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                if (extendWidth >= -450) {
+                    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) 21));
+                    nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔埛绔�
+                    extendWidth -= 50;
+                } else {
+                    DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
             }
         });
 
         // 宸︽棆
-        frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() {
+        turnLeftBtn.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<>(HandForkRotatopn.class)
-                        .setAgvNo(AgvNo)
-                        .setSerialNo(substring)
-                        .setVal(1)
-                        .bodySync((action) -> action.setPwd((short) 21));
-                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                if (angle <= 91) {
+                    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) 21));
+                    nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                    angle += 7;
+                } else {
+                    DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
             }
         });
 
         // 鍙虫棆
-        frontPaddleExtendBtn.setOnClickListener(new View.OnClickListener() {
+        turnRightBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (vibrator != null && vibrator.hasVibrator()) {
+                    vibrator.vibrate(500);
+                }
+                if (angle >= -91) {
+                    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) 21));
+                    nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                    angle -= 7;
+                } else {
+                    DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�灏忓�硷紒");
+                }
+
+            }
+        });
+
+        // 鐩告満澶嶄綅鎸夐挳
+        cameraResetBtn.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<>(HandForkRotatopn.class)
+                AgvAction agvAction = new AgvAction<>(FrontPaddle.class)
                         .setAgvNo(AgvNo)
                         .setSerialNo(substring)
                         .setVal(1)
-                        .bodySync((action) -> action.setPwd((short) 21));
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 璺緞娓呴櫎鎸夐挳
+        loadResetBtn.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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 璐у弶褰掗浂鎸夐挳
+        forkResetBtn.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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 闄�铻轰华澶嶄綅鎸夐挳
+        gyroResetBtn.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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 鍗囬檷褰掗浂鎸夐挳
+        liftResetBtn.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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 鏁存満澶嶄綅鎸夐挳
+        allResetBtn.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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
                 nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
             }
         });
@@ -610,87 +747,7 @@
                     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;
 
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 f961e6a..291998d 100644
--- a/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
+++ b/app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
@@ -1,15 +1,21 @@
 package com.example.agvcontroller.protocol;
 
+import com.example.agvcontroller.action.AllResetAction;
 import com.example.agvcontroller.action.BackPaddle;
+import com.example.agvcontroller.action.CameraResetAction;
 import com.example.agvcontroller.action.ForceStopAction;
 import com.example.agvcontroller.action.ForceSwitchAction;
+import com.example.agvcontroller.action.ForkResetAction;
 import com.example.agvcontroller.action.ForwardBackAction;
 import com.example.agvcontroller.action.FrontPaddle;
+import com.example.agvcontroller.action.GyroResetAction;
 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.HandOutAction;
+import com.example.agvcontroller.action.LiftResetAction;
+import com.example.agvcontroller.action.LoadResetAction;
 import com.example.agvcontroller.action.RotatopnLeftRight;
 import com.example.agvcontroller.action.SingleSwitchAction;
 import com.example.agvcontroller.action.SingleSwitchRunAction;
@@ -28,6 +34,18 @@
 
     FORCE_STOP(0xF0, "鎬ュ仠", ForceStopAction.class),
 
+    ALL_RESET(0x60, "鏁存満澶嶄綅", AllResetAction.class),
+
+    CAMERA_RESET(0x61, "鐩告満澶嶄綅", CameraResetAction.class),
+
+    GYRO_RESET(0x62, "闄�铻轰华澶嶄綅", GyroResetAction.class),
+
+    LOAD_RESET(0x65, "娓呴櫎璺緞", LoadResetAction.class),
+
+    FORK_RESET(0x66, "璐у弶褰掗浂", ForkResetAction.class),
+
+    LIFT_RESET(0x68, "鍗囬檷褰掗浂", LiftResetAction.class),
+
     FORWARD_BACK(0x81, "鐐瑰姩鍓嶈繘锛堝悗閫�锛�", ForwardBackAction.class),
 
     ROTATOPN_LEFT_RIGHT(0x82, "鐐瑰姩鏃嬭浆锛堝簳鐩橈級", RotatopnLeftRight.class),
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 37b9952..03b3571 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
 #Mon Jul 29 18:35:09 CST 2024
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
+#distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
+distributionUrl=file:///D:/workspace/AGV_Controller/gradle/wrapper/gradle-8.0-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

--
Gitblit v1.9.1