package com.mode;
|
|
import java.nio.ByteBuffer;
|
import java.util.Arrays;
|
import com.util.ComFn;
|
import com.util.*;
|
|
|
public class BattRTData {
|
private final int BATTGROUP_COUNT = FBS_ComBase.BattGroupCountMax; //电池组的组数
|
private final int BYTE_HEAD_LEN = 32; //头部长度为32个字节
|
|
public int monsum;
|
|
public double[] groupvol = new double[BATTGROUP_COUNT]; //组端电压
|
public double[] groupcur = new double[BATTGROUP_COUNT]; //组端电流
|
public int[] battstate = new int[BATTGROUP_COUNT]; //电池状态
|
public double vol[] = new double[FBS_ComBase.MonomerCountMax]; //单体电压
|
|
public boolean putByteBuffer(ByteBuffer bf,int BYTECOUNT) {
|
monsum = (BYTECOUNT - 32)/2;
|
if(monsum <= 0) {
|
return false;
|
}
|
if(monsum > 480) {
|
monsum = 480;
|
}
|
|
ByteBuffer tmpbuf = bf;
|
tmpbuf.position(0);
|
for(int i=0;i<BATTGROUP_COUNT;i++) {
|
groupvol[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
|
}
|
for(int i=0;i<BATTGROUP_COUNT;i++) {
|
groupcur[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
|
}
|
for(int i=0;i<BATTGROUP_COUNT;i++) {
|
battstate[i] = FBS_ComBase.changeShortToInt(tmpbuf.getShort());
|
}
|
|
for(int i=0;i<monsum;i++) {
|
vol[i] = FBS_ComBase.changeShortToDouble(tmpbuf.getShort())/1000;
|
}
|
System.out.println(this);
|
return true;
|
}
|
|
|
public double[] getGroupvol() {
|
return groupvol;
|
}
|
|
public double[] getGroupcur() {
|
return groupcur;
|
}
|
|
public int[] getBattstate() {
|
return battstate;
|
}
|
|
public double[] getVol() {
|
return vol;
|
}
|
|
|
public void setGroupvol(double[] groupvol) {
|
this.groupvol = groupvol;
|
}
|
|
public void setGroupcur(double[] groupcur) {
|
this.groupcur = groupcur;
|
}
|
|
public void setBattstate(int[] battstate) {
|
this.battstate = battstate;
|
}
|
|
public void setVol(double[] vol) {
|
this.vol = vol;
|
}
|
|
|
public int getMonsum() {
|
return monsum;
|
}
|
|
|
public void setMonsum(int monsum) {
|
this.monsum = monsum;
|
}
|
|
|
@Override
|
public String toString() {
|
return "BattData [monsum=" + monsum + ", groupvol=" + Arrays.toString(groupvol) + ", groupcur="
|
+ Arrays.toString(groupcur) + ", battstate=" + Arrays.toString(battstate) + ", vol="
|
+ Arrays.toString(vol) + "]";
|
}
|
}
|