From fe9f146f29c677fc164b613a1b900e045366586f Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 04 一月 2025 08:25:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

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

diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index b77dcb1..6157c46 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -16,12 +16,17 @@
 import android.view.MotionEvent;
 import android.view.View;
 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;
@@ -50,10 +55,43 @@
     private Button goForwardBtn;  // 鍓嶈繘
     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 cameraResetBtn;
+    private Button loadResetBtn;
+    private Button forkResetBtn;
+    private Button gyroResetBtn;
+    private Button liftResetBtn;
+    private Button allResetBtn;
+
+
+    private Button bodySwitchBtn; // 搴曠洏/璐у弶鍒囨崲
     private Socket socket;
     private String AgvNo = "12";
+    private RelativeLayout layout_bottom;
+    private RelativeLayout layout_top;
+    private RelativeLayout layout_single;
+    private RelativeLayout layout_reset;
+
+    int liftHeight = 400;
+    int extendWidth = -450;
+    int angle = -91;  // 7 搴�
+
+
     SocketManager socketManager;
 
+
+    //    鎸夐挳闀挎寜浜嬩欢
     private int autoVal = 1;
     private boolean isAuto = true;
     private boolean isGoForward = false;
@@ -61,9 +99,23 @@
     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;
 
 
 
+
+
+
+    // 搴曠洏鍓嶈繘銆佸悗閫�銆佸乏鏃嬭浆銆佸彸鏃嬭浆
     private Handler handler = new Handler(new Handler.Callback() {
         @Override
         public boolean handleMessage(Message msg) {
@@ -75,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);
@@ -107,6 +159,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) 1));
+//                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) 0));
+//                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) 1));
+//                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) 0));
+//                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;
         }
     });
@@ -125,30 +288,347 @@
 //        forceSwitchBtn = findViewById(R.id.btn_force_switch);
         goForwardBtn = findViewById(R.id.btn_go_forward);
         goBackwardBtn = findViewById(R.id.btn_go_backward);
-        rotatopnLeftBtn = findViewById(R.id.btn_go_backward);
-        rotatopnRightBtn = findViewById(R.id.btn_go_forward);
+        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);
+
+        layout_bottom = findViewById(R.id.layout_bottom);
+        layout_top = findViewById(R.id.layout_top);
+        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);
 
-        // 寮哄埗妯″紡寮�鍏�
-//        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(AgvNo)
-//                        .setSerialNo(substring)
-//                        .setVal(1)
-//                        .bodySync((action) -> action.setPwd((short) 21));
-//                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
-//            }
-//        });
+        // 鍓嶆嫧鏉嗕几鍑�
+        frontPaddleExtendBtn.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); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 鍓嶆嫧鏉嗘敹璧�
+        frontPaddleCollectBtn.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) 0));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 鍚庢嫧鏉嗕几鍑�
+        backPaddleExtendBtn.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<>(BackPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 1));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 鍚庢嫧鏉嗘敹璧�
+        backPaddleCollectBtn.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<>(BackPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .bodySync((action) -> action.setPwd((short) 0));
+                nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
+
+        // 涓婂崌
+        riseBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (vibrator != null && vibrator.hasVibrator()) {
+                    vibrator.vibrate(500);
+                }
+                if (liftHeight <= 3200) {
+                    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) liftHeight));
+                    nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                    liftHeight += 100;
+                } else {
+                    DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
+
+            }
+        });
+
+        // 涓嬮檷
+        dropBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (vibrator != null && vibrator.hasVibrator()) {
+                    vibrator.vibrate(500);
+                }
+
+                if (liftHeight >= 400) {
+                    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) liftHeight));
+                    nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+                    liftHeight -= 100;
+                } else {
+                    DialogUtil.showAlertDialog(MainActivity.this, "鎻愮ず", "宸茶秴鏈�灏忓�硷紒");
+                }
+            }
+        });
+
+        // 浼稿嚭
+        extendForkBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (vibrator != null && vibrator.hasVibrator()) {
+                    vibrator.vibrate(500);
+                }
+                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, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
+
+            }
+        });
+
+        // 鏀跺弶
+        collectForkBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (vibrator != null && vibrator.hasVibrator()) {
+                    vibrator.vibrate(500);
+                }
+                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, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
+            }
+        });
+
+        // 宸︽棆
+        turnLeftBtn.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, "鎻愮ず", "宸茶秴鏈�澶у�硷紒");
+                }
+            }
+        });
+
+        // 鍙虫棆
+        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<>(FrontPaddle.class)
+                        .setAgvNo(AgvNo)
+                        .setSerialNo(substring)
+                        .setVal(1)
+                        .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); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+            }
+        });
 
         // 鎵嬭嚜鍔ㄦā寮忓紑鍏�
         modelSwitchBtn.setOnClickListener(new View.OnClickListener() {
@@ -174,14 +654,8 @@
                     nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
                 }
 
-
-
-
-
                 boolean result = false;
                 long timestamp = System.currentTimeMillis();
-
-                Log.i("substring",substring);
                 while (System.currentTimeMillis() - timestamp < 5000) {
 
                     Object o = map.get(substring);
@@ -211,11 +685,24 @@
                 }
             }
         });
+
+        // 鐐瑰姩鎸夐挳
         stopBtn.setOnTouchListener(new CarTouchButton());
         goForwardBtn.setOnTouchListener(new CarTouchButton());
         goBackwardBtn.setOnTouchListener(new CarTouchButton());
         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());
 
     }
 
@@ -223,6 +710,7 @@
 
         @Override
         public boolean onTouch(View view, MotionEvent motionEvent) {
+
             if (view.getId() == R.id.btn_go_forward) {
                 // 鍓嶈繘
                 if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
@@ -231,6 +719,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) {
@@ -239,6 +728,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) {
@@ -247,6 +737,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) {
@@ -256,10 +747,49 @@
                     isRotatopnRight = false;
                 }
             }
+
+
             return false;
+
         }
     }
 
+    private boolean isVisble = true;
+
+    // 璐у弶绛夋寜閽�
+    public void switchover(View view) {
+        if (isVisble) {
+            layout_bottom.setVisibility(View.GONE);
+            layout_top.setVisibility(View.VISIBLE);
+            bodySwitchBtn.setText("璐у弶");
+        } else {
+            layout_bottom.setVisibility(View.VISIBLE);
+            layout_top.setVisibility(View.GONE);
+            bodySwitchBtn.setText("搴曠洏");
+        }
+        isVisble = !isVisble;
+
+        layout_single.setVisibility(View.GONE);
+        layout_reset.setVisibility(View.GONE);
+
+    }
+
+    // 鍗曡酱浣胯兘鎸夐挳
+    public void switchSingle(View view) {
+        layout_bottom.setVisibility(View.GONE);
+        layout_top.setVisibility(View.GONE);
+        layout_single.setVisibility(View.VISIBLE);
+        layout_reset.setVisibility(View.GONE);
+    }
+
+    // 澶嶄綅鎸夐挳
+    public void switchRest(View view) {
+        layout_bottom.setVisibility(View.GONE);
+        layout_top.setVisibility(View.GONE);
+        layout_single.setVisibility(View.GONE);
+        layout_reset.setVisibility(View.VISIBLE);
+    }
+
     @Override
     protected void onDestroy() {
         super.onDestroy();

--
Gitblit v1.9.1