package com.dev.btse.data;
|
|
import java.nio.ByteBuffer;
|
|
public class FBS9100S_LIBMS_AlarmState {
|
|
public static final int TOTAL_BYTE_LEN = 162; //½á¹¹Ìå×ܳ¤¶È
|
public static final int BYTE_LEN = 40; //µ¥¸ö½á¹¹Ì峤¶È
|
|
public static final int LiBMS_MONOMER_MAX = 16;
|
public static final int LiBMS_TEMP_MAX = 4;
|
|
public int data_flag;
|
public int pack_pos; //ÉÏλ»úÐèÒª»ñÈ¡µÄPACK×éλÖÃ
|
|
public int monomer_cnt; //µ¥Ìåµç³ØÊýÁ¿
|
public int monomer_vol_alarm[];
|
|
public int temp_cnt; //µçоζÈÊýÁ¿
|
public int monomer_temp_alarm[];
|
|
public int env_temp_alarm; //»·¾³Î¶È
|
public int mos_temp_alarm; //MOS¹ÜζÈ
|
|
public int current_alarm; //µçÁ÷
|
public int sum_vol_alarm; //×Üѹ
|
|
public int user_def_cnt; //×Ô¶¨Ò叿¾¯ÊýÁ¿
|
|
public int junheng_event_code; //¾ùºâʼþ´úÂë
|
public int vol_event_code; //µçѹʼþ´úÂë
|
public int temp_event_code; //ζÈʼþ´úÂë
|
public int curr_event_code; //µçÁ÷ʼþ´úÂë
|
|
public int rest_cap_alarm; //Ê£ÓàÈÝÁ¿¸æ¾¯
|
public int fet_state_code; //FET״̬´úÂë
|
public int junheng_state_code; //¾ùºâ״̬´úÂë
|
|
public int sys_state_code; //ϵͳ״̬´úÂë
|
public int reserved; //Ô¤Áô
|
|
public FBS9100S_LIBMS_AlarmState() {
|
monomer_vol_alarm = new int[LiBMS_MONOMER_MAX];
|
monomer_temp_alarm = new int[LiBMS_TEMP_MAX];
|
}
|
|
|
/**
|
* ½«bytebufferÖеÄÊý¾ÝÈ¡³ö·ÅÈë¸Ã¶ÔÏóµÄÊôÐÔÖУ¬²¢·µ»ØÊÇ·ñÈ¡³ö³É¹¦
|
* @param bf
|
* @return
|
*/
|
public boolean putByteBuffer(final ByteBuffer bf)
|
{
|
if(bf.limit() < BYTE_LEN)
|
return false;
|
|
ByteBuffer tmpbuf = bf;
|
// int crc0 = tmpbuf.getShort(BYTE_LEN-2) & 0xFFFF;
|
// int crc1 = FBS9100_Crc16.CalCRC16(tmpbuf, BYTE_LEN-2);
|
// if(crc0 != crc1)
|
// return false;
|
|
tmpbuf.position(0);
|
|
data_flag = FBS9100_ComBase.changeByteToInt(tmpbuf.get());
|
pack_pos = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //ÉÏλ»úÐèÒª»ñÈ¡µÄPACK×éλÖÃ
|
|
monomer_cnt = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //µ¥Ìåµç³ØÊýÁ¿
|
for(int n = 0;n<monomer_vol_alarm.length;n++) {
|
monomer_vol_alarm[n] = FBS9100_ComBase.changeByteToInt(tmpbuf.get());
|
}
|
|
temp_cnt = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //µçоζÈÊýÁ¿
|
for(int n = 0;n<monomer_temp_alarm.length;n++) {
|
monomer_temp_alarm[n] = FBS9100_ComBase.changeByteToInt(tmpbuf.get());
|
}
|
|
env_temp_alarm = FBS9100_ComBase.changeByteToInt(tmpbuf.get());; //»·¾³Î¶È
|
mos_temp_alarm = FBS9100_ComBase.changeByteToInt(tmpbuf.get());; //MOS¹ÜζÈ
|
|
current_alarm = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //µçÁ÷
|
sum_vol_alarm = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //×Üѹ
|
|
user_def_cnt = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //×Ô¶¨Ò叿¾¯ÊýÁ¿
|
|
junheng_event_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //¾ùºâʼþ´úÂë
|
vol_event_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //µçѹʼþ´úÂë
|
temp_event_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //ζÈʼþ´úÂë
|
curr_event_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //µçÁ÷ʼþ´úÂë
|
|
rest_cap_alarm = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //Ê£ÓàÈÝÁ¿¸æ¾¯
|
fet_state_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //FET״̬´úÂë
|
junheng_state_code = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort()); //¾ùºâ״̬´úÂë
|
|
sys_state_code = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //ϵͳ״̬´úÂë
|
reserved = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); //Ô¤Áô
|
|
tmpbuf.compact();
|
tmpbuf.flip();
|
return true;
|
}
|
}
|