From: SnickerSun Date: Thu, 23 Sep 2021 12:23:55 +0000 (+0800) Subject: release ICProtocol8.1_V931 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=dd3e7e244fbade5b6c142cd22d5418090e9aa331;p=protocol_srv.git release ICProtocol8.1_V931 心率测试失败 上报0 message fzd 添加 LOCATIONMODE 设置 工作模式。 --- diff --git a/app/build.gradle b/app/build.gradle index db8107fe..9ea3b6de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' // APK 名称 static def getApkBaseName() { - return "ICProtocol8.1" + return "ICProtocol81" } android { diff --git a/app/release/ICProtocol81_V931_2109232020_release.apk b/app/release/ICProtocol81_V931_2109232020_release.apk new file mode 100644 index 00000000..963b26cf Binary files /dev/null and b/app/release/ICProtocol81_V931_2109232020_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 0653acd9..b158c259 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":928,"versionName":"2109081956","enabled":true,"outputFile":"ICProtocol8.1_V928_2109081956_release.apk","fullName":"release","baseName":"release"},"path":"ICProtocol8.1_V928_2109081956_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":931,"versionName":"2109232020","enabled":true,"outputFile":"ICProtocol81_V931_2109232020_release.apk","fullName":"release","baseName":"release"},"path":"ICProtocol81_V931_2109232020_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/ic/protocolSrv/Config.java b/app/src/main/java/com/ic/protocolSrv/Config.java index 3102544b..3811342e 100644 --- a/app/src/main/java/com/ic/protocolSrv/Config.java +++ b/app/src/main/java/com/ic/protocolSrv/Config.java @@ -592,7 +592,6 @@ public class Config { public static final int PROTOCOL_ANAN = 5; public static final int PROTOCOL_S123 = 6; public static final int PROTOCOL_GATOR = 7; - public static final int PROTOCOL_W100 = 8; public static final int PROTOCOL_UNKNOWN = 255; public static int protocol_no = getProtocolNumber(); diff --git a/app/src/main/java/com/ic/protocolSrv/service/HeartRateManager.java b/app/src/main/java/com/ic/protocolSrv/service/HeartRateManager.java index 702d3d8f..1304b296 100644 --- a/app/src/main/java/com/ic/protocolSrv/service/HeartRateManager.java +++ b/app/src/main/java/com/ic/protocolSrv/service/HeartRateManager.java @@ -260,16 +260,18 @@ public class HeartRateManager extends AbstractInvokeHandlerService { //如果为0,那么就不上传了 if (heartRate.getHeartRate() == 0) { ICLogger.d("result invalidate..."); - return; + runtime.getHRS().setHeartrateStat(heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_FAILED); + uploadResult(); + }else { + //BY TrillGates + //判断是否有超出阀值 + //如果超出的话,插入一条警告通知 + //如果数据为0,不处理 + checkHeartRateValue(heartRate); + runtime.getHRS().setHeartrateStat(heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_SUCCESS); + runtime.getHRS().setLastHeartrate(heartRate.getHeartRate(), heartRate.getBloodHeight(), heartRate.getBloodLow(), heartRate.getOxygen()); + uploadResult(); } - //BY TrillGates - //判断是否有超出阀值 - //如果超出的话,插入一条警告通知 - //如果数据为0,不处理 - checkHeartRateValue(heartRate); - runtime.getHRS().setHeartrateStat(heartRateStatus.HEARTRATE_WORKINGSTAT.HEARTRATE_TEST_SUCCESS); - runtime.getHRS().setLastHeartrate(heartRate.getHeartRate(), heartRate.getBloodHeight(), heartRate.getBloodLow(), heartRate.getOxygen()); - uploadResult(); } private void checkHeartRateValue(HeartRate heartRate) { @@ -398,7 +400,21 @@ public class HeartRateManager extends AbstractInvokeHandlerService { } } else { - ICLogger.i("PPG Failed for Timeout!"); + ICLogger.i("PPG Failed for Timeout! send 0 message to server"); + if (!Runtime.practising) { + StringMessage PPGDATA = protocolAPIHelper.getPPG_ECG_MSG(runtime,0,0,0,0); + //因为协议中没有时间变量,所以只能实时传输,如果恰巧没有网络也只能丢弃,有时间变量的话,可以考虑通过deliver的buffer来进行缓存发送 + if (PPGDATA == null) { + StringMessage ppgd = protocolAPIHelper.getPPG_MSG(0, this.runtime); + StringMessage bloodd = protocolAPIHelper.getBlood_MSG(0,0, this.runtime); + StringMessage oxd = protocolAPIHelper.getOxygen_MSG(0, this.runtime); + Deliver.sendLocationMSG(ppgd); + Deliver.sendLocationMSG(bloodd); + Deliver.sendLocationMSG(oxd); + } else { + Deliver.sendLocationMSG(PPGDATA); + } + } } } diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 90d7ad77..559b0492 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -961,7 +961,7 @@ public class protocolAPIHelper { return ret; } - public static StringMessage getPPG_ECG_MSG(int ppg, int bph, int bpl, int spo2, Runtime runtime) { + public static StringMessage getPPG_ECG_MSG(Runtime runtime,int ppg, int bph, int bpl, int spo2 ) { if (is_protocol_not_Initialled()) return null; StringMessage ret = null; diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index a95a5238..635ccff1 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -441,6 +441,7 @@ public class protocol_fzd { SOSON,//w100SOS 报警开关 IP,//配置服务器地址 SOSREC,//服务器响应S0S消息 + LOCATIONMODE,//设置工作模式 } public static HashMap cmdMap = null; @@ -520,6 +521,7 @@ public class protocol_fzd { cmdMap.put(CMD_TYPE.SOSON, "SOSON"); cmdMap.put(CMD_TYPE.IP, "IP"); cmdMap.put(CMD_TYPE.SOSREC, "SOSREC"); + cmdMap.put(CMD_TYPE.LOCATIONMODE, "LOCATIONMODE"); } private Connection mConnection = null; @@ -1272,6 +1274,41 @@ public class protocol_fzd { } } + + public static StringMessage LOCATIONMODE() { + + return genFZDCMD(cmdMap.get(CMD_TYPE.LOCATIONMODE)); + } + + public void handleLOCATIONMODE(Connection connection, Runtime runtime, String cmd, String data) { + /** + * 平台发送: + * [XT*YYYYYYYYYYYYYYY*LEN*LOCATIONMODE,mode,cycle_seconds] + * 实例:[XT*334588000000156*0012*LOCATIONMODE,8,900] + * 终端回复: + * [XT*YYYYYYYYYYYYYYY*LEN*LOCATIONMODE] + * 实例:[XT*334588000000156*000C*LOCATIONMODE] + * @return + */ + connection.send(LOCATIONMODE()); + try { + String list[]=data.split(CMD_SPLIT); + if(list.length==2) { + int timesecond = Integer.parseInt(list[1]); + int mod = Integer.parseInt(list[0]); + log("LOCATION_MODE " + LOCATION_MODE + " mod " + mod); + Config.setLocationMode(runtime.getContextProxy().context, mod); + Config.setLocationCycle(runtime.getContextProxy().context, timesecond); + runtime.getLocationInstance().setLocation_cycle(timesecond); + runtime.getLocationInstance().setWorkingMod(mod); + } +// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); + //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。 + } catch (Exception e) { + ICLogger.e(e.getMessage(), e); + } + } + public static StringMessage heart(int hrt) { return genFZDCMD(cmdMap.get(CMD_TYPE.heart), String.valueOf(hrt)); } @@ -1695,6 +1732,12 @@ public class protocol_fzd { //通知下面线程状态变化 mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd); break; + case LOCATIONMODE: + //设置工作模式 + handleLOCATIONMODE(mConnection,mRuntime,cmd,data); + //通知下面线程状态变化 + mConnection.DeliverCMDMessageToSystem("setWorkMod", cmd); + break; case SOS: //收到设置SOS号码 handleSOS(mConnection, mRuntime, cmd, data); diff --git a/app/version_code.properties b/app/version_code.properties index b2c0774a..ee0092ac 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Wed Sep 08 19:56:03 CST 2021 -VERSION_CODE=928 +#Thu Sep 23 20:20:45 CST 2021 +VERSION_CODE=931 diff --git a/icsupport.iml b/icsupport.iml deleted file mode 100644 index 30277a3e..00000000 --- a/icsupport.iml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file