From: TrillGates Date: Sat, 17 Jul 2021 06:40:03 +0000 (+0800) Subject: save heart rate oxygen blood pressure limit value. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=eaf48937a2ca7407b831050c6ba4493b892eca3c;p=protocol_srv.git save heart rate oxygen blood pressure limit value. --- diff --git a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java index 13d6a9c3..011890d6 100644 --- a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java @@ -161,6 +161,10 @@ public class HeartRateManager extends AbstractInvokeHandlerService { ICLogger.d("result invalidate..."); return; } + //TODO:BY TrillGates + //判断是否有超出阀值 + //如果超出的话,插入一条警告通知 + //TODO: runtime.getHRS().setHeartrateStat(heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_SUCCESS); runtime.getHRS().setLastHeartrate(heartRate.getHeartRate(), heartRate.getBloodHeight(), heartRate.getBloodLow(), heartRate.getOxygen()); uploadResult(); diff --git a/app/src/main/java/com/ic/protocols/protocol_s123.java b/app/src/main/java/com/ic/protocols/protocol_s123.java index f4228170..313b06dd 100644 --- a/app/src/main/java/com/ic/protocols/protocol_s123.java +++ b/app/src/main/java/com/ic/protocols/protocol_s123.java @@ -1855,7 +1855,7 @@ public class protocol_s123 { public void handleBP89(String cmd, Connection connection) { //示例: - //IWBP89, 353456789012345, 080835,50,90,80,90,110,140# + //IWBP89, 353456789012345, 080835,50,90,80,90,110,140,95# //说明: //IW:标识符 //BP89 : 命令字符 @@ -1863,10 +1863,11 @@ public class protocol_s123 { //080835 :指令流水号 //50: 心率低阀值,低于该阀值上传心率,如果未设置,则留空 //90: 心率高阀值,高于该阀值上传心率,如果未设置,则留空 - //80: 低压阀值,低压低于该阀值上传血压,如果未设置,则留空 - //90: 低压阀值,低压高于该阀值上传血压,如果未设置,则留空 - //110: 高压阀值,高压低于该阀值上传血压,如果未设置,则留空 - //140: 高压阀值,高压高于该阀值上传血压,如果未设置,则留空 + //80: 血压低压阀值,低压低于该阀值上传血压,如果未设置,则留空 + //90: 血压低压阀值,低压高于该阀值上传血压,如果未设置,则留空 + //110: 血压高压阀值,高压低于该阀值上传血压,如果未设置,则留空 + //140: 血压高压阀值,高压高于该阀值上传血压,如果未设置,则留空 + //95 血氧阈值,低于该阈值终端立即显示报警,并上传血氧消息,如果未设置,则留空(新增) String[] list = cmd.split(CMDSPLIT); if (list.length == 9) { String index = list[2]; @@ -1876,16 +1877,41 @@ public class protocol_s123 { String BPH_L = list[6]; String BPL_H = list[7]; String BPL_L = list[8]; + String OXYGEN = list[9]; connection.send(AP89(index)); - - - ICLogger.i("收到服务器指令:心率/血压阀值 " + PPGH + "," + PPGL + "," + BPH_H + "," + BPH_L + "," + BPL_H + "," + BPL_L); + ICLogger.i("收到服务器指令:心率/血压阀值 " + + PPGH + "," + + PPGL + "," + + BPH_H + "," + + BPH_L + "," + + BPL_H + "," + + BPL_L + "," + + OXYGEN); + //保存记录到全局设置中 + //每次测完血压/血氧/心率进行比对 + //如果超出了阀值,那么就创建警告通知 + updateIcSettingsValue("heart_rate_bottom_limit_value", PPGH); + updateIcSettingsValue("heart_rate_top_limit_value", PPGL); + updateIcSettingsValue("blood_pressure_low_bottom_limit_value", BPL_L); + updateIcSettingsValue("blood_pressure_low_top_limit_value", BPL_H); + updateIcSettingsValue("blood_pressure_high_bottom_limit_value", BPH_L); + updateIcSettingsValue("blood_pressure_high_top_limit_value", BPH_H); + updateIcSettingsValue("blood_oxygen_limit_value", OXYGEN); } else { ICLogger.i("BP89 format error!"); } + } + private void updateIcSettingsValue(String key, String value) { + ContentResolver resolver = mRuntime.getContextProxy().getResolver(); + ContentValues values = new ContentValues(); + values.put(ICDatabaseHelper.sKey, key); + //把值保存到数据库中,相机会就监听数据库值的变化,做出响应 + values.put(ICDatabaseHelper.sValue, value); + resolver.insert(Uri.parse(ICGlobalSettingsProvider.SETTINGS), values); } + //体温间隔测量 (后台测试体温)(下行协议号:BPTE,响应:APTE) public static StringMessage APTE(String index, int freq) {