package com.dev.fbs9100;
|
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
import java.util.Random;
|
|
import com.aes.Ecb_Aes;
|
|
public class FBS9100_ComBuf
|
{
|
public final static int FBS9100_AES_BUF_CNT = Ecb_Aes.AES_BLOCK_SIZE;
|
|
FBS9100_Cmd m_CMD = new FBS9100_Cmd();
|
|
public FBS9100_Cmd getFbsCmd()
|
{
|
return m_CMD;
|
}
|
|
public boolean putByteBuffer(final ByteBuffer bf)
|
{
|
if(false == m_CMD.putByteBuffer(bf))
|
return false;
|
|
return true;
|
}
|
|
public static ByteBuffer makeFbs9100CommBuf(int addr, int cmd, ByteBuffer bf)
|
{
|
FBS9100_Cmd m_CMD = new FBS9100_Cmd();
|
ByteBuffer buffer = ByteBuffer.allocate(1024/*m_CMD.BYTE_LEN + bf.limit()*/);
|
buffer.order(ByteOrder.LITTLE_ENDIAN); //ÉèÖÃByteBufferµÄ×Ö½ÚÐò
|
|
m_CMD.makeCmd(addr, cmd, bf.limit());
|
buffer.put(m_CMD.getByteBuffer());
|
buffer.put(bf);
|
|
Random rd = new Random();
|
if(0 == (buffer.position()%FBS9100_AES_BUF_CNT)) {
|
for(int n=0; n<(FBS9100_AES_BUF_CNT/4); n++) {
|
buffer.putInt(rd.nextInt());
|
}
|
} else {
|
int cnt = FBS9100_AES_BUF_CNT - (buffer.position()%FBS9100_AES_BUF_CNT);
|
for(int n=0; n<cnt; n++) {
|
buffer.put((byte) rd.nextInt());
|
}
|
}
|
buffer.flip();
|
|
return buffer;
|
}
|
}
|
/***************************************************************************************
|
****************************** end of file (FBS_ComBuf) ********************************
|
***************************************************************************************/
|