From: snickersun Date: Wed, 5 Aug 2020 19:57:23 +0000 (+0800) Subject: protocol_ic 添加IC68 温度检测功能 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=81be508d45a9fed30a9a8c21c9ab87015f062e2c;p=protocol_srv.git protocol_ic 添加IC68 温度检测功能 --- diff --git a/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java b/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java index af4ab0ca..d3799902 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java @@ -1,9 +1,21 @@ package com.enqualcomm.support.utils; +import android.content.Context; +import android.content.Intent; + +import com.enqualcomm.support.Constants; +import com.enqualcomm.support.CoreService; import com.ic.jni.ICJniUtils; +import com.ic.protocols.protocolAPIHelper; import com.sina.util.dnscache.log.FileUtil; import java.io.File; +import java.util.concurrent.TimeUnit; + +import rx.Observable; +import rx.functions.Action1; + +import static com.enqualcomm.support.Constants.DIALOG_ACTION; public class TemperatureUtil { @@ -36,4 +48,40 @@ public class TemperatureUtil { ICLogger.i("get body Temperature value="+body_temp_value); return body_temp_value; } + + + public static void doTempTestInThread(){ + Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1() { + public void call(Long param1Long) { + + if (ICJniUtils.isTemperatureDevAvailable()==ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_IC68.ordinal()){ + ICJniUtils.enableTemperature(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + double wrist_temp,body_temp; + + wrist_temp=TemperatureUtil.get_temp_value_adjusted(); + body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f); + String temperatureMsg= protocolAPIHelper.getTemperatureMSG(wrist_temp, body_temp); + CoreService.getInstance().getConnection().send(protocolAPIHelper.genStringMessage("APTP",temperatureMsg)); + ICLogger.i("发送体温测量值 "+temperatureMsg); + + ICJniUtils.disableTemperature(); + }else{ + double wrist_temp,body_temp; + + wrist_temp=TemperatureUtil.get_temp_value_adjusted(); + body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f); + String temperatureMsg= protocolAPIHelper.getTemperatureMSG(wrist_temp, body_temp); + CoreService.getInstance().getConnection().send(protocolAPIHelper.genStringMessage("APTP",temperatureMsg)); + ICLogger.i("发送体温测量值 "+temperatureMsg); + } + + } + }); + } } diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index 43d5998e..771662ae 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -1655,12 +1655,9 @@ public class protocol_ic { ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。"); Config.setTemperatureTestCycle(runtime,freq*60); CoreService.getInstance().setTempAlarm(); - double wrist_temp,body_temp; - wrist_temp=TemperatureUtil.get_temp_value_adjusted(); - body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f); - String temperatureMsg=APTP(wrist_temp,body_temp); - connection.send(genStringMessage("APTP",temperatureMsg)); - ICLogger.i("发送体温测量值 "+temperatureMsg); + + + TemperatureUtil.doTempTestInThread(); }else{ ICLogger.i("BP89 format error!"); }