whyclj
2019-11-23 d4c7dbd51fa93b0dae3d55f68518a12bb20ed79c
修改
3个文件已修改
65 ■■■■■ 已修改文件
platforms/android/app/src/main/java/com/concentrator/Concentrator_State.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platforms/android/app/src/main/java/com/socket/BattDataThread.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platforms/android/app/src/main/res/xml/config.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | 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>