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