From eb0cfac6e7fbab4ace0ac63d419036a700f7e905 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 15 八月 2024 14:19:22 +0800
Subject: [PATCH] #
---
app/src/main/java/com/example/agvcontroller/MainActivity.java | 82 +++++++++++++++++++++++------------------
app/src/main/res/layout/activity_main.xml | 16 ++++++++
app/src/main/java/com/example/agvcontroller/protocol/AgvAction.java | 2
3 files changed, 63 insertions(+), 37 deletions(-)
diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java
index 6bda580..9eba106 100644
--- a/app/src/main/java/com/example/agvcontroller/MainActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -32,16 +32,25 @@
private ItemAdapter itemAdapter;
private List<Item> itemList;
private Vibrator vibrator;
- private Button vibrateButton;
+ private Button stopBtn; // 鎬ュ仠鎸夐挳
+ private Button forceSwitchBtn; // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏�
+ private Button rotatopnRightBtn; // 鍙虫棆杞�
+ private Button rotatopnLeftBtn; // 宸︽棆杞�
+ private Button goForwardBtn; // 鍓嶈繘
+ private Button goBackwardBtn; // 鍚庨��
private Socket socket;
SocketManager socketManager;
private boolean isDowm = false;
+ private boolean isOpen = false;
+
+
+
private Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
- String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,3);
+ String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15);
AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
.setAgvNo("1")
@@ -52,7 +61,6 @@
if (isDowm) {
System.out.println(agvAction);
-// byte[] message2 = new byte[]{0x01, 0x02, 0x03, 0x06}; // 绀轰緥娑堟伅
nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
// handler.sendEmptyMessageDelayed(0, 100);
}
@@ -62,45 +70,42 @@
String clientId;
NettyServerHandler nettyServerHandler;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ // 鎸夐挳闇囧姩
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
- vibrateButton = findViewById(R.id.btn_stop);
+ stopBtn = findViewById(R.id.btn_stop);
+ forceSwitchBtn = findViewById(R.id.btn_force_switch);
+ goForwardBtn = findViewById(R.id.btn_go_forward);
+ goBackwardBtn = findViewById(R.id.btn_go_backward);
Intent intent = getIntent();
clientId = intent.getStringExtra("message");
Log.i("message1",clientId);
- // 鍒濆鍖栧崟杞翠娇鑳�
- int single = 9;
- int len = PackagePart.UNIQUENO.getLen()
- + PackagePart.TIMESTAMP.getLen()
- + PackagePart.COMMAND_MARK.getLen()
- + 16 + 1 + 1 + 1;
- for (int i = 0; i < single; i++) {
- }
- byte[] message2 = new byte[]{0x01, 0x02, 0x03, 0x06}; // 绀轰緥娑堟伅
- nettyServerHandler.sendMessageToClient(clientId, message2); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+ 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,15);
- //vibrateButton.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View v) {
- // if (vibrator != null && vibrator.hasVibrator()) {
- // //vibrator.vibrate(500);
- // }
- //
- // //String clientId = "/192.168.4.188:63160";
- // byte[] message1 = new byte[]{0x01, 0x02, 0x03, 0x04}; // 绀轰緥娑堟伅
- // Log.i("message2",clientId);
- // Log.i("message3", Arrays.toString(message1));
- //
- // nettyServerHandler.sendMessageToClient(clientId, message1); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
- // }
- //});
- vibrateButton.setOnTouchListener(new CarTouchButton());
+ AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class)
+ .setAgvNo("12")
+ .setSerialNo(substring)
+ .setVal(1)
+ .bodySync((action) -> action.setPwd((short) 21));
+ nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔�
+ }
+ });
+ stopBtn.setOnTouchListener(new CarTouchButton());
+ goForwardBtn.setOnTouchListener(new CarTouchButton());
+ goBackwardBtn.setOnTouchListener(new CarTouchButton());
}
@@ -108,20 +113,25 @@
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
- if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) {
- isDowm = true;
- handler.sendEmptyMessage(0);
- } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) {
- isDowm = false;
+ 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;
+ }
}
return false;
}
}
+
@Override
protected void onDestroy() {
super.onDestroy();
//SocketManager.getInstance().disconnect();
-
//SocketManager.getInstance().stopServer();
//socketManager.stopServer(); // 鍋滄鏈嶅姟鍣�
}
diff --git a/app/src/main/java/com/example/agvcontroller/protocol/AgvAction.java b/app/src/main/java/com/example/agvcontroller/protocol/AgvAction.java
index 85c8775..4746c25 100644
--- a/app/src/main/java/com/example/agvcontroller/protocol/AgvAction.java
+++ b/app/src/main/java/com/example/agvcontroller/protocol/AgvAction.java
@@ -42,7 +42,7 @@
byte[] bytes = actionBody.writeToBytes(); // 鍛戒护鍙傛暟
- return Utils.merge(cmdCode,valByte,bytes);
+ return Utils.merge(serialNoBytes,cmdCode, valByte, bytes);
}
void readFromBytes(byte[] messageBodyBytes) {
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 946ce67..94f6cd6 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -98,6 +98,22 @@
android:minWidth="10dp"
android:backgroundTint="#2196F3" />
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/btn_force_switch"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鎵嬪姩"
+ android:layout_marginLeft="20sp"
+ android:layout_centerVertical="true"
+ android:layout_alignParentLeft="true"
+ app:cornerRadius="5dp"
+ android:paddingLeft="10dp"
+ android:paddingRight="10dp"
+ android:minWidth="10dp"
+ android:layout_alignLeft="@+id/btn_rotatopn_left"
+ android:layout_alignBottom="@+id/btn_go_forward"
+ android:backgroundTint="#2196F3" />
+
</RelativeLayout>
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
--
Gitblit v1.9.1