‘liusuyi’
2024-03-15 f485e99f717c8f4388dfb51010e41c0be62b62d8
src/main/java/com/ard/utils/netty/tcp/ClientHandler.java
@@ -21,6 +21,7 @@
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import static com.ard.utils.netty.tcp.ClientInitialize.aroundScanfMap;
import static com.ard.utils.util.ByteUtils.toLittleEndian;
/**
@@ -211,6 +212,36 @@
            String alarmTime = "";
            Integer targetNum = 0;
            log.debug("处理雷达" + radarName + "数据-->命令ID:" + cmdIdStr);
            //前端工作状态反馈
            if (Arrays.equals(cmdId, new byte[]{0x00})) {
                //region 告警信息反馈
                byte[] dfScanAngV = Arrays.copyOfRange(data, 4, 12);
                dfScanAngV = toLittleEndian(dfScanAngV);
                double ScanAngV = ByteUtils.bytesToDouble(dfScanAngV);
                log.info("设备扫描的俯仰角度:" + ScanAngV);
                byte[] dfAngDy = Arrays.copyOfRange(data, 12, 20);
                dfAngDy = toLittleEndian(dfAngDy);
                double AngDy = ByteUtils.bytesToDouble(dfAngDy);
                log.info("周视图像的垂直视场角度:" + AngDy);
                byte[] iImgW = Arrays.copyOfRange(data, 20, 24);
                iImgW = toLittleEndian(iImgW);
                int ImgW = ByteUtils.bytesToDecimal(iImgW);
                log.info("周视图像的宽:" + ImgW);
                byte[] iImgH = Arrays.copyOfRange(data, 24, 28);
                iImgH = toLittleEndian(iImgH);
                int ImgH = ByteUtils.bytesToDecimal(iImgH);
                log.info("周视图像的高:" + ImgH);
                byte[] cStat = Arrays.copyOfRange(data, 28, 29);
                // 提取第4位至第6位的值
                cStat = toLittleEndian(cStat);
                int Stat = cStat[0] & 0b00000001;
                log.info("设备当前工作状态:" + Stat);
                aroundScanfMap.put(radar.getIp()+":"+radar.getPort(),Stat);
            }
            //雷达移动防火报警
            if (Arrays.equals(cmdId, new byte[]{0x01})) {
                //region 告警信息反馈