package com.dev.fbs9100; import java.nio.ByteBuffer; import java.nio.ByteOrder; public class FBS9100_ChargeState implements Cloneable { private final int BYTE_LEN = 120; private final int BATTGROUP_COUNT = FBS9100_ComBase.BattGroupCountMax; public FBS9100_DateTime StartDT = new FBS9100_DateTime(); //Æô¶¯·ÅµçµÄÈÕÆÚʱ¼ä public FBS9100_DateTime StopDT = new FBS9100_DateTime(); //ÖÕÖ¹·ÅµçµÄÈÕÆÚʱ¼ä public FBS9100_TestTime Test_Time = new FBS9100_TestTime(); //ÒѲâÊÔʱ¼ä(HMS) public int TestState; //²âÊÔ״̬(Í£Ö¹/ÔÝÍ£/·Åµç) public int TestType; //²âÊÔÀàÐÍ(·Åµç/³äµç) public int TestGroupNum; //±»²âÊÔµç³Ø×é±àºÅ(1~4) public int SaveDataEN; //±£´æÊý¾Ý±êʶ public int ChargeEN; //¿ªÊ¼³äµç±êʶ public int ChargeOverTime; //³äµç¹ýÁ÷³¬Ê± public int LastCapTestAlarmRes; //±£Áô public double TestCur[] = new double[FBS9100_ComBase.BattGroupCountMax]; public double GroupVol[] = new double[FBS9100_ComBase.BattGroupCountMax]; public double OnlineVol[] = new double[FBS9100_ComBase.BattGroupCountMax]; public double TestCapInt[] = new double[FBS9100_ComBase.BattGroupCountMax]; public int MonMaxNum[] = new int[FBS9100_ComBase.BattGroupCountMax]; public int MonMinNum[] = new int[FBS9100_ComBase.BattGroupCountMax]; public double MonMaxValue[] = new double[FBS9100_ComBase.BattGroupCountMax]; public double MonMinValue[] = new double[FBS9100_ComBase.BattGroupCountMax]; public int CRC; public FBS9100_ChargeState clone() { FBS9100_ChargeState obj = null; try { obj = (FBS9100_ChargeState)super.clone(); } catch(CloneNotSupportedException e) { e.printStackTrace(); } return obj; } 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); StartDT.year = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StartDT.month = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StartDT.day = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StartDT.hour = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StartDT.minute = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StartDT.second = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.year = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.month = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.day = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.hour = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.minute = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); StopDT.second = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); Test_Time.hour = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); Test_Time.minute = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); Test_Time.second = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); TestState = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); TestType = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); TestGroupNum = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); SaveDataEN = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); ChargeEN = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); ChargeOverTime = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); LastCapTestAlarmRes = FBS9100_ComBase.changeByteToInt(tmpbuf.get()); for(int n=0; n