public static native int getSPO2();\r
\r
\r
+ /*获取温度校准后= getTemperatureOrigin - adjustValue */\r
public static native double getTemperature();\r
+\r
+ /*获取温度校准前*/\r
+ public static native double getTemperatureOrigin();\r
+\r
+ /*设置校准参数*/\r
+ public static native int setTemperatureAdjustValue(double value);\r
+\r
+ /*设置校准参数*/\r
+ public static native double getTemperatureAdjustValue();\r
+\r
+ /*设置当前温度标志位,实际上就是按照二进制位来定义的。\r
+ 0、可以测温\r
+ 第一位为1,0x1、充电超过2分钟或者充电超过2分钟后拔除5分钟内 0001\r
+ 第二位为1,0x2、亮屏超过5分钟或者亮屏超过5分钟后灭屏5分钟内 0010\r
+ 第三位为1,0x4、通话超过2分钟或者通话超过2分钟后挂断5分钟内 0100\r
+ 所有大于0的都不能测温 */\r
+ public static native int setTemperatureValidFlag(int flag);\r
+\r
+ /*此操作仅仅为了检查标志状态设置成功与否,标志已经在内部被使用*/\r
+ public static native int getTemperatureValidFlag();\r
+\r
+\r
}\r
};\r
mTimer.schedule(HRTimerTask,0,1000L);\r
}\r
- public static String readFileLine(File file) {\r
- DataInputStream dis = null;\r
- try {\r
- if (!file.exists()) {\r
- file.createNewFile();\r
- }\r
- dis = new DataInputStream(new FileInputStream(file));\r
- String tmp=dis.readLine();\r
- return tmp;\r
- } catch (IOException e) {\r
- e.printStackTrace();\r
- }\r
- return "";\r
- }\r
- public static double getTempAdjustValue(){\r
-\r
- String tmpstr=readFileLine(new File("/productinfo/temp_adjust_37.txt"));\r
-\r
- double tmp=0.0f;\r
\r
- if (tmpstr==null || tmpstr.isEmpty())\r
- {\r
- tmpstr="0.0";\r
- }\r
- tmp=Double.valueOf(tmpstr);\r
-\r
- Logger.d("get Temperature Adjust Value from /productinfo/temp_adjust_37.txt , value="+tmpstr);\r
- return tmp;\r
-\r
- }\r
Handler mhandler=new Handler(new Handler.Callback() {\r
@Override\r
public boolean handleMessage(Message message) {\r
int ppg=ICJniUtils.getPPG();\r
int weared=ICJniUtils.isWeared();\r
double temp=ICJniUtils.getTemperature();\r
- double adjust=getTempAdjustValue();\r
+ double adjust=ICJniUtils.getTemperatureAdjustValue();\r
String wearedstr=String.valueOf(weared);\r
String ppgstr=String.valueOf(ppg);\r
String tempstr=String.format("%1$.2f",temp);\r
- tempstr=tempstr+"-("+String.format("%1$.2f",adjust)+")="+String.format("%1$.2f",(temp-adjust));\r
+ tempstr=tempstr+" ("+String.format("%1$.2f",adjust)+")";\r
tv_isweared.setText(wearedstr);\r
tv_ppg.setText(ppgstr);\r
tv_temperature.setText(tempstr);\r
Handler mhandler=new Handler(new Handler.Callback() {\r
@Override\r
public boolean handleMessage(Message message) {\r
-\r
- double temp = ICJniUtils.getTemperature();\r
+ double temp = ICJniUtils.getTemperatureOrigin();\r
String tempstr = String.format("%1$.2f", temp);\r
tv_temperature.setText(tempstr);\r
Logger.d("Temperature:" + tempstr);\r
\r
tv_mesg.setText("体温校准完毕,偏差数据"+String.format("%1$.2f",(avg_temp-37.0f))+"摄氏度!");\r
if(mTestTimer!=null) {\r
-\r
mTestTimer.cancel();\r
mTestTimer=null;\r
}\r
private void save_adjust_value(){\r
\r
if (adjust_start_seconds_left<=0){\r
- try {\r
- new FileOutputStream(new File("/productinfo/temp_adjust_37.txt")).write(String.format("%1$.2f",(avg_temp-37.0f)).getBytes());\r
- Logger.d("write "+String.format("%1$.2f",(avg_temp-37.0f))+" to /productinfo/temp_adjust_37.txt success!");\r
- } catch (IOException e) {\r
- e.printStackTrace();\r
- Logger.d("/productinfo/temp_adjust_37.txt 写入失败!");\r
- }\r
-\r
+ double adjustvalue=(avg_temp-37.0f);\r
+ ICJniUtils.setTemperatureAdjustValue(adjustvalue);\r
+ Logger.d("write Temp Adjust Value "+String.format("%1$.2f",adjustvalue)+" !");\r
}\r
}\r
@Override\r
-#Fri Jun 26 12:47:44 CST 2020\r
-VERSION_CODE=28\r
+#Tue Jun 30 18:02:55 CST 2020\r
+VERSION_CODE=29\r