#
whycq
2024-08-15 4e3fdde993a3ae960eedf1c1df8341583d7825da
#
2个文件已修改
5个文件已添加
210 ■■■■■ 已修改文件
app/src/main/java/com/example/agvcontroller/MainActivity.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/action/ForceStopAction.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/action/HandInAction.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/action/HandOutAction.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/action/SingleSwitchAction.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/action/SingleSwitchRunAction.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/protocol/HandleCmdType.java 11 ●●●●● 补丁 | 查看 | 原始文档 | 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;