whyclj
2019-10-16 3825e10fc9eba23411e8836b34ba70ed10abee7b
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
package com.mode;
 
import com.util.FBS_ComBase;
 
import java.nio.ByteBuffer;
import java.util.Date;
 
public class BattTestRtData {
    private final int BYTE_LEN = 28;
 
    public double groupVol;                        //在线电压(0.1V)
    public double tatalVol;                        //总电压(0.1V)
    public Date nowDate;                        //标准时间
    public String chageDate;                    //充电时间(时:分:秒)
    public int btnState;                        //按键状态(0:停止      1:暂停      2:放电       3:充电        4:等待充电)
    public int lowerCount;                        //已到下限单体数量
    public double chargeCurr;                    //充电电流(0.1A)
    public double testCap;                        //已放容量(1AH)
    public int maxVolNum;                        //最高单体号
    public double maxVol;                        //最高单体电压(0.001V)
    public int minVolNum;                        //最低单体号
    public double minVol;                        //最低单体电压(0.001V)
 
 
    public boolean putByteBuffer(ByteBuffer bf) {
        if(bf.limit()<BYTE_LEN) {
            return false;
        }
        ByteBuffer tmpbuf = bf;
        tmpbuf.position(0);
 
        groupVol = FBS_ComBase.changeShortToDouble(bf.getShort())/10;                //在线电压(0.1V)
        tatalVol = FBS_ComBase.changeShortToDouble(bf.getShort())/10;                //总电压(0.1V)
        int year = FBS_ComBase.changeByteToInt(bf.get());
        int month = FBS_ComBase.changeByteToInt(bf.get());
        int day = FBS_ComBase.changeByteToInt(bf.get());
        int hour = FBS_ComBase.changeByteToInt(bf.get());
        int min = FBS_ComBase.changeByteToInt(bf.get());
        int sec = FBS_ComBase.changeByteToInt(bf.get());
 
        System.out.println(year+":"+month+":"+day+":"+hour+":"+min+":"+sec);
        //nowDate = Com.getDateTimeFromStr(dt, Com.DTF_YMDhms);
        int hour1 = FBS_ComBase.changeByteToInt(bf.get());
        int min1 = FBS_ComBase.changeByteToInt(bf.get());
        int sec1 = FBS_ComBase.changeByteToInt(bf.get());
        chageDate = hour1+":"+min1+":"+sec1;                                        //充电时间(时:分:秒)
        btnState = FBS_ComBase.changeByteToInt(bf.get());                            //按键状态(0:停止      1:暂停      2:放电       3:充电        4:等待充电)
        lowerCount = FBS_ComBase.changeShortToInt(bf.getShort());                    //已到下限单体数量
        chargeCurr = FBS_ComBase.changeShortToDouble(bf.getShort())/10;                //充电电流(0.1A)
        testCap = FBS_ComBase.changeShortToInt(bf.getShort());                        //已放容量(1AH)
        maxVolNum = FBS_ComBase.changeShortToInt(bf.getShort());                    //最高单体号
        maxVol = FBS_ComBase.changeShortToDouble(bf.getShort())/1000;                //最高单体电压(0.001V)
        minVolNum = FBS_ComBase.changeShortToInt(bf.getShort());                    //最低单体号
        minVol = FBS_ComBase.changeShortToDouble(bf.getShort())/1000;                //最低单体电压(0.001V)
        return true;
    }
 
 
    @Override
    public String toString() {
        return "DischargeData [groupVol=" + groupVol + ", tatalVol=" + tatalVol + ", nowDate=" + nowDate
                + ", chageDate=" + chageDate + ", btnState=" + btnState + ", lowerCount=" + lowerCount + ", chargeCurr="
                + chargeCurr + ", testCap=" + testCap + ", maxVolNum=" + maxVolNum + ", maxVol=" + maxVol
                + ", minVolNum=" + minVolNum + ", minVol=" + minVol + "]";
    }
}