float body_temp_value = 0.0;
mmi_tsensor_body_value_get(&body_temp_value);
- sprintf(str, "body temp:\n %.2f %s", body_temp_value, (char *)lv_lang_get_text(WATCH_TEXT_ID_TEMPERATURE_UNIT));
+ sprintf(str, "%s:\n %.2f %s", (char *)lv_lang_get_text(WATCH_TEXT_ID_TEMPERATURE),
+ body_temp_value,
+ (char *)lv_lang_get_text(WATCH_TEXT_ID_TEMPERATURE_UNIT));
lv_label_set_text(anim->var,str);
}
#endif
char str[32]= {0};
- sprintf(str, "body temp: ");
+ sprintf(str, "%s:", (char *)lv_lang_get_text(WATCH_TEXT_ID_TEMPERATURE));
lv_label_set_text(label,str);
lv_anim_path_t path;
// heart
#ifdef __MMI_HEALTH_MEASURE_HEART_SUPPORT__
-static void mmi_factorymode_heart_test_status_update(lv_anim_t * anim)
+
+#if USE_HX3918
+
+#include "../../..//lv_drivers/indev/HX3918/hx3918.h"
+#include "../../../lv_drivers/indev/HX3918/hx3918_factory_test.h"
+
+extern factory_result_t factory_reslts;
+#ifdef SAR_ALG_LIB
+extern int16_t nv_wear_offset[2] ;
+extern int16_t nv_base_data[2];
+#else
+int16_t nv_wear_offset[2] ;
+int16_t nv_base_data[2];
+#endif
+static uint32_t s_sensor_counter = 0;
+
+static void mmi_factorymode_live_calibration_status_update(lv_anim_t * anim)
+{
+ char str[64]= {0};
+
+ sprintf(str, "%s: %d,%d,%d,%d", (char *)lv_lang_get_text(WATCH_TEXT_ID_CALIBRATION_DATA),
+ nv_wear_offset[0],
+ nv_wear_offset[1],
+ nv_base_data[0],
+ nv_base_data[1]);
+ lv_label_set_text(anim->var, str);
+
+ s_sensor_counter++;
+ if(3 > s_sensor_counter)
+ {
+ // this function need called many times
+ HX3918_test(255);
+ }
+ else if(9 == s_sensor_counter)
+ {
+ mmi_hsensor_close();
+
+ lv_obj_t * par = lv_obj_get_parent(anim->var);
+ lv_obj_t * label_result = lv_label_create(par, anim->var);
+ if((nv_wear_offset[0] || nv_wear_offset[1]) && (nv_base_data[0] || nv_base_data[1]))
+ sprintf(str, "%s%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIVE_CALIBRATION), (char *)lv_lang_get_text(WATCH_TEXT_ID_SUCCESS));
+ else
+ sprintf(str, "%s%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIVE_CALIBRATION), (char *)lv_lang_get_text(WATCH_TEXT_ID_FAIL));
+
+ lv_label_set_text(label_result, str);
+ lv_obj_align(label_result, anim->var, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+ }
+}
+
+static void mmi_factorymode_live_calibration_event_cb(lv_obj_t * btn, lv_event_t e)
+{
+ if(LV_EVENT_CLICKED != e)
+ return;
+
+ if(NULL == btn)
+ return;
+
+ lv_obj_t * par = lv_obj_get_parent((lv_obj_t*)btn);
+ if(NULL == par)
+ return;
+
+ lv_obj_del(btn);
+
+ testing_st = FAC_HEART;
+ HX3918_test(255);
+ s_sensor_counter = 0;
+
+ lv_obj_t * label = lv_label_create(par, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
+ lv_obj_set_width(label, LV_HOR_RES - 40);
+ lv_obj_set_pos(label, 20, LV_VER_RES / 4);
+
+ char str[64]= {0};
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_CALIBRATION_DATA));
+ lv_label_set_text(label,str);
+
+ lv_anim_path_t path;
+ lv_anim_path_init(&path);
+ lv_anim_path_set_cb(&path, lv_anim_path_step);
+
+ lv_anim_t a;
+ lv_anim_init(&a);
+ lv_anim_set_var(&a, label);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_live_calibration_status_update);
+ lv_anim_set_time(&a, 1);
+ lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
+ lv_anim_set_delay(&a,1000);
+ lv_anim_set_repeat_delay(&a, 1000);
+ lv_anim_start(&a);
+}
+
+static lv_obj_t * mmi_factorymode_live_calibration_create(lv_obj_t * activity_obj)
+{
+ if(activity_obj == NULL) {
+ lv_watch_activity_ext_t activity_ext;
+ memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
+ activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
+ activity_ext.create = mmi_factorymode_live_calibration_create;
+ activity_ext.prepare_destory = factorymode_test_prepare_destory;
+ activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+ LV_ASSERT_MEM(activity_obj);
+ if(NULL == activity_obj) {
+ return NULL;
+ }
+ }
+
+ lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+ LV_ASSERT_MEM(obj);
+ if(NULL == obj)
+ return NULL;
+
+ lv_obj_t * content = lv_cont_create(obj, NULL);
+ lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
+ lv_obj_add_style(content,LV_OBJ_PART_MAIN, &lv_watch_style_transp);
+ lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
+ lv_obj_set_click(content, false);
+
+ lv_obj_t * btn_start = lv_btn_create(content, NULL);
+ lv_obj_set_size(btn_start, LV_HOR_RES * 2 / 3, 40);
+ lv_obj_set_event_cb(btn_start, mmi_factorymode_live_calibration_event_cb);
+ lv_obj_align(btn_start, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -10);
+
+ lv_obj_t * label_start = lv_label_create(btn_start, NULL);
+ lv_label_set_text_id(label_start, WATCH_TEXT_ID_START_TEST);
+ lv_obj_add_style(label_start,LV_OBJ_PART_MAIN, &lv_watch_font20);
+ lv_label_set_align(label_start, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label_start, NULL, LV_ALIGN_CENTER, 0, 0);
+
+
+ lv_obj_t * label_prompt = lv_label_create(content, NULL);
+ lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_LIVE_CALIBRATION_PROMPT);
+ lv_obj_set_width(label_prompt, LV_HOR_RES - 40);
+ lv_obj_align(label_prompt, btn_start, LV_ALIGN_OUT_TOP_MID, 0, -10);
+
+ return obj;
+}
+
+void mmi_factorymode_live_calibration_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+{
+ if(e == LV_EVENT_CLICKED)
+ {
+ mmi_factorymode_live_calibration_create(NULL);
+ }
+}
+
+//
+static void mmi_factorymode_wear_test_status_update(lv_anim_t * anim)
{
char str[32]= {0};
- uint16_t hr_value = 0;
+ bool wear_state = false;
- mmi_hsensor_heart_value_get(&hr_value);
- sprintf(str, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr_value);
+ wear_state = mmi_health_measure_wear_state_get();
+ sprintf(str, "%s: %s", (char *)lv_lang_get_text(WATCH_TEXT_ID_WEAR_STATE),
+ (wear_state ? (char *)lv_lang_get_text(WATCH_TEXT_ID_WEARING) : (char *)lv_lang_get_text(WATCH_TEXT_ID_NO_WEAR)));
lv_label_set_text(anim->var, str);
}
-static lv_obj_t * mmi_factorymode_heart_test_create(lv_obj_t * activity_obj)
+static lv_obj_t * mmi_factorymode_wear_test_create(lv_obj_t * activity_obj)
{
lv_obj_t * obj;
if(activity_obj == NULL) {
lv_watch_activity_ext_t activity_ext;
memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
- activity_ext.create = mmi_factorymode_heart_test_create;
+ activity_ext.create = mmi_factorymode_wear_test_create;
activity_ext.prepare_destory = factorymode_test_prepare_destory;
activity_obj = lv_watch_creat_activity_obj(&activity_ext);
LV_ASSERT_MEM(activity_obj);
lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
lv_obj_set_click(content, false);
- testing_st = FAC_HEART;
- mmi_hsensor_heart_open();
-
lv_obj_t * label = lv_label_create(content, NULL);
-#if USE_LV_WATCH_UI_360_360
- lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font30);
- lv_obj_set_width(label,LV_HOR_RES-60);
- lv_obj_set_pos(label, 30, 105);
-#else
- lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font26);
- lv_obj_set_width(label,LV_HOR_RES-40);
- lv_obj_set_pos(label, 20, 70);
-#endif
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_obj_set_width(label, LV_HOR_RES-40);
+ lv_obj_set_pos(label, 20, LV_VER_RES / 4);
char str[32]= {0};
- sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE));
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_WEAR_STATE));
lv_label_set_text(label,str);
lv_anim_path_t path;
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, label);
- lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_heart_test_status_update);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_wear_test_status_update);
lv_anim_set_time(&a, 1);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_delay(&a,1000);
return obj;
}
-void mmi_factorymode_heart_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+void mmi_factorymode_wear_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
{
- if(e == LV_EVENT_CLICKED) {
- mmi_factorymode_heart_test_create(NULL);
+ if(e == LV_EVENT_CLICKED)
+ {
+ mmi_factorymode_wear_test_create(NULL);
}
}
-// spo2
-#ifdef __MMI_HEALTH_MEASURE_SPO2_SUPPORT__
-static void mmi_factorymode_spo2_test_status_update(lv_anim_t * anim)
+//
+static void mmi_factorymode_light_leak_test_status_update(lv_anim_t * anim)
+{
+ char str[64]= {0};
+
+ sprintf(str, "%s: %d,%d,%d", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA),
+ factory_reslts.green_data_final,
+ factory_reslts.red_data_final,
+ factory_reslts.ir_data_final);
+ lv_label_set_text(anim->var, str);
+
+ s_sensor_counter++;
+ if(4 == s_sensor_counter)
+ {
+ mmi_hsensor_close();
+
+ lv_obj_t * par = lv_obj_get_parent(anim->var);
+ lv_obj_t * label_result = lv_label_create(par, anim->var);
+ if((0 < factory_reslts.green_data_final && 3000 > factory_reslts.green_data_final)
+ && (0 < factory_reslts.red_data_final && 3000 > factory_reslts.red_data_final)
+ && (0 < factory_reslts.ir_data_final && 3000 > factory_reslts.ir_data_final)
+ )
+ sprintf(str, "%s%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_TEST), (char *)lv_lang_get_text(WATCH_TEXT_ID_SUCCESS));
+ else
+ sprintf(str, "%s%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_TEST), (char *)lv_lang_get_text(WATCH_TEXT_ID_FAIL));
+
+ lv_label_set_text(label_result, str);
+ lv_obj_align(label_result, anim->var, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
+ }
+}
+
+static void mmi_factorymode_light_leak_event_cb(lv_obj_t * btn, lv_event_t e)
+{
+ if(LV_EVENT_CLICKED != e)
+ return;
+
+ if(NULL == btn)
+ return;
+
+ lv_obj_t * par = lv_obj_get_parent((lv_obj_t*)btn);
+ if(NULL == par)
+ return;
+
+ lv_obj_del(btn);
+
+ testing_st = FAC_HEART;
+ HX3918_test(FT_LEAK_LIGHT_MODE);
+ s_sensor_counter = 0;
+
+ lv_obj_t * label = lv_label_create(par, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font20);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
+ lv_obj_set_width(label, LV_HOR_RES - 40);
+ lv_obj_set_pos(label, 20, LV_VER_RES / 4);
+
+ char str[64]= {0};
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA));
+ lv_label_set_text(label,str);
+
+ lv_anim_path_t path;
+ lv_anim_path_init(&path);
+ lv_anim_path_set_cb(&path, lv_anim_path_step);
+
+ lv_anim_t a;
+ lv_anim_init(&a);
+ lv_anim_set_var(&a, label);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_light_leak_test_status_update);
+ lv_anim_set_time(&a, 1);
+ lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
+ lv_anim_set_delay(&a,1000);
+ lv_anim_set_repeat_delay(&a, 1000);
+ lv_anim_start(&a);
+}
+
+static lv_obj_t * mmi_factorymode_light_leak_test_create(lv_obj_t * activity_obj)
+{
+ if(activity_obj == NULL) {
+ lv_watch_activity_ext_t activity_ext;
+ memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
+ activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
+ activity_ext.create = mmi_factorymode_light_leak_test_create;
+ activity_ext.prepare_destory = factorymode_test_prepare_destory;
+ activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+ LV_ASSERT_MEM(activity_obj);
+ if(NULL == activity_obj) {
+ return NULL;
+ }
+ }
+
+ lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+ LV_ASSERT_MEM(obj);
+ if(NULL == obj)
+ return NULL;
+
+ lv_obj_t * content = lv_cont_create(obj, NULL);
+ lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
+ lv_obj_add_style(content,LV_OBJ_PART_MAIN, &lv_watch_style_transp);
+ lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
+ lv_obj_set_click(content, false);
+
+ lv_obj_t * btn_start = lv_btn_create(content, NULL);
+ lv_obj_set_size(btn_start, LV_HOR_RES * 2 / 3, 40);
+ lv_obj_set_event_cb(btn_start, mmi_factorymode_light_leak_event_cb);
+ lv_obj_align(btn_start, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -10);
+
+ lv_obj_t * label_start = lv_label_create(btn_start, NULL);
+ lv_label_set_text_id(label_start, WATCH_TEXT_ID_START_TEST);
+ lv_obj_add_style(label_start,LV_OBJ_PART_MAIN, &lv_watch_font20);
+ lv_label_set_align(label_start, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label_start, NULL, LV_ALIGN_CENTER, 0, 0);
+
+
+ lv_obj_t * label_prompt = lv_label_create(content, NULL);
+ lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
+ lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_LIVE_CALIBRATION_PROMPT);
+ lv_obj_set_width(label_prompt, LV_HOR_RES - 40);
+ lv_obj_align(label_prompt, btn_start, LV_ALIGN_OUT_TOP_MID, 0, -10);
+
+ return obj;
+}
+
+void mmi_factorymode_light_leak_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+{
+ if(e == LV_EVENT_CLICKED)
+ {
+ mmi_factorymode_light_leak_test_create(NULL);
+ }
+}
+#endif
+
+static void mmi_factorymode_heart_test_status_update(lv_anim_t * anim)
{
char str[32]= {0};
- uint16_t spo2_value = 0;
+ uint16_t hr_value = 0;
- mmi_hsensor_spo2_value_get(&spo2_value);
- sprintf(str, "%s: %d%%", (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), spo2_value);
+ mmi_hsensor_heart_value_get(&hr_value);
+ sprintf(str, "%s:\n %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr_value);
lv_label_set_text(anim->var, str);
}
-static lv_obj_t * mmi_factorymode_spo2_test_create(lv_obj_t * activity_obj)
+static lv_obj_t * mmi_factorymode_heart_test_create(lv_obj_t * activity_obj)
{
lv_obj_t * obj;
if(activity_obj == NULL) {
lv_watch_activity_ext_t activity_ext;
memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
- activity_ext.create = mmi_factorymode_spo2_test_create;
+ activity_ext.create = mmi_factorymode_heart_test_create;
activity_ext.prepare_destory = factorymode_test_prepare_destory;
activity_obj = lv_watch_creat_activity_obj(&activity_ext);
LV_ASSERT_MEM(activity_obj);
lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
lv_obj_set_click(content, false);
- testing_st = FAC_SPO2;
- mmi_hsensor_spo2_open();
+ testing_st = FAC_HEART;
+ mmi_hsensor_heart_open();
lv_obj_t * label = lv_label_create(content, NULL);
#if USE_LV_WATCH_UI_360_360
lv_obj_set_pos(label, 30, 105);
#else
lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font26);
- lv_obj_set_width(label,LV_HOR_RES - 40);
+ lv_obj_set_width(label,LV_HOR_RES-40);
lv_obj_set_pos(label, 20, 70);
#endif
char str[32]= {0};
- sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN));
- lv_label_set_text(label, str);
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE));
+ lv_label_set_text(label,str);
lv_anim_path_t path;
lv_anim_path_init(&path);
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, label);
- lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_spo2_test_status_update);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_heart_test_status_update);
lv_anim_set_time(&a, 1);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_delay(&a,1000);
return obj;
}
-void mmi_factorymode_spo2_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+void mmi_factorymode_heart_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
{
if(e == LV_EVENT_CLICKED) {
- mmi_factorymode_spo2_test_create(NULL);
+ mmi_factorymode_heart_test_create(NULL);
}
}
-#endif
-
-#if USE_HX3918
-
-#include "../../..//lv_drivers/indev/HX3918/hx3918.h"
-
-#include "../../../lv_drivers/indev/HX3918/hx3918_factory_test.h"
-extern factory_result_t factory_reslts;
-extern int ir_wear ;//红外佩戴状态
-extern int cap_wear ;//电容佩戴状态
-extern unsigned char s_HX3918_wear_status ;//佩戴状态
-#ifdef SAR_ALG_LIB
-extern int16_t nv_wear_offset[2] ; // 芯片产测校准的两个通道的OFFSET值, 值记录在fash里面
-extern int16_t nv_base_data[2]; // 芯片产测校准的两个通道的对空LP值, 值记录在flash里面
-//lp[0],bl[0],lp[1],bl[1],gdiff[0]
-extern int16_t glp[2] ;
-extern int16_t gbl[2];
-extern int16_t gdiff[2];
-#else
- int16_t nv_wear_offset[2] ; // 芯片产测校准的两个通道的OFFSET值, 值记录在fash里面
- int16_t nv_base_data[2]; // 芯片产测校准的两个通道的对空LP值, 值记录在flash里面
-//lp[0],bl[0],lp[1],bl[1],gdiff[0]
- int16_t glp[2] ;
- int16_t gbl[2];
- int16_t gdiff[2];
-#endif
-char HX3918_close_count = 0;
-static void mmi_factorymode_hanging_cali_status_update(lv_anim_t * anim)
+// spo2
+#ifdef __MMI_HEALTH_MEASURE_SPO2_SUPPORT__
+static void mmi_factorymode_spo2_test_status_update(lv_anim_t * anim)
{
- char str[320]= {0};
+ char str[32]= {0};
uint16_t spo2_value = 0;
- int HX3918_wear_status =
- //mmi_hsensor_measure_value_get(NULL, NULL, NULL, &spo2_value);
- //sprintf(str, "%s : %d%%", (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), spo2_value);
- sprintf(str, "佩戴状态 :\n红外:%d活体:%d佩戴:%d\ngdiff:%d,%d\n校准数据:\n%d,%d,%d,%d\n漏光数据:\n%d,%d,%d",
- ir_wear,cap_wear,s_HX3918_wear_status,gdiff[0],gdiff[1],nv_wear_offset[0],nv_wear_offset[1],
- nv_base_data[0],nv_base_data[1],factory_reslts.green_data_final,factory_reslts.red_data_final,factory_reslts.ir_data_final);
+
+ mmi_hsensor_spo2_value_get(&spo2_value);
+ sprintf(str, "%s:\n %d%%", (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), spo2_value);
lv_label_set_text(anim->var, str);
- if(HX3918_close_count)
- {
- HX3918_close_count -- ;
- if(HX3918_close_count == 0)
- hx3918_measure_stop();
- }
-}
-static void factorymode_hanging_cali_btn_event_cb(lv_obj_t * btn, lv_event_t e)
-{
- if(LV_EVENT_CLICKED == e)
- {
- HX3918_test(255);
- HX3918_close_count = 3;
- }
-}
-static void factorymode_reslts_label_btn_event_cb(lv_obj_t * btn, lv_event_t e)
-{
- if(LV_EVENT_CLICKED == e)
- {
- HX3918_test(FT_LEAK_LIGHT_MODE);
- HX3918_close_count = 3;
- }
}
-static lv_obj_t * mmi_factorymode_hanging_cali_create(lv_obj_t * activity_obj)
+
+static lv_obj_t * mmi_factorymode_spo2_test_create(lv_obj_t * activity_obj)
{
lv_obj_t * obj;
if(activity_obj == NULL) {
lv_watch_activity_ext_t activity_ext;
memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
- activity_ext.create = mmi_factorymode_hanging_cali_create;
+ activity_ext.create = mmi_factorymode_spo2_test_create;
activity_ext.prepare_destory = factorymode_test_prepare_destory;
activity_obj = lv_watch_creat_activity_obj(&activity_ext);
LV_ASSERT_MEM(activity_obj);
return NULL;
}
lv_obj_t * content = lv_cont_create(obj, NULL);
- //lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
- lv_obj_set_size(content, LV_HOR_RES, LV_VER_RES);
+ lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
lv_obj_add_style(content,LV_OBJ_PART_MAIN, &lv_watch_style_transp);
lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
lv_obj_set_click(content, false);
testing_st = FAC_SPO2;
- // mmi_hsensor_measure_stop();
- // mmi_hsensor_spo2_measure_start();
-
- lv_obj_t * SAR_btn = lv_btn_create(content, NULL);
- lv_obj_set_pos(SAR_btn, 0, LV_VER_RES-50);
- lv_obj_set_size(SAR_btn, LV_HOR_RES / 2, 40);
- //lv_watch_set_free_num(start_btn, num);
- lv_obj_t * SAR_label = lv_label_create(SAR_btn, NULL);
- //lv_label_set_text_id(SAR_label, WATCH_TEXT_ID_START_TEST);
- lv_label_set_text(SAR_label, "活体校准");
- lv_obj_add_style(SAR_label, LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font30);
- //lv_obj_align(SAR_btn, NULL, LV_ALIGN_IN_TOP_MID, 0, 80);
- lv_obj_set_event_cb(SAR_btn, factorymode_hanging_cali_btn_event_cb);
-
- lv_obj_t * reslts_btn = lv_btn_create(content, NULL);
- lv_obj_set_pos(reslts_btn, LV_HOR_RES / 2, LV_VER_RES-50);
- lv_obj_set_size(reslts_btn, LV_HOR_RES / 2, 40);
- //lv_watch_set_free_num(start_btn, num);
- lv_obj_t * reslts_label = lv_label_create(reslts_btn, NULL);
- //lv_label_set_text_id(reslts_label, WATCH_TEXT_ID_START_TEST ;
- lv_label_set_text(reslts_label, "漏光测试" );
- lv_obj_add_style(reslts_label, LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font30 );
- //lv_obj_align(reslts_btn, NULL, LV_ALIGN_IN_TOP_MID, 0, 80);
- lv_obj_set_event_cb(reslts_btn, factorymode_reslts_label_btn_event_cb);
+ mmi_hsensor_spo2_open();
lv_obj_t * label = lv_label_create(content, NULL);
- lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font20); // &lv_watch_font26);
- //lv_obj_set_width(label,240 - 10);
- lv_obj_set_size(label, LV_HOR_RES - 10, 240);
- lv_obj_set_pos(label, 5, 10);
+#if USE_LV_WATCH_UI_360_360
+ lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font30);
+ lv_obj_set_width(label,LV_HOR_RES-60);
+ lv_obj_set_pos(label, 30, 105);
+#else
+ lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font26);
+ lv_obj_set_width(label,LV_HOR_RES - 40);
+ lv_obj_set_pos(label, 20, 70);
+#endif
- //lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
- char str[320]= {0};
- uint16_t spo2_value = 0;
- mmi_hsensor_measure_value_get(NULL, NULL, NULL, &spo2_value);
- sprintf(str, "佩戴状态 :\n 红外:0活体:0佩戴:0\n0,0\n校准数据:0,0,0,0\n漏光数据:0,0,0,0"
- );
+ char str[32]= {0};
+
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN));
lv_label_set_text(label, str);
lv_anim_path_t path;
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_var(&a, label);
- lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_hanging_cali_status_update);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_spo2_test_status_update);
lv_anim_set_time(&a, 1);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_delay(&a,1000);
lv_anim_set_repeat_delay(&a, 1000);
lv_anim_start(&a);
-
-
return obj;
}
-void mmi_factorymode_hanging_cali_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+
+void mmi_factorymode_spo2_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
{
if(e == LV_EVENT_CLICKED) {
- mmi_factorymode_hanging_cali_create(NULL);
+ mmi_factorymode_spo2_test_create(NULL);
}
}
#endif
+
#endif
#endif