protocol_ic 添加IC68 温度检测功能
authorsnickersun <snickersun@qq.com>
Wed, 5 Aug 2020 19:57:23 +0000 (03:57 +0800)
committersnickersun <snickersun@qq.com>
Wed, 5 Aug 2020 19:57:23 +0000 (03:57 +0800)
app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java
app/src/main/java/com/ic/protocols/protocol_ic.java

index af4ab0c..d379990 100644 (file)
@@ -1,9 +1,21 @@
 package com.enqualcomm.support.utils;\r
 \r
+import android.content.Context;\r
+import android.content.Intent;\r
+\r
+import com.enqualcomm.support.Constants;\r
+import com.enqualcomm.support.CoreService;\r
 import com.ic.jni.ICJniUtils;\r
+import com.ic.protocols.protocolAPIHelper;\r
 import com.sina.util.dnscache.log.FileUtil;\r
 \r
 import java.io.File;\r
+import java.util.concurrent.TimeUnit;\r
+\r
+import rx.Observable;\r
+import rx.functions.Action1;\r
+\r
+import static com.enqualcomm.support.Constants.DIALOG_ACTION;\r
 \r
 public class TemperatureUtil {\r
 \r
@@ -36,4 +48,40 @@ public class TemperatureUtil {
         ICLogger.i("get body Temperature value="+body_temp_value);\r
         return body_temp_value;\r
     }\r
+\r
+\r
+    public static void doTempTestInThread(){\r
+        Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+            public void call(Long param1Long) {\r
+\r
+                if (ICJniUtils.isTemperatureDevAvailable()==ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_IC68.ordinal()){\r
+                    ICJniUtils.enableTemperature();\r
+                    try {\r
+                        Thread.sleep(1000);\r
+                    } catch (InterruptedException e) {\r
+                        e.printStackTrace();\r
+                    }\r
+\r
+                    double wrist_temp,body_temp;\r
+\r
+                    wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
+                    body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f);\r
+                    String temperatureMsg= protocolAPIHelper.getTemperatureMSG(wrist_temp, body_temp);\r
+                    CoreService.getInstance().getConnection().send(protocolAPIHelper.genStringMessage("APTP",temperatureMsg));\r
+                    ICLogger.i("发送体温测量值 "+temperatureMsg);\r
+\r
+                    ICJniUtils.disableTemperature();\r
+                }else{\r
+                    double wrist_temp,body_temp;\r
+\r
+                    wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
+                    body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f);\r
+                    String temperatureMsg= protocolAPIHelper.getTemperatureMSG(wrist_temp, body_temp);\r
+                    CoreService.getInstance().getConnection().send(protocolAPIHelper.genStringMessage("APTP",temperatureMsg));\r
+                    ICLogger.i("发送体温测量值 "+temperatureMsg);\r
+                }\r
+\r
+            }\r
+        });\r
+    }\r
 }\r
index 43d5998..771662a 100644 (file)
@@ -1655,12 +1655,9 @@ public class protocol_ic {
             ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。");\r
             Config.setTemperatureTestCycle(runtime,freq*60);\r
             CoreService.getInstance().setTempAlarm();\r
-            double wrist_temp,body_temp;\r
-            wrist_temp=TemperatureUtil.get_temp_value_adjusted();\r
-            body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f);\r
-            String temperatureMsg=APTP(wrist_temp,body_temp);\r
-            connection.send(genStringMessage("APTP",temperatureMsg));\r
-            ICLogger.i("发送体温测量值 "+temperatureMsg);\r
+\r
+\r
+           TemperatureUtil.doTempTestInThread();\r
         }else{\r
             ICLogger.i("BP89 format error!");\r
         }\r