From: snickersun Date: Tue, 28 Jan 2020 17:34:55 +0000 (+0800) Subject: 添加BP86和BP89的协议解析响应。没有实际设置Alarm 。 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.js?a=commitdiff_plain;h=c284656565ea874ee7772c1d360e59d8c150f044;p=icsupport.git 添加BP86和BP89的协议解析响应。没有实际设置Alarm 。 BP86设置心率血压周期有测试,BP89没有apk接口,未测试。 --- diff --git a/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java b/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java index b7f53749..dd7d0042 100644 --- a/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocol/adapter/protocolAPIHelper.java @@ -1066,6 +1066,83 @@ public static String AP15(String index){ } + //17.设置心率/血压测量周期(下行协议号:BP86,响应:AP86) + public static String AP86(String index){ + + //设备响应: IWAP86, 080835# + //080835:指令流水号 + return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP86)) + .append(CMDSPLIT).append(index) + .append(CMDEND).toString(); + } + + public void handleBP86(String cmd,Connection connection){ + + //示例: + //IWBP86, 353456789012345, 080835,1,720# + //说明: + //IW:标识符 + //BP86 : 命令字符 + //353456789012345:IMEI号,设备唯一ID + //080835 :指令流水号 + //1: 表示心率周期;2 :表示血压周期 + //720: 表示720分钟 + + String[] list=cmd.split(CMDSPLIT); + + if (list.length==5){ + String index=list[2]; + String type=list[3]; + String cycle=list[4]; + connection.send(protocolAPIHelper.genStringMessage("AP86",AP86(index))); + Logger.i("收到服务器指令:设置"+(type.equals("1")?"心率周期 ":"血压周期 ")+cycle+"分钟"); + }else{ + Logger.i("BP86 format error!"); + } + + } + + //18.18.设置心率/血压阀值(下行协议号:BP89,响应:AP89) + public static String AP89(String index){ + + //设备响应: IWAP89, 080835# + //080835:指令流水号 + return new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP89)) + .append(CMDSPLIT).append(index) + .append(CMDEND).toString(); + } + + public void handleBP89(String cmd,Connection connection){ + + //示例: + //IWBP89, 353456789012345, 080835,50,90,80,90,110,140# + //说明: + //IW:标识符 + //BP89 : 命令字符 + //353456789012345:IMEI号,设备唯一ID + //080835 :指令流水号 + //50: 心率低阀值,低于该阀值上传心率,如果未设置,则留空 + //90: 心率高阀值,高于该阀值上传心率,如果未设置,则留空 + //80: 低压阀值,低压低于该阀值上传血压,如果未设置,则留空 + //90: 低压阀值,低压高于该阀值上传血压,如果未设置,则留空 + //110: 高压阀值,高压低于该阀值上传血压,如果未设置,则留空 + //140: 高压阀值,高压高于该阀值上传血压,如果未设置,则留空 + String[] list=cmd.split(CMDSPLIT); + if (list.length==9){ + String index=list[2]; + String PPGH=list[3]; + String PPGL=list[4]; + String BPH_H=list[5]; + String BPH_L=list[6]; + String BPL_H=list[7]; + String BPL_L=list[8]; + connection.send(protocolAPIHelper.genStringMessage("AP89",AP89(index))); + Logger.i("收到服务器指令:心率/血压阀值 "+PPGH+","+PPGL+","+BPH_H+","+BPH_L+","+BPL_H+","+BPL_L); + }else{ + Logger.i("BP89 format error!"); + } + + } public interface CmdHandler { diff --git a/app/src/main/java/com/ic/protocol/service/Deliver.java b/app/src/main/java/com/ic/protocol/service/Deliver.java index 7f5135f4..ee5cca02 100644 --- a/app/src/main/java/com/ic/protocol/service/Deliver.java +++ b/app/src/main/java/com/ic/protocol/service/Deliver.java @@ -142,7 +142,7 @@ public class Deliver extends AbstractConnectionService { if ("1".equals(arrayOfString4[1])) { int j = paramRuntime.getContextProxy().getTelephonyManager().getCallState(); if (1 != j && 2 != j && !isSilence(paramRuntime)) { - paramRuntime.getContextProxy().startSearchActivity(); +// paramRuntime.getContextProxy().startSearchActivity(); return true; } } else { diff --git a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java index dae64800..37767a31 100644 --- a/app/src/main/java/com/ic/protocol/utils/NettyConnection.java +++ b/app/src/main/java/com/ic/protocol/utils/NettyConnection.java @@ -151,6 +151,14 @@ public class NettyConnection implements Connection { API.handleBP84(cmd,NettyConnection.this); Logger.i("收到服务器白名单命令"); break; + + case BP86: + API.handleBP86(cmd,NettyConnection.this); +// Logger.i(""); + break; + case BP89: + API.handleBP89(cmd,NettyConnection.this); + break; } return ret;