package com.dev.fbs9100; import java.util.Date; import com.dev.fbs9100.FBS9100_SysState; public class BattStatData { //---------------------------------------------------------- final public static byte BATTDATA_NULL = 0; final public static byte BATTDATA_FLOAT = 1; final public static byte BATTDATA_CHARGE = 2; final public static byte BATTDATA_DISCHARGE = 3; final public static byte BATTDATA_JUNCHARGE = 4; final public static byte BATTDATA_RES = 5; final public static byte BATTDATA_SER = 6; final public static byte BATTDATA_TMP = 7; final public static byte BATTDATA_CONNRES = 8; final public static byte BATTDATA_MONITOR = 9; //---------------------------------------------------------- final public static byte BATTSTATE_NULL = 0; final public static byte BATTSTATE_FLOAT = 1; final public static byte BATTSTATE_CHARGE = 2; final public static byte BATTSTATE_DISCHARGE = 3; final public static byte BATTSTATE_JUNCHARGE = 4; final public static byte BATTSTATE_RES = 5; final public static byte BATTSTATE_SER = 6; final public static byte BATTSTATE_TMP = 7; final public static byte BATTSTATE_CONNRES = 8; final public static byte BATTSTATE_MONITOR = 9; //---------------------------------------------------------- final public static byte TEST_LOADER_REALLOADER = 1; final public static byte TEST_LOADER_FBI_IDCE = 2; final public static byte TEST_LOADER_FBS9100S = 3; //---------------------------------------------------------- //---- FBI/IDCE serials device connection state monitor ---- private boolean CurrDataIsUseForIdceFbi = false; private boolean CurrDataIsUseForIdceFbi_LaZha = false; private boolean FBI_ConState = false; private int mFBICommTimeout = 0; //---------------------------------------------------------- private float mBattFloatCurrLevel = 30; //---------------------------------------------------------- //---------------------------------------------------------- public int dev_FBS9100S_WorkState = FBS9100_SysState.SYS_STATE_STOPPED; public byte battTestState = BATTSTATE_FLOAT; public int dataCalCount; public int testRecordCount; public byte testLoaderType = 0; public int recordNum; public int recordNum_BPM7100; public Date startTestTime = new Date(); public Date recordTime = new Date(); public int testTimeLong; public float onlineVol; public float groupVol; public float groupTmp; public byte battState; private boolean bpm7100_runState = false; public float testCurr = 0; public float testCurrAbsMax = 0; public float TestCurr_RT = 0; public float TestCurr_RT_TMP = 0; public int TestState_RT; public float sybase_server_battcurr; public float testCap; public float battRealCap; public float battRestCap; public int battRestTime; //--------------------------------// public BattStatData() { init((byte) BATTSTATE_FLOAT, 0); } public void setBattFloatCurrLevel(float curr_level) { mBattFloatCurrLevel = curr_level; } public void setBpm7100RunState(boolean stat) { bpm7100_runState = stat; } public boolean getBpm7100RunState() { return bpm7100_runState; } public BattStatData clone() { BattStatData bdata = new BattStatData(); bdata.battTestState = battTestState; bdata.battState = battState; bdata.dataCalCount = dataCalCount; bdata.testRecordCount = testRecordCount; bdata.recordNum = recordNum; bdata.recordNum_BPM7100 = recordNum_BPM7100; bdata.startTestTime = new Date(startTestTime.getTime()); bdata.testLoaderType = testLoaderType; bdata.recordTime = new Date(recordTime.getTime()); bdata.testTimeLong = testTimeLong; bdata.groupVol = groupVol; bdata.groupTmp = groupTmp; bdata.testCurr = testCurr; bdata.testCurrAbsMax = testCurrAbsMax; bdata.sybase_server_battcurr = sybase_server_battcurr; bdata.testCap = testCap; bdata.battRealCap = battRealCap; bdata.battRestCap = battRestCap; bdata.battRestTime = battRestTime; return bdata; } public void init(byte test_type, int count) { battTestState = test_type; if(BattStatData.BATTSTATE_MONITOR == test_type) { TestState_RT = battTestState; } else { battState = test_type; } testLoaderType = TEST_LOADER_REALLOADER; testRecordCount = count; dataCalCount = 0; recordNum = 0; recordNum_BPM7100 = 0; startTestTime = new Date(); recordTime = new Date(); testTimeLong = 0; testCap = 0; testCurrAbsMax = 0; } public void bpm7100_init(byte batt_state) { battState = batt_state; dataCalCount = 0; recordNum_BPM7100 = 0; testCap = 0; testCurrAbsMax = 0; } private void upDateCurrRT(float curr) { TestCurr_RT = curr; //System.out.println("TestCurr_RT: " + TestCurr_RT); if(Math.abs(testCurrAbsMax) < Math.abs(TestCurr_RT)) { testCurrAbsMax = TestCurr_RT; } if(Math.abs(TestCurr_RT) < mBattFloatCurrLevel) { TestState_RT = BATTSTATE_FLOAT; } if(TestCurr_RT >= mBattFloatCurrLevel) TestState_RT = BATTSTATE_CHARGE; else if(TestCurr_RT <= (mBattFloatCurrLevel*(-1))) TestState_RT = BATTSTATE_DISCHARGE; } public boolean isCurrDataUseForIdceFbi() { return CurrDataIsUseForIdceFbi; } public void setCurrDataIsUseForIdceFbi(boolean stat) { CurrDataIsUseForIdceFbi = stat; } public void setLoaderType(byte ld_t) { testLoaderType = ld_t; } public byte getLoaderType() { return testLoaderType; } public void setDevFBS9100S_WorkState(int wks_t) { dev_FBS9100S_WorkState = wks_t; } public int getDevFBS9100S_WorkState() { return dev_FBS9100S_WorkState; } public boolean isCurrDataUseForIdceFbi_LaZha() { return CurrDataIsUseForIdceFbi_LaZha; } public void setCurrDataIsUseForIdceFbi_LaZha(boolean stat) { CurrDataIsUseForIdceFbi_LaZha = stat; } /** * ¼ì²éFBIÌá½»ÊÇ·ñ³¬Ê± * @return */ public boolean checkIfFBIComMTimeout() { boolean time_ount = false; if(mFBICommTimeout >= 60) { time_ount = true; FBI_ConState = false; setCurrDataIsUseForIdceFbi(false); } if(mFBICommTimeout < 1000) mFBICommTimeout++; return time_ount; } /*************************************************************************/ /* public void updateGroupVolFrom_FBI(float vol) { if(BattData_RT_Array.DATA_SOURCE_SQLSERVER == mSourceBattDataType) { FBI_ConState = true; mFBICommTimeout = 0; groupVol = vol; } } */ /** * ´ÓFBSÉ豸¸üÐÂonline vol * @param vol */ public void updateOnlineVolFrom_FBSDev(float vol) { onlineVol = vol; } /** * ´ÓFBSÉ豸¸üÐÂ×é¶Ëµçѹ * @param vol */ public void updateGroupVolFrom_FBSDev(float vol) { groupVol = vol; } /*************************************************************************/ /** * ´ÓFBIÉ豸¸üеçÁ÷ * @param curr */ public void updateCurrFromFBI(float curr) { FBI_ConState = true; mFBICommTimeout = 0; setCurrDataIsUseForIdceFbi(true); upDateCurrRT(curr); //System.out.println("updateCurrFromFBI"); } /** * ´ÓFBSÉ豸¸üеçÁ÷ * @param curr */ public void updateCurrFrom_FBSDev(float curr) { if(false == FBI_ConState) { upDateCurrRT(curr); } } }