package com.concentrator;
|
|
import com.util.ComBase;
|
import com.util.Crc16;
|
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
import java.util.Random;
|
|
|
public class Concentrator_ComBuf {
|
public static Concentrator_Cmd m_CMD = new Concentrator_Cmd();
|
|
public Concentrator_Cmd getTmpSensorCmd()
|
{
|
return this.m_CMD;
|
}
|
|
public boolean putByteBuffer(final ByteBuffer bf)
|
{
|
if(false == m_CMD.putByteBuffer(bf))
|
return false;
|
|
return true;
|
}
|
|
/**
|
* 构造发送的数据包
|
* @param bf
|
* @return
|
*/
|
public static ByteBuffer makeTmpSensorCommBuf(Concentrator_Cmd m_CMD ,ByteBuffer bf)
|
{
|
ByteBuffer buffer = ByteBuffer.allocate(m_CMD.BYTE_LEN + bf.limit()+2); //数据总长度
|
buffer.order(ByteOrder.BIG_ENDIAN); //设置ByteBuffer的字节序
|
|
//m_CMD.makeCmd(addr, cmd,reg_index,getByteCountByReg(reg_index));
|
|
buffer.put(m_CMD.getByteBuffer());
|
buffer.put(bf);
|
|
int CRC = Crc16.CalCRC16(buffer, buffer.position());
|
buffer.putShort(ComBase.changeIntToShort(CRC));
|
buffer.flip();
|
return buffer;
|
}
|
|
/***************************************************************************************
|
****************************** end of file (FBS_ComBuf) ********************************
|
***************************************************************************************/
|
}
|