app/src/main/java/com/example/agvcontroller/MainActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/action/HandInAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/action/HandOutAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/example/agvcontroller/MainActivity.java
@@ -45,24 +45,29 @@ private boolean isDowm = false; private boolean isOpen = false; String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,16); private Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15); AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) .setAgvNo("1") .setSerialNo(substring) .setVal(1) .bodySync((action) -> action.setPwd((short) 21)); if (isDowm) { System.out.println(agvAction); AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) .setAgvNo("1") .setSerialNo(substring) .setVal(1) .bodySync((action) -> action.setPwd((short) 21)); nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 // handler.sendEmptyMessageDelayed(0, 100); handler.sendEmptyMessageDelayed(0, 100); } if (isOpen) { AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) .setAgvNo("12") .setSerialNo(substring) .setVal(1) .bodySync((action) -> action.setPwd((short) 21)); nettyServerHandler.sendMessageToClient(clientId, agvAction); // 发送消息到客户端 handler.sendEmptyMessageDelayed(0, 100); } return false; } @@ -87,13 +92,13 @@ 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("12") @@ -114,15 +119,19 @@ @Override public boolean onTouch(View view, MotionEvent motionEvent) { 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; } } else if (view.getId() == R.id.btn_go_backward) { if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { isOpen = true; handler.sendEmptyMessage(0); } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { isOpen = false; } } return false; } app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java
New file @@ -0,0 +1,32 @@ package com.example.agvcontroller.action; import com.example.agvcontroller.protocol.IActionBody; import com.example.agvcontroller.socket.RadixTools; import java.io.Serializable; public class ForceStopAction implements IActionBody, Serializable { private static final long serialVersionUID = -3250235107705010316L; private Short pwd; @Override public byte[] writeToBytes() { byte[] bytes = RadixTools.shortToByte(pwd); return bytes; } @Override public void readFromBytes(byte[] messageBodyBytes) { } public Short getPwd() { return pwd; } public void setPwd(Short pwd) { this.pwd = pwd; } } app/src/main/java/com/example/agvcontroller/action/HandInAction.java
New file @@ -0,0 +1,32 @@ package com.example.agvcontroller.action; import com.example.agvcontroller.protocol.IActionBody; import com.example.agvcontroller.socket.RadixTools; import java.io.Serializable; public class HandInAction implements IActionBody, Serializable { private static final long serialVersionUID = -3250235107705010316L; private Short pwd; @Override public byte[] writeToBytes() { byte[] bytes = RadixTools.shortToByte(pwd); return bytes; } @Override public void readFromBytes(byte[] messageBodyBytes) { } public Short getPwd() { return pwd; } public void setPwd(Short pwd) { this.pwd = pwd; } } app/src/main/java/com/example/agvcontroller/action/HandOutAction.java
New file @@ -0,0 +1,32 @@ package com.example.agvcontroller.action; import com.example.agvcontroller.protocol.IActionBody; import com.example.agvcontroller.socket.RadixTools; import java.io.Serializable; public class HandOutAction implements IActionBody, Serializable { private static final long serialVersionUID = -3250235107705010316L; private Short pwd; @Override public byte[] writeToBytes() { byte[] bytes = RadixTools.shortToByte(pwd); return bytes; } @Override public void readFromBytes(byte[] messageBodyBytes) { } public Short getPwd() { return pwd; } public void setPwd(Short pwd) { this.pwd = pwd; } } app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java
New file @@ -0,0 +1,32 @@ package com.example.agvcontroller.action; import com.example.agvcontroller.protocol.IActionBody; import com.example.agvcontroller.socket.RadixTools; import java.io.Serializable; public class SingleSwitchAction implements IActionBody, Serializable { private static final long serialVersionUID = -3250235107705010316L; private Short pwd; @Override public byte[] writeToBytes() { byte[] bytes = RadixTools.shortToByte(pwd); return bytes; } @Override public void readFromBytes(byte[] messageBodyBytes) { } public Short getPwd() { return pwd; } public void setPwd(Short pwd) { this.pwd = pwd; } } app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java
New file @@ -0,0 +1,32 @@ package com.example.agvcontroller.action; import com.example.agvcontroller.protocol.IActionBody; import com.example.agvcontroller.socket.RadixTools; import java.io.Serializable; public class SingleSwitchRunAction implements IActionBody, Serializable { private static final long serialVersionUID = -3250235107705010316L; private Short pwd; @Override public byte[] writeToBytes() { byte[] bytes = RadixTools.shortToByte(pwd); return bytes; } @Override public void readFromBytes(byte[] messageBodyBytes) { } public Short getPwd() { return pwd; } public void setPwd(Short pwd) { this.pwd = pwd; } } app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java
@@ -1,16 +1,25 @@ package com.example.agvcontroller.protocol; import com.example.agvcontroller.action.ForceStopAction; import com.example.agvcontroller.action.ForceSwitchAction; import com.example.agvcontroller.action.HandInAction; import com.example.agvcontroller.action.HandOutAction; import com.example.agvcontroller.action.SingleSwitchAction; import com.example.agvcontroller.action.SingleSwitchRunAction; public enum HandleCmdType { HAND_OUT(0x00, "推出手动模式", HandOutAction.class), HAND_OUT(0x00, "退出手动模式", HandOutAction.class), HAND_IN(0x01, "进入手动模式", HandInAction.class), FORCE_SWITCH(0x80, "开启/关闭强制", ForceSwitchAction.class), SINGLE_SWITCH(0x8C , "单轴使能", SingleSwitchAction.class), SINGLE_SWITCH_RUN(0x8C , "强制单轴点动", SingleSwitchRunAction.class), FORCE_STOP(0xF0, "急停", ForceStopAction.class), ; public int cmdCode;