platforms/android/app/src/main/java/com/concentrator/Concentrator_State.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platforms/android/app/src/main/java/com/socket/BattDataThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platforms/android/app/src/main/res/xml/config.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
platforms/android/app/src/main/java/com/concentrator/Concentrator_State.java
@@ -1,7 +1,5 @@ package com.concentrator; import android.util.Log; import com.util.ComBase; import java.nio.ByteBuffer; @@ -10,6 +8,8 @@ public class Concentrator_State { public static final String TAG = "Concentrator_State"; public static final int WORKSTATE_FLOAT = 0; //浮充 public static final int WORKSTATE_DISCH = 1; //放电 public static final int WORKSTATE_CHARG = 2; //充电 @@ -29,8 +29,8 @@ public int test_record_count; //当前测试次数(包括充放电) public Integer record_num; //记录笔数 public int monCount = 24; //单体数量 private double sysversion; //系统版本(0.1) private int sysstate; //系统状态 0-常规模式 1-内阻模式 2-编址模式 @@ -57,6 +57,8 @@ public int min_monnum; //最小单体电压编号 public double min_monvol; //最小单体电压 public int isOutTime = 0; //是否超时 //复制设备状态 public void cloneSystemState(Concentrator_State state){ this.sysversion = state.sysversion; //系统版本(0.1) @@ -77,23 +79,24 @@ this.restestcount = state.restestcount; //内阻测试次数 } //复制单体温度 public void cloneMonVol(Concentrator_State state){ for(int i=0;i<mon_vols.length;i++){ //复制单体电压 public void cloneMonVol(Concentrator_State state,int index){ for(int i=index;i<(index+100) && i<300;i++){ this.mon_vols[i] = state.mon_vols[i]; //单体电压 } initmonvols(); } //复制单体单体温度 public void cloneMonTmp(Concentrator_State state){ for(int i=0;i<mon_tmps.length;i++){ public void cloneMonTmp(Concentrator_State state,int index){ for(int i=index;i<(index+100);i++){ this.mon_tmps[i] = state.mon_tmps[i]; //单体温度 } } //复制单体单体内阻 public void cloneMonRes(Concentrator_State state){ for(int i=0;i<mon_ress.length;i++){ public void cloneMonRes(Concentrator_State state,int index){ for(int i=index;i<(index +100);i++){ this.mon_ress[i] = state.mon_ress[i]; //单体内阻 } } @@ -163,7 +166,6 @@ switch (dataType){ case 1:{ mon_vols[index*100+i] = ComBase.changeShortToDouble(bf.getShort())/1000; initmonvols(); }break; case 2:{ mon_tmps[index*100+i] = ComBase.changeShortToDouble(bf.getShort())/10; @@ -173,25 +175,29 @@ }break; } } if(dataType == 1){ initmonvols(); } return true; } //统计当前电池组的最值 public void initmonvols(){ max_monnum = 1; max_monvol = mon_vols[0]; min_monnum = 1; min_monvol = mon_vols[0]; for (int i=0;i<monCount;i++){ if(mon_vols[i] > max_monvol){ max_monvol = mon_vols[i]; max_monnum = i+1; this.max_monnum = 1; this.max_monvol = this.mon_vols[0]; this.min_monnum = 1; this.min_monvol = this.mon_vols[0]; for (int i=0;i<this.monCount;i++){ if(this.mon_vols[i] > this.max_monvol){ this.max_monvol = this.mon_vols[i]; this.max_monnum = i+1; } if(mon_vols[i]<min_monvol){ min_monvol = mon_vols[i]; min_monnum = i+1; if(this.mon_vols[i]<this.min_monvol){ this.min_monvol = this.mon_vols[i]; this.min_monnum = i+1; } } //Log.e(TAG, "initmonvols: 初始化最大最小值maxmonvol:"+max_monvol+"\tminmonvol:"+min_monvol); } public int getBYTE_LEN() { platforms/android/app/src/main/java/com/socket/BattDataThread.java
@@ -38,6 +38,7 @@ public int battIndex = 1; //电池组ID 默认电池组ID public Concentrator_Param param; //汇集器参数 public Concentrator_State state; //汇集器状态 public Battinf battinf; //电池组信息 public DBHelper dbHelper; public WebView webView; @@ -80,16 +81,19 @@ //Log.e(TAG, "handleMessage: 获取设备状态成功" ); }else if(model.cmd >= Concentrator_ComBase.CMD_MODEBUS_BATTMONVOL_INDEX && model.cmd < Concentrator_ComBase.CMD_MODEBUS_BATTMONTMP_INDEX){ //读取单体电压成功 int index = (model.cmd - Concentrator_ComBase.CMD_MODEBUS_BATTMONVOL_INDEX); //Log.e(TAG, "handleMessage: 获取单体电压成功" ); state.cloneMonVol((Concentrator_State)model.data); state.cloneMonVol((Concentrator_State)model.data,index); }else if(model.cmd >= Concentrator_ComBase.CMD_MODEBUS_BATTMONTMP_INDEX && model.cmd < Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX){ //读取单体温度成功 int index = (model.cmd - Concentrator_ComBase.CMD_MODEBUS_BATTMONTMP_INDEX); //Log.e(TAG, "handleMessage: 获取单体温度成功" ); state.cloneMonTmp((Concentrator_State)model.data); state.cloneMonTmp((Concentrator_State)model.data,index); }else if(model.cmd >= Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX && model.cmd < (Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX+300)){ //读取单体内阻成功 int index = (model.cmd - Concentrator_ComBase.CMD_MODEBUS_BATTMONRES_INDEX); //Log.e(TAG, "handleMessage: 获取单体内阻成功" ); state.cloneMonRes((Concentrator_State)model.data); state.cloneMonRes((Concentrator_State)model.data,index); } }else if(model.cmd_type == Concentrator_ComBase.CMD_MODEBUS_WRITECMD){ //设置成功 @@ -238,8 +242,7 @@ Message childMsg = clientThread.mHandler.obtainMessage(); childMsg.obj = model; childMsg.what = isInstall?1:0; Log.e(TAG, battIndex+"sendMessageToSocketClient: isStall"+ isInstall); //Log.e(TAG, battIndex+"sendMessageToSocketClient: isStall"+ isInstall); return (clientThread.mHandler.sendMessage(childMsg)); } platforms/android/app/src/main/res/xml/config.xml
@@ -21,4 +21,6 @@ <allow-intent href="geo:*" /> <allow-intent href="market:*" /> <preference name="loglevel" value="DEBUG" /> <!--配置WebView全屏--> <!--<preference name="Fullscreen" value="true" />--> </widget>