pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java
@@ -1,6 +1,6 @@
package com.dy.common.mw.protocol.p206V202404.parse.global;
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
import com.dy.common.mw.protocol.p206V202404.CommonV202404;
import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
import com.dy.common.util.ByteUtil;
@@ -32,7 +32,7 @@
        index++ ;
        GlCreate.createRtuAddr(rtuAddr, bsHead, index);
        index += 7 ;
        index += 8 ;
        ByteUtil.hex2Bytes(commandCode, bsHead, index) ;
        return bsHead ;
@@ -95,12 +95,12 @@
    }
    public static void createDt(byte[] bs, int index) throws Exception {
        bs[index] = Byte.parseByte(DateTime.ss()) ;
        bs[index + 1] = Byte.parseByte(DateTime.mm()) ;
        bs[index + 2] = Byte.parseByte(DateTime.HH()) ;
        bs[index + 3] = Byte.parseByte(DateTime.dd()) ;
        bs[index + 4] = Byte.parseByte(DateTime.MM()) ;
        bs[index + 5] = Byte.parseByte(DateTime.yy()) ;
        ByteUtil.string2BCD_BE(bs, DateTime.ss(), index) ; ;
        ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ;
        ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ;
        ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ;
        ByteUtil.string2BCD_BE(bs, DateTime.MM(), index + 4) ;
        ByteUtil.string2BCD_BE(bs, DateTime.yy(), index + 5) ;
    }
@@ -110,31 +110,46 @@
    }
    public static void createTp(byte[] bs, int index) throws Exception {
        bs[index] = Byte.parseByte(DateTime.ss()) ;
        bs[index + 1] = Byte.parseByte(DateTime.mm()) ;
        bs[index + 2] = Byte.parseByte(DateTime.HH()) ;
        bs[index + 3] = Byte.parseByte(DateTime.dd()) ;
        bs[index + 4] = (byte)(DateTime.week_Int().byteValue() << 5 | Byte.parseByte(DateTime.MM())) ;
        bs[index + 5] = Byte.parseByte(DateTime.yy()) ;
        ByteUtil.string2BCD_BE(bs, DateTime.ss(), index) ; ;
        ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ;
        ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ;
        ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ;
        byte week = DateTime.week_Int().byteValue() ;
        byte month = Byte.parseByte(DateTime.MM()) ;
        if(month < 10){
            bs[index + 4] = (byte)((week << 5) | month) ;
        }else{
            bs[index + 4] = (byte)((week << 5) | 0x10 | (month - 10)) ;
        }
        ByteUtil.string2BCD_BE(bs, DateTime.yy(), index + 5) ;
    }
    public static void createS2D(byte[] bs, int index) throws Exception {
        bs[index] = Byte.parseByte(DateTime.ss()) ;
        bs[index + 1] = Byte.parseByte(DateTime.mm()) ;
        bs[index + 2] = Byte.parseByte(DateTime.HH()) ;
        bs[index + 3] = Byte.parseByte(DateTime.dd()) ;
        ByteUtil.string2BCD_BE(bs, DateTime.ss(), index) ; ;
        ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ;
        ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ;
        ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ;
    }
    public static void createLen(byte[] bsNoTail) throws Exception {
        int len = bsNoTail.length - ProtocolConstantV206V1_0_0.lenHead2ctrl;
        bsNoTail[ProtocolConstantV206V1_0_0.dataLenIndex] = (byte)len ;
        int len = bsNoTail.length - ProtocolConstantV206V1.lenHead2ctrl;
        bsNoTail[ProtocolConstantV206V1.dataLenIndex] = (byte)len ;
    }
    public static byte[] createCrcTail(byte[] bsNoTail) throws Exception {
        int crc = new CRC8_for_2_0().CRC8(bsNoTail, ProtocolConstantV206V1_0_0.ctrlIndex, bsNoTail.length -1) ;
        byte[] bytes = new byte[ProtocolConstantV206V1_0_0.lenTail] ;
        int crc = new CRC8_for_2_0().CRC8(bsNoTail, ProtocolConstantV206V1.ctrlIndex, bsNoTail.length -1) ;
        byte[] bytes = new byte[ProtocolConstantV206V1.lenTail] ;
        bytes[0] = (byte)crc ;
        bytes[1] = ProtocolConstantV206V1_0_0.P_Tail_Byte ;
        bytes[1] = ProtocolConstantV206V1.P_Tail_Byte ;
        return bytes ;
    }
    public static void main(String[] args)throws Exception{
        byte[] bs = new byte[6] ;
        createTp(bs, 0) ;
        String hex = ByteUtil.bytes2Hex(bs,true, 0, 6) ;
        System.out.println(hex);
    }
}