}
}
+
public static double getBodyTemp(double wristtemp, double envtemp) {
- return ICJniUtils.getBodyTempFromWristTemp(wristtemp, envtemp);
+ return ICJniUtils.getBodyTempFromWristTemp(wristtemp, envtemp);
}
+
public static void disableTemp() {
if (ICJniUtils.isTemperatureDevAvailable() > ICJniUtils.TempSensorType.TEMPSENSOR_TYPE_NONE.ordinal()) {
ICJniUtils.disableTemperature();
String envDy = IcSystemProperty.getSystemProperties("persist.sys.envAlgDy", "");
IcLog.d(TAG, "envSlope == > " + envSlope + " envDy == > " + envDy);
double resultEnvTemp = evnTemp;
- if (!TextUtils.isEmpty(envDy) && !TextUtils.isEmpty(envSlope)) {
+ if (!TextUtils.isEmpty(envDy) && !TextUtils.isEmpty(envSlope) && boardTemp > 38) {
//进行换算
IcLog.d(TAG, "env temp with board temp...");
resultEnvTemp = evnTemp - (Float.parseFloat(envSlope) * boardTemp + Float.parseFloat(envDy));
+ } else if (boardTemp <= 38 && boardTemp >= 32) {
+ IcLog.d(TAG, "in range of 32 to 38");
+ //Ut = St-(Bt*0.869-27.167) Bt∈[32,38)
+ resultEnvTemp = evnTemp - (0.869 * boardTemp - 27.167);
+ } else {
+ //TODO:主板温度低于32度的,如果测试有这样的case,再采集数据
}
String bodySlope = IcSystemProperty.getSystemProperties("persist.sys.bodyAlgSlope", "");
IcLog.d(TAG, "body temp with board temp...");
resultBodyTemp = bodyTemp - (Float.parseFloat(bodySlope) * boardTemp + Float.parseFloat(bodyDy));
}
-
//=======================================================================end
IcLog.d(TAG, "evnTemp == > " + evnTemp + " resultEnvTemp = > " + resultEnvTemp);
IcLog.d(TAG, "bodyTemp == > " + bodyTemp + " resultBodyTemp = > " + resultBodyTemp);