release ICL02ProtocolV2 V627
authorsnickersun <scy@incartech.cn>
Thu, 24 Sep 2020 07:18:10 +0000 (15:18 +0800)
committersnickersun <scy@incartech.cn>
Thu, 24 Sep 2020 07:18:10 +0000 (15:18 +0800)
1、jiai协议补全,添加温度,天气等
2、bleScan timeout时间 从5 改为10 ,因为客户说 现场布置可能超过67个设备。会造成想要扫描的设备还没扫到就停止扫描了。
3、SMS增加 #getWeather#命令
4、缩减一些无用的日志,节省日志空间。

app/release/ICSer_V627_2009241508_release.apk [moved from app/release/ICSer_V624_2009192208_release.apk with 78% similarity]
app/release/output.json
app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/Constants.java
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/NMEAListener.java
app/src/main/java/com/enqualcomm/support/adapter/BTHelper.java
app/src/main/java/com/enqualcomm/support/service/Deliver.java
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_jiai.java
app/version_code.properties

similarity index 78%
rename from app/release/ICSer_V624_2009192208_release.apk
rename to app/release/ICSer_V627_2009241508_release.apk
index df7fde1..d9e6d9e 100644 (file)
Binary files a/app/release/ICSer_V624_2009192208_release.apk and b/app/release/ICSer_V627_2009241508_release.apk differ
index 4be690b..b127e66 100644 (file)
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":624,"versionName":"2009192208","enabled":true,"outputFile":"ICSer_V624_2009192208_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V624_2009192208_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":627,"versionName":"2009241508","enabled":true,"outputFile":"ICSer_V627_2009241508_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V627_2009241508_release.apk","properties":{}}]
\ No newline at end of file
index f3eb577..a9b81cc 100644 (file)
@@ -34,7 +34,7 @@ public class Config {
   private static String json;\r
   public static int defaultHeartbeatCycle=5;\r
   public static int sw_release_no = -1;\r
-\r
+  public static int bleScanTimeout=10;\r
   public static String work_mode = "2@1";\r
 \r
   public static final String JiAiHost="watch.jiai.pro";\r
index eed0c6c..7286220 100644 (file)
@@ -285,8 +285,9 @@ public interface Constants {
   \r
   public static final String WAKE_ALARM = "com.enqualcomm.support.WAKE_ALARM";\r
   \r
-  public static final String WEATHER_ALARM = "com.enqualcomm.support.ACTION_WEATHER_ALARM";\r
-  \r
+  public static final String WEATHER_ALARM = "com.ic.alarm.ACTION_WEATHER_ALARM";\r
+  public static final String WEATHER_ACTION = "com.ic.action.ACTION_GET_WEATHER";\r
+\r
   public static final int WIFI_SET_RESULT = 217;\r
   \r
   public static final int WORKMODE_CHANGED = 211;\r
index 9ef5855..842094c 100644 (file)
@@ -797,6 +797,9 @@ public class ICSmsManager  extends BroadcastReceiver {
                 CoreService.DevliverStringMessage("poweroff");\r
             }else if (sms.startsWith(ENCRYPED_HEADER+"#packagevers#")) {\r
                 sendSMS(phonenumber, DeviceInfoUtil.getPackageVersions(mContext));\r
+            }else if (sms.startsWith(ENCRYPED_HEADER+"#getWeather#")) {\r
+                sendSMS(phonenumber, "do get Weather!");\r
+                CoreService.DevliverStringMessage("getWeather");\r
            } else if (sms.startsWith(ENCRYPED_HEADER+"#showui#")) {\r
                 Util.setSystemProperties("persist.sys.debugprotocol","true");\r
                 Intent intent=new Intent();\r
index 038c34b..e073847 100644 (file)
@@ -269,7 +269,7 @@ public class NMEAListener implements NmeaListener, LocationListener {
         if (snr.trim().isEmpty()) {\r
           snr = "0";\r
         }\r
-        ICLogger.i("Sat=" + satindex + ",prn=" + prn + ",snr=" + snr);\r
+//        ICLogger.i("Sat=" + satindex + ",prn=" + prn + ",snr=" + snr);\r
 \r
         int intprn = Integer.valueOf(prn);\r
         float floatsnr = Float.valueOf(snr);\r
index db7192e..19c96d9 100644 (file)
@@ -9,6 +9,7 @@ import android.content.Intent;
 import android.content.IntentFilter;\r
 import android.os.Handler;\r
 \r
+import com.enqualcomm.support.Config;\r
 import com.enqualcomm.support.utils.ICLogger;\r
 \r
 import java.util.ArrayList;\r
@@ -183,15 +184,15 @@ public class BTHelper {
 \r
 \r
 \r
-        mBtAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_NONE,5);\r
+        mBtAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_NONE, Config.bleScanTimeout);\r
         LeScanCallback lecallback=new LeScanCallback(){\r
 \r
             @Override\r
             public void onLeScan(BluetoothDevice bluetoothDevice, int rssi, byte[] scanRecode) {\r
-                ICLogger.i( "BT onLeScan "+bluetoothDevice.getName()+" "+bluetoothDevice.getAddress()+" rssi "+rssi);\r
-                ICLogger.logToFile("LBS","BT onLeScan "+bluetoothDevice.getName()+" "+bluetoothDevice.getAddress()+" rssi "+rssi );\r
+//                ICLogger.i( "BT onLeScan "+bluetoothDevice.getName()+" "+bluetoothDevice.getAddress()+" rssi "+rssi);\r
+//                ICLogger.logToFile("LBS","BT onLeScan "+bluetoothDevice.getName()+" "+bluetoothDevice.getAddress()+" rssi "+rssi );\r
                 if(!mNewDevicesArray.contains(bluetoothDevice.getAddress()))\r
-                    mNewDevicesArray.add(bluetoothDevice.getAddress());\r
+                    mNewDevicesArray.add(bluetoothDevice.getAddress()+","+rssi);\r
             }\r
         };\r
 \r
index 8d793f0..40981b0 100644 (file)
@@ -451,6 +451,10 @@ public class Deliver extends AbstractConnectionService {
     } else if ("heartbeat".equals(paramStringMessage.cmd())) {\r
       //每次心跳,查询一下 是否有语音消息需要接收。\r
 //      paramConnection.send(protocolAPIHelper.genStringMessage("AP05",protocolAPIHelper.AP05(true)));\r
+\r
+    } else if ("getWeather".equals(paramStringMessage.cmd())) {\r
+      ICLogger.i("获取天气");\r
+      mConnection.send(protocolAPIHelper.getWeatherMSG(mRuntime));\r
     } else if ("NewVoice".equals(paramStringMessage.cmd()))\r
     {\r
       new Handler().postDelayed(new Runnable() {\r
@@ -539,8 +543,6 @@ public class Deliver extends AbstractConnectionService {
       return true;\r
     }\r
 \r
-\r
-\r
     return false;\r
   }\r
 \r
index d727af5..9e19327 100644 (file)
@@ -169,7 +169,7 @@ public class protocolAPIHelper {
         switch(Config.protocol_no)\r
         {\r
             case Config.PROTOCOL_JIAI:\r
-                ret=null;\r
+                ret=protocol_jiai.AP50(runtime);\r
                 break;\r
             case Config.PROTOCOL_BEEHOME:\r
                 ret=protocol_beehome.APTP(temp_adusted,body_temp);\r
@@ -350,19 +350,13 @@ public class protocolAPIHelper {
         switch(Config.protocol_no)\r
         {\r
             case Config.PROTOCOL_JIAI:\r
-                ret=protocol_jiai.APHT(runtime);\r
+                ret=protocol_jiai.APHP(runtime);\r
                 break;\r
             case Config.PROTOCOL_BEEHOME:\r
                 ret=protocol_beehome.APHP(runtime);\r
                 break;\r
             case Config.PROTOCOL_IC:\r
-                if(Config.getProtocolServerHost(runtime.getContextProxy().context).equals(protocol_jiai.defaultServerIP))\r
-                {\r
-                    //为了兼容即爱的服务器而设定。\r
-                    ret=protocol_ic.APHT(runtime);\r
-                }else {\r
-                    ret = protocol_ic.APHP(runtime);\r
-                }\r
+                ret = protocol_ic.APHP(runtime);\r
                 break;\r
             case Config.PROTOCOL_FZD:\r
                 ret=null;\r
@@ -501,19 +495,13 @@ public class protocolAPIHelper {
         switch(Config.protocol_no)\r
         {\r
             case Config.PROTOCOL_JIAI:\r
-                ret=protocol_jiai.APHT(ppg,bph,bpl);\r
+                ret=protocol_jiai.APHP(ppg,bph,bpl,spo2);\r
                 break;\r
             case Config.PROTOCOL_BEEHOME:\r
                 ret=protocol_beehome.APHP(ppg,bph,bpl,spo2);\r
                 break;\r
             case Config.PROTOCOL_IC:\r
-                if(Config.getProtocolServerHost(runtime.getContextProxy().context).equals(protocol_jiai.defaultServerIP))\r
-                {\r
-                    ret=protocol_ic.APHT(ppg,bph,bpl);\r
-\r
-                }else {\r
-                    ret = protocol_ic.APHP(ppg, bph, bpl, spo2);\r
-                }\r
+                ret = protocol_ic.APHP(ppg, bph, bpl, spo2);\r
                 break;\r
             case Config.PROTOCOL_FZD:\r
                 ret=null;\r
@@ -524,7 +512,30 @@ public class protocolAPIHelper {
         }\r
         return ret;\r
     }\r
+    public static StringMessage getWeatherMSG(Runtime runtime){\r
+        if (is_protocol_not_Initialled()) return null;\r
 \r
+        StringMessage ret=null;\r
+        switch(Config.protocol_no)\r
+        {\r
+            case Config.PROTOCOL_JIAI:\r
+                ret=protocol_jiai.APWT();\r
+                break;\r
+            case Config.PROTOCOL_BEEHOME:\r
+                ret=null;\r
+                break;\r
+            case Config.PROTOCOL_IC:\r
+                ret = null;\r
+                break;\r
+            case Config.PROTOCOL_FZD:\r
+                ret=null;\r
+                break;\r
+            case Config.PROTOCOL_MQTT:\r
+                ret=null;\r
+                break;\r
+        }\r
+        return ret;\r
+    }\r
 \r
     public static String getDefaultServerIP(){\r
 \r
index c2e55c9..0b84819 100644 (file)
@@ -4,6 +4,7 @@ import android.content.ComponentName;
 import android.content.Intent;\r
 import android.net.Uri;\r
 import android.os.Environment;\r
+import android.text.TextUtils;\r
 \r
 import com.enqualcomm.support.Config;\r
 import com.enqualcomm.support.CoreService;\r
@@ -60,10 +61,16 @@ public class protocol_jiai {
         BP10,\r
         AP49,//心率上传\r
         BP49,\r
+        AP50,//体温上传\r
+        BP50,\r
         APHT,//心率血压上传\r
         BPHT,\r
+        APHP,//心率血压血氧上传\r
+        BPHP,\r
         APTM,//基站校时及获取定位\r
         BPTM,\r
+        APWT,//同步天气\r
+        BPWT,\r
         AP94,//消息已读\r
         BP94,\r
         /* 服务器发起*/\r
@@ -101,10 +108,14 @@ public class protocol_jiai {
         BP85,//设置闹钟\r
         AP86,\r
         BP86,//心率血压测试周期\r
+        AP87,\r
+        BP87,//体温测试周期\r
         AP89,\r
         BP89,//心率血压阀值设置\r
         AP93,\r
         BP93,//服务器下发文本\r
+        APXT,\r
+        BPXT,//服务器下发测量体温\r
         UNKNOWN_CMD,\r
     }\r
 \r
@@ -130,10 +141,16 @@ public class protocol_jiai {
         cmdMap.put(CMD_TYPE.BP10, "BP10");\r
         cmdMap.put(CMD_TYPE.AP49, "AP49");\r
         cmdMap.put(CMD_TYPE.BP49, "BP49");\r
+        cmdMap.put(CMD_TYPE.AP50, "AP50");\r
+        cmdMap.put(CMD_TYPE.BP50, "BP50");\r
         cmdMap.put(CMD_TYPE.APHT, "APHT");\r
         cmdMap.put(CMD_TYPE.BPHT, "BPHT");\r
+        cmdMap.put(CMD_TYPE.APHP, "APHP");\r
+        cmdMap.put(CMD_TYPE.BPHP, "BPHP");\r
         cmdMap.put(CMD_TYPE.APTM, "APTM");\r
         cmdMap.put(CMD_TYPE.BPTM, "BPTM");\r
+        cmdMap.put(CMD_TYPE.APWT, "APWT");\r
+        cmdMap.put(CMD_TYPE.BPWT, "BPWT");\r
         cmdMap.put(CMD_TYPE.AP94, "AP94");\r
         cmdMap.put(CMD_TYPE.BP94, "BP94");\r
         cmdMap.put(CMD_TYPE.AP12, "AP12");\r
@@ -170,10 +187,14 @@ public class protocol_jiai {
         cmdMap.put(CMD_TYPE.BP85, "BP85");\r
         cmdMap.put(CMD_TYPE.AP86, "AP86");\r
         cmdMap.put(CMD_TYPE.BP86, "BP86");\r
+        cmdMap.put(CMD_TYPE.AP87, "AP87");\r
+        cmdMap.put(CMD_TYPE.BP87, "BP87");\r
         cmdMap.put(CMD_TYPE.AP89, "AP89");\r
         cmdMap.put(CMD_TYPE.BP89, "BP89");\r
         cmdMap.put(CMD_TYPE.AP93, "AP93");\r
         cmdMap.put(CMD_TYPE.BP93, "BP93");\r
+        cmdMap.put(CMD_TYPE.APXT, "APXT");\r
+        cmdMap.put(CMD_TYPE.BPXT, "BPXT");\r
     }\r
 \r
     private Connection mConnection=null;\r
@@ -1085,8 +1106,26 @@ public class protocol_jiai {
 \r
     }\r
 \r
+/***\r
+ * 9温度数据上传(上行协议号:AP50,响应:BP50)\r
+ * 示例:\r
+ * IWAP50,36.7,90#\r
+ * 说明:\r
+ * IW:标识符\r
+ * AP50 : 命令字符\r
+ * 36.7:温度\r
+ * 90:电量\r
+ * 平台响应:     IWBP50#\r
+ * 说明:   本消息适用所有终端\r
+ */\r
+public static StringMessage AP50(Runtime ds){\r
+    //示例数据:IWAP50,36.7,90#\r
+    return genStringMessage(cmdMap.get(CMD_TYPE.AP50),new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP50))\r
+            .append(CMDSPLIT).append(ds.tempInfo.currentBodyTemp)\r
+            .append(CMDSPLIT).append("100")\r
+            .append(CMDEND).toString());\r
 \r
-\r
+}\r
 \r
     /**\r
      * 返回上传心率血压的协议字串\r
@@ -1125,7 +1164,65 @@ public class protocol_jiai {
                 .append(CMDSPLIT).append(bpl)\r
                 .append(CMDEND).toString());\r
     }\r
+    public static StringMessage APHP(Runtime ds){\r
+        //IWAPHP,60,130,85,95,90, , , , , , , , #\r
+        //IW:标识符\r
+        //APHT : 命令字符\r
+        //60 : 表示心率\r
+        //130: 血压高压 [收缩压]\r
+        //85 : 血压低压 [舒张压]\r
+        //95:血氧\r
+        //90:血糖\r
+//        本消息适用所有终端,其中需要每项指标不一定全部有值,如果无值,则留空\r
+        return genStringMessage(cmdMap.get(protocol_ic.CMD_TYPE.APHP),new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_ic.CMD_TYPE.APHP))\r
+                .append(CMDSPLIT).append(ds.getHRS().getPPG())\r
+                .append(CMDSPLIT).append(ds.getHRS().getBPH())\r
+                .append(CMDSPLIT).append(ds.getHRS().getBPL())\r
+                .append(CMDSPLIT).append(ds.getHRS().getSpo2())\r
+                .append(CMDSPLIT).append(0)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDEND).toString());\r
+    }\r
+    public static StringMessage APHP(int ppg,int bph, int bpl, int spo2){\r
+        //IWAPHP,60,130,85,95,90, , , , , , , , #\r
+        //IW:标识符\r
+        //APHT : 命令字符\r
+        //60 : 表示心率\r
+        //130: 血压高压 [收缩压]\r
+        //85 : 血压低压 [舒张压]\r
+        //95:血氧\r
+        //90:血糖\r
+//        本消息适用所有终端,其中需要每项指标不一定全部有值,如果无值,则留空\r
+        return genStringMessage(cmdMap.get(protocol_ic.CMD_TYPE.APHP),new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_ic.CMD_TYPE.APHP))\r
+                .append(CMDSPLIT).append(ppg)\r
+                .append(CMDSPLIT).append(bph)\r
+                .append(CMDSPLIT).append(bpl)\r
+                .append(CMDSPLIT).append(spo2)\r
+                .append(CMDSPLIT).append(0)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDSPLIT)\r
+                .append(CMDEND).toString());\r
+    }\r
+\r
 \r
+    public void handleBPHP(){\r
+\r
+        ICLogger.i("服务器收到APHP 心率血压血氧 !");\r
+\r
+    }\r
 \r
     //立即定位反馈\r
     public static StringMessage AP16(String  cmdindex){\r
@@ -1555,10 +1652,124 @@ public class protocol_jiai {
 \r
     }\r
 \r
+\r
     public void handleBP94(){\r
 \r
     }\r
 \r
+    public static StringMessage APWT(){\r
+\r
+        return genStringMessage("APWT",new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APWT)).append(CMDEND).toString());\r
+\r
+    }\r
+\r
+    public void handleBPWT(Connection connection,Runtime runtime , String cmd) {\r
+/**\r
+ * 14同步天气(上行协议号:APWT,响应:BPWT)\r
+ * 示例:\r
+ * IWAPWT#\r
+ * 说明:\r
+ * IW:标识符\r
+ * APWT : 命令字符\r
+ * 平台响应:     IWBPWT, 深圳,  2018-12-24 16:45:5, 2018-12-25,1, 3,1,晴, 2018-12-26, -1,4,2, 阴, 2018-12-27,3,7, 3,小雨#\r
+ * 实际返回需要转换为unicode:\r
+ * IWBPWT, 6df15733,  2018-12-24 16:45:5, 2018-12-25,1, 3, 1, 6674, 2018-12-26, -1,4, 2,  9634, 2018-12-27,3,7, 3, 5c0f96e8#\r
+ * 深圳,所在城市,\r
+ * 2018-12-24 16:45:51 预报时间\r
+ * 2018-12-25: 当天日期\r
+ * 1:当天最低温度,表示1度\r
+ * 3:当天最高温度,表示3度\r
+ * 1:天气大类(1-晴、2-多云、3-雨、4-雪、5-未知)\r
+ * 晴:当天天气小类,中文描述\r
+ * 2018-12-26:第二天日期\r
+ * -1:第二天最低温度,表示-1度\r
+ * 4:第二天最高温度,表示4度\r
+ * 2:天气大类(1-晴、2-多云、3-雨、4-雪、5-未知)\r
+ * 阴:第二天天气\r
+ * 2018-12-27:第三天日期\r
+ * 3:第三天最低温度,表示3度\r
+ * 7:第三天最高温度,表示7度\r
+ * 3:天气大类(1-晴、2-多云、3-雨、4-雪、5-未知)\r
+ * 小雨:第三天天气\r
+ * 注:城市、天气为HEX的UNICODE编码,非明文;\r
+ * 在没有定位数据的情况下,则无法取到天气\r
+ * 如果未取到天气,则相关栏位留空,注意城市也有可能为空\r
+ * 说明:   本消息适用所有终端\r
+ */\r
+        String tmp,City,forecastTime,day1,day2,day3;\r
+        int temp_h_day1,temp_h_day2,temp_h_day3;\r
+        int temp_l_day1,temp_l_day2,temp_l_day3;\r
+        int temp_type_day1,temp_type_day2,temp_type_day3;\r
+        String temp_str_day1,temp_str_day2,temp_str_day3;\r
+\r
+        temp_h_day1=temp_h_day2=temp_h_day3=0;\r
+        temp_l_day1=temp_l_day2=temp_l_day3=0;\r
+        temp_type_day1=temp_type_day2=temp_type_day3=1;\r
+\r
+\r
+        String list[]=cmd.split(CMDSPLIT);\r
+\r
+        if (list.length==18){\r
+            try {\r
+                City = Util.decodeUnicode2Utf8(list[1]);\r
+                forecastTime = list[2];\r
+                day1 = list[3];\r
+                tmp = list[4];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_h_day1 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[5];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_l_day1 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[6];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_type_day1 = Integer.parseInt(tmp);\r
+                }\r
+                temp_str_day1=Util.decodeUnicode2Utf8(list[7]);\r
+                day2=list[8];\r
+                tmp = list[9];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_h_day2 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[10];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_l_day2 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[11];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_type_day2 = Integer.parseInt(tmp);\r
+                }\r
+                temp_str_day2=Util.decodeUnicode2Utf8(list[12]);\r
+                day3=list[13];\r
+                tmp = list[14];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_h_day3 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[15];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_l_day3 = Integer.parseInt(tmp);\r
+                }\r
+                tmp = list[16];\r
+                if (Util.isNumeric(tmp.trim().replace("-",""))) {\r
+                    temp_type_day3 = Integer.parseInt(tmp);\r
+                }\r
+                temp_str_day3=Util.decodeUnicode2Utf8(list[17]);\r
+\r
+                ICLogger.i("天气预报城市 "+City+", 预报时间 "+forecastTime+",\n第一天 "+day1+", 最高温度 "+temp_h_day1+",最低温度 "+temp_l_day1+",天气类型 "+temp_type_day1+" "+temp_str_day1\r
+                        +", \n第二天 "+day2+", 最高温度 "+temp_h_day2+",最低温度 "+temp_l_day2+",天气类型 "+temp_type_day2+" "+temp_str_day2\r
+                        +", \n第三天 "+day3+", 最高温度 "+temp_h_day3+",最低温度 "+temp_l_day3+",天气类型 "+temp_type_day3+" "+temp_str_day3      );\r
+            }catch (Exception e){\r
+                e.printStackTrace();\r
+                ICLogger.i("BPWT format error!"+e.getMessage());\r
+            }\r
+\r
+        }else{\r
+            ICLogger.i("BPWT format error!");\r
+        }\r
+    }\r
+\r
+\r
     public boolean handleCmd(CMD_TYPE type, String cmd) {\r
 \r
         //普通非二进制命令用此函数处理\r
@@ -1574,12 +1785,12 @@ public class protocol_jiai {
             case BP01: //gps定位包\r
                 handleBP01(cmd);\r
                 ICLogger.i("服务器收到定位AP01");\r
-                mConnection.DeliverCMDMessageToSystem("AP01",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("AP01",cmd);//通知下面线程服务器收到指令\r
                 break;\r
             case BP02:// wifi定位包\r
                 handleBP02(cmd);\r
                 ICLogger.i("服务器收到定位AP02");\r
-                mConnection.DeliverCMDMessageToSystem("AP02",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("AP02",cmd);//通知下面线程服务器收到指令\r
                 break;\r
             case BP03: //心跳包\r
                 handleBP03(cmd);\r
@@ -1593,19 +1804,19 @@ public class protocol_jiai {
                 break;\r
             case BP10:\r
                 //报警包\r
-                mConnection.DeliverCMDMessageToSystem("AP10",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("AP10",cmd);//通知下面线程服务器收到指令\r
                 break;\r
 \r
             case BPTM:\r
                 //校时命令\r
                 handleBPTM(cmd);\r
                 ICLogger.i("服务器收到校时命令APTM");\r
-                mConnection.DeliverCMDMessageToSystem("APTM",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("APTM",cmd);//通知下面线程服务器收到指令\r
                 break;\r
             case BP85://设置闹钟\r
                 handleBP85(cmd,mConnection,mRuntime);\r
                 ICLogger.i("收到服务器设置闹钟命令BP85");\r
-                mConnection.DeliverCMDMessageToSystem("AP85",cmd);//通知下面线程状态变化\r
+                mConnection.DeliverCMDMessageToSystem("AP85",cmd);//通知下面线程服务器收到指令\r
                 break;\r
             case BP33:\r
                 //设置工作模式\r
@@ -1679,7 +1890,17 @@ public class protocol_jiai {
                 ICLogger.i("收到服务器血压校准命令");\r
                 break;\r
             case BPHT:\r
-                ICLogger.i("服务器收到上传的心率血压");\r
+                ICLogger.i("服务器收到上传的心率血压APHT");\r
+                mConnection.DeliverCMDMessageToSystem("APHT",cmd);//通知下面线程服务器收到指令\r
+                break;\r
+            case BPHP:\r
+                ICLogger.i("服务器收到上传的心率血压血氧APHP");\r
+                mConnection.DeliverCMDMessageToSystem("APHP",cmd);//通知下面线程服务器收到指令\r
+                break;\r
+\r
+            case BP50:\r
+                ICLogger.i("服务器收到体温AP50");\r
+                mConnection.DeliverCMDMessageToSystem("AP50",cmd);//通知下面线程服务器收到指令\r
                 break;\r
             case BP84:\r
                 handleBP84(cmd,mConnection);\r
@@ -1689,7 +1910,7 @@ public class protocol_jiai {
             case BP86:\r
                 //心率血压周期设置\r
                 handleBP86(cmd,mConnection,mRuntime);\r
-//                                ICLogger.i("");\r
+\r
                 break;\r
             case BP89:\r
                 //心率/血压阀值\r
@@ -1698,11 +1919,18 @@ public class protocol_jiai {
 \r
             case BP94:\r
                 handleBP94();\r
+                mConnection.DeliverCMDMessageToSystem("AP94",cmd);//通知下面线程状态变化\r
                 break;\r
             case BP93:\r
                 //服务器下发文版\r
                 handleBP93(mConnection,mRuntime,cmd);\r
                 break;\r
+\r
+            case BPWT:\r
+                //心率/血压阀值\r
+                handleBPWT(mConnection,mRuntime,cmd);\r
+                break;\r
+\r
         }\r
 \r
         return ret;\r
index 468216a..dfd6789 100644 (file)
@@ -1,2 +1,2 @@
-#Sat Sep 19 22:08:22 CST 2020\r
-VERSION_CODE=624\r
+#Thu Sep 24 15:08:04 CST 2020\r
+VERSION_CODE=627\r