DELL
2025-04-28 e6eb7fb0af366e370f125668d62e89eb0004f517
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.dev.bts.data;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;
 
public class FBS9100S_SystemControl  implements Cloneable{
    
    public static final int BYTE_LEN = 48;
    
    public int HostType;    
    public int IsEnableHost;            //Ö÷´Ó¿ØÖÆ
    public int IsEnableDry;                //ÊÇ·ñÆôÓà¸É½Óµã
    public int YHState;                    
    public int IsEnableNBCMode;            //Æô¶¯Äæ±ä³äµç״̬    
    public int IsEnableAntiState;        //Æô¶¯·ÀÀׯ÷״̬
    public int IsEnableTwoInfo;            //ÆôÓÃÁ½×鹨ÁªÐÅÏ¢
    public int IsEnableDCML;            //ÆôÓÃĸÁª¹¤×÷
    public int IsEnableAes;                //ÊÇ·ñʹÓüÓÃÜ
    public int IsEnableJHMode;            //ÊÇ·ñʹÓþùºâ(¾ùºâÆôÓÃ)
    public int IsEnableLouYeMode;        //ÊÇ·ñʹÓéҺ¹¦ÄÜ
    public int back[] = new int[12];
    public int CRC;
    
    
    public FBS9100S_SystemControl clone()
    {
        FBS9100S_SystemControl obj = null;  
        try
        {
            obj = (FBS9100S_SystemControl)super.clone();
        }
        catch(CloneNotSupportedException e)
        {
            e.printStackTrace();
        }
        return obj;
    }
    
    public void clear()
    {
        this.HostType = 0;                //Ö÷´Ó»úÀàÐÍ£º0-Ö÷»úģʽ     1-´Ó»úģʽ
        this.IsEnableHost = 0;            //Ö÷´Ó¿ØÖÆ
        this.IsEnableDry = 0;            //·ñÆôÓà¸É½Óµã
        this.YHState = 0;                    
        this.IsEnableNBCMode = 0;        //Æô¶¯Äæ±ä³äµç״̬    
        this.IsEnableAntiState = 0;        //Æô¶¯·ÀÀׯ÷״̬
        this.IsEnableTwoInfo = 0;        //ÆôÓÃÁ½×鹨ÁªÐÅÏ¢
        this.IsEnableDCML = 0;            //ÆôÓÃĸÁª¹¤×÷
        this.IsEnableAes = 0;            //ÊÇ·ñʹÓüÓÃÜ
        this.IsEnableJHMode = 0;        //ÊÇ·ñʹÓþùºâ(¾ùºâÆôÓÃ)
        this.IsEnableLouYeMode = 0;        //ÊÇ·ñʹÓéҺ¹¦ÄÜ
        for(int i =0;i<back.length;i++) {
            this.back[i] = 0;
        }
        this.CRC = 0;
    }
    
    public boolean putByteBuffer(final ByteBuffer bf)
    {
        if(bf.limit() < BYTE_LEN) {
            return false;
        }
        ByteBuffer tmpbuf = bf;
        int crc0 = tmpbuf.getShort(BYTE_LEN-2) & 0xFFFF;
        int crc1 = FBS9100_Crc16.CalCRC16(tmpbuf, BYTE_LEN-2);
    
        //System.err.println(crc0 +"!="+ crc1);
        if(crc0 != crc1) {
            System.err.println("FBS9100S_SystemControl.putByteBuffer():"+crc0 +"!="+ crc1);
            return false;
        }
        tmpbuf.position(0);
        
        this.HostType = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                //Ö÷´Ó»úÀàÐÍ£º0-Ö÷»úģʽ     1-´Ó»úģʽ
        this.IsEnableHost = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());            //Ö÷´Ó¿ØÖÆ
        this.IsEnableDry = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                //ÊÇ·ñÆôÓà¸É½Óµã
        this.YHState = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                    
        this.IsEnableNBCMode = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());            //Æô¶¯Äæ±ä³äµç״̬    
        this.IsEnableAntiState = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());        //Æô¶¯·ÀÀׯ÷״̬
        this.IsEnableTwoInfo = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());            //ÆôÓÃÁ½×鹨ÁªÐÅÏ¢
        this.IsEnableDCML = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());            //ÆôÓÃĸÁª¹¤×÷
        this.IsEnableAes = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());                //ÊÇ·ñʹÓüÓÃÜ
        this.IsEnableJHMode = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());            //ÊÇ·ñʹÓþùºâ(¾ùºâÆôÓÃ)
        this.IsEnableLouYeMode = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());        //ÊÇ·ñʹÓéҺ¹¦ÄÜ
 
        for(int i =0;i<back.length;i++) {
            back[i] = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        }
 
        this.CRC = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
 
        System.out.println(this);
        
        tmpbuf.compact();
        tmpbuf.flip();
        
        return true;
    }
    
    public ByteBuffer getByteBuffer()
    {
        ByteBuffer bytebuffer = ByteBuffer.allocate(BYTE_LEN);
        bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
        
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.HostType));                //Ö÷´Ó»úÀàÐÍ£º0-Ö÷»úģʽ     1-´Ó»úģʽ                
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableHost));            //Ö÷´Ó¿ØÖÆ
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableDry));            //ÊÇ·ñÆôÓà¸É½Óµã
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.YHState));                    
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableNBCMode));        //Æô¶¯Äæ±ä³äµç״̬    
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableAntiState));        //Æô¶¯·ÀÀׯ÷״̬
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableTwoInfo));        //ÆôÓÃÁ½×鹨ÁªÐÅÏ¢
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableDCML));            //ÆôÓÃĸÁª¹¤×÷
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableAes));            //ÊÇ·ñʹÓüÓÃÜ
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableJHMode));            //ÊÇ·ñʹÓþùºâ(¾ùºâÆôÓÃ)
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.IsEnableLouYeMode));        //ÊÇ·ñʹÓéҺ¹¦ÄÜ
 
        
        for(int n=0; n<back.length; n++)
            bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(this.back[n]));
        
        CRC = FBS9100_Crc16.CalCRC16(bytebuffer, bytebuffer.position());
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(CRC));
        
        bytebuffer.flip();
        
        return bytebuffer;
    }
 
    @Override
    public String toString() {
        return "FBS9100S_SystemControl [HostType=" + HostType + ", IsEnableHost=" + IsEnableHost + ", IsEnableDry="
                + IsEnableDry + ", YHState=" + YHState + ", IsEnableNBCMode=" + IsEnableNBCMode + ", IsEnableAntiState="
                + IsEnableAntiState + ", IsEnableTwoInfo=" + IsEnableTwoInfo + ", IsEnableDCML=" + IsEnableDCML
                + ", IsEnableAes=" + IsEnableAes + ", IsEnableJHMode=" + IsEnableJHMode + ", IsEnableLouYeMode="
                + IsEnableLouYeMode + ", back=" + Arrays.toString(back) + ", CRC=" + CRC + "]";
    }
    
    
}