/***************************************************************************************
|
**************************** end of file (FBS_ResCapData) ******************************
|
***************************************************************************************/
|
package com.dev.fbs9100;
|
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
import java.util.Arrays;
|
|
public class FBS9100_ResCapData
|
{
|
public int CRC;
|
public double m_Curr;
|
public int m_GroupNum;
|
public int m_BattCount;
|
public int m_DataType;
|
public double m_DATA[] = new double[FBS9100_ComBase.MonomerCountMax];
|
|
public FBS9100_ResCapData clone()
|
{
|
FBS9100_ResCapData obj = new FBS9100_ResCapData();
|
|
obj.CRC = CRC;
|
obj.m_Curr = m_Curr;
|
obj.m_BattCount = m_BattCount;
|
obj.m_DataType = m_DataType;
|
obj.m_DATA = m_DATA.clone();
|
|
return obj;
|
}
|
|
public void clear()
|
{
|
m_Curr = 0.0;
|
for(int n=0; n<m_DATA.length; n++)
|
{
|
m_DATA[n] = 0.0;
|
}
|
CRC = 0;
|
}
|
|
public boolean putByteBuffer(final ByteBuffer bf, int cmd)
|
{
|
ByteBuffer tmpbuf = bf;
|
tmpbuf.position(0);
|
|
CRC = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
|
m_Curr = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
|
|
tmpbuf.compact();
|
tmpbuf.flip();
|
|
double range = 1;
|
m_DataType = FBS9100_ComBase.DataType_MonCap;
|
if(FBS9100_ComBase.CMD_GetMonomerRES == cmd) {
|
range = 100;
|
m_DataType = FBS9100_ComBase.DataType_MonRes;
|
} else if (FBS9100_ComBase.CMD_GetMonomerTMP == cmd) {
|
range = 10;
|
m_DataType = FBS9100_ComBase.DataType_MonTmp;
|
}
|
|
m_BattCount = tmpbuf.limit()/2;
|
if(m_BattCount > 480)
|
m_BattCount = 480;
|
|
for(int n=0; n<m_BattCount; n++)
|
{
|
m_DATA[n] = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/range;
|
}
|
|
return true;
|
}
|
|
public ByteBuffer getByteBuffer()
|
{
|
ByteBuffer bytebuffer = ByteBuffer.allocate(1000);
|
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
|
double range = 1;
|
if(m_DataType == FBS9100_ComBase.DataType_MonRes){
|
range = 100;
|
}else if(m_DataType == FBS9100_ComBase.DataType_MonTmp){
|
range = 10;
|
}
|
|
bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(CRC));
|
bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(m_Curr*10));
|
for(int i=0;i < m_DATA.length;i++){
|
bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(m_DATA[i]*range));
|
}
|
bytebuffer.flip();
|
//System.out.println("bytebuffer limit"+bytebuffer.limit());
|
return bytebuffer;
|
}
|
|
@Override
|
public String toString() {
|
return "FBS9100_ResCapData [CRC=" + CRC + ", m_Curr=" + m_Curr + ", m_GroupNum=" + m_GroupNum + ", m_BattCount="
|
+ m_BattCount + ", m_DataType=" + m_DataType + ", m_DATA=" + Arrays.toString(m_DATA) + "]";
|
}
|
|
// public static void main(String[] args) {
|
// FBS9100_ResCapData m = new FBS9100_ResCapData();
|
// FBS9100_ResCapData n = new FBS9100_ResCapData();
|
// n.m_Curr = 12;
|
// System.out.println(n);
|
// System.out.println(m.putByteBuffer(n.getByteBuffer(), FBS9100_ComBase.DataType_MonRes));;
|
// System.out.println(m);
|
// }
|
}
|
/***************************************************************************************
|
**************************** end of file (FBS_ResCapData) ******************************
|
***************************************************************************************/
|