From: CCC <2393524978@qq.com> Date: Thu, 3 Aug 2023 03:40:10 +0000 (+0800) Subject: gengxin X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=4d09d5741fe31ef3c21e4fa4c5f9105e965c5b3a;p=mirrors%2FASR3603_Z5.git gengxin --- diff --git a/2.sdk/sdk/gui/lv_watch/include/ui_textid.h b/2.sdk/sdk/gui/lv_watch/include/ui_textid.h index 21fb5cbd..63953f1e 100644 --- a/2.sdk/sdk/gui/lv_watch/include/ui_textid.h +++ b/2.sdk/sdk/gui/lv_watch/include/ui_textid.h @@ -262,7 +262,7 @@ enum WATCH_TEXT_ID_OPEN_CAMERA_LTE, /* "打开LTEPOWER" "Open LTEPOWER"*/ WATCH_TEXT_ID_PLAY_MUSIC, /* "播放音乐" "Play music"*/ WATCH_TEXT_ID_CPU_OVERLOAD, /* "CPU重载" "CPU overload"*/ - WATCH_TEXT_ID_GSENSOR, /* "gsensor" "gsensor"*/ + WATCH_TEXT_ID_GSENSOR, /* "Gsensor" "Gsensor"*/ WATCH_TEXT_ID_SELECT_ALL, /* "全选" "Select all"*/ WATCH_TEXT_ID_SELECT_NONE, /* "清空" "Select none"*/ @@ -867,6 +867,13 @@ enum WATCH_TEXT_ID_VOICE_CALL_RINGING, /* "语音呼入中" "Ringing" */ WATCH_TEXT_ID_PHONEBOOK, /* "通讯录" "Phonebook" */ WATCH_TEXT_ID_NO_ALARM, /* "请在APP设置闹钟" "No alarm" */ + WATCH_TEXT_ID_HEART_TEST, /* "心率测试" "Heart test" */ + WATCH_TEXT_ID_SPO2_TEST, /* "血氧测试" "Spo2 test" */ + WATCH_TEXT_ID_TEMPERATURE_TEST, /* "体温测试" "Temperatur test" */ + WATCH_TEXT_ID_NO_SIM_POWER_OFF_PROMPT, /* "秒后\n设备将关机" "s later\ndevice will shut down" */ + WATCH_TEXT_ID_CHARGE_CONNECTED, /* "充电已连接" "Charging connected" */ + WATCH_TEXT_ID_CHARGE_REMOVED, /* "充电已移除" "Charging removed" */ + //CHENG_MODIFY diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/album/album.h b/2.sdk/sdk/gui/lv_watch/lv_apps/album/album.h index 8d10ba35..69385ea0 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/album/album.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/album/album.h @@ -26,7 +26,7 @@ extern "C" { /********************* * DEFINES *********************/ -#define PHOTO_MAX_COUNT 20 +#define PHOTO_MAX_COUNT (12) // 20 #define PHOTO_PATH_LEN 18 #define PHOTO_PATH_FILE "C:/photo_path" #define PHOTO_SHARE_TMEP_PATH "C:/share_temp" diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/camera/camera.c b/2.sdk/sdk/gui/lv_watch/lv_apps/camera/camera.c index dd18df9e..58128f91 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/camera/camera.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/camera/camera.c @@ -288,7 +288,8 @@ static void camera_out_of_memory_create(lv_obj_t * obj) lv_obj_t * img_mem = lv_img_create(cont_bg, NULL); lv_img_set_src(img_mem, ICON_CAMERA_MEMORY); - lv_obj_align(img_mem, NULL, LV_ALIGN_IN_TOP_MID, 0, 10); + //lv_obj_align(img_mem, NULL, LV_ALIGN_IN_TOP_MID, 0, 10); + lv_obj_align(img_mem, NULL, LV_ALIGN_IN_TOP_MID, 0, 40); lv_obj_t * label = lv_label_create(cont_bg, NULL); lv_label_set_text_id(label, WATCH_TEXT_ID_OUT_OF_MEM); @@ -305,10 +306,11 @@ static void camera_out_of_memory_create(lv_obj_t * obj) lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30); lv_obj_set_size(btn, 200, 56); lv_obj_set_event_cb(btn, camera_outmem_btn_event_cb); - lv_obj_align(btn, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); + //lv_obj_align(btn, label, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); + lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); lv_obj_t * btn_label = lv_label_create(btn, NULL); lv_label_set_text_id(btn_label, WATCH_TEXT_ID_GOT_IT); - lv_obj_add_style(btn_label,LV_LABEL_PART_MAIN, &lv_watch_font30); + lv_obj_add_style(btn_label,LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font30); } #if 0 @@ -381,7 +383,7 @@ static void camera_save_failed_create(int32_t error) lv_obj_t * label = lv_label_create(cont_bg, NULL); lv_label_set_text_id(label, WATCH_TEXT_ID_SAVE_FAILED); - lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font30); + lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26); // &lv_watch_font30); lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, img_fail, LV_ALIGN_OUT_BOTTOM_MID, 0, 10); diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode.h b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode.h index 0b6e8922..0336f070 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode.h +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode.h @@ -175,10 +175,15 @@ void factorymode_battery_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_wifi_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_gps_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_gsensor_create_btn_cb(lv_obj_t * btn,lv_event_t e); +#ifdef __MMI_ZHSX_SUPPORT__ +void mmi_factorymode_temperature_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); +void mmi_factorymode_spo2_test_create_btn_cb(lv_obj_t * btn,lv_event_t e); +#else void factorymode_hr_bp_bo_test_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_sport_hr_test_create_btn_cb(lv_obj_t * btn,lv_event_t e); -void factorymode_gps_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_temperature_test_create_btn_cb(lv_obj_t * btn,lv_event_t e); +#endif void factory_mode_calibration_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_agetest_create_btn_cb(lv_obj_t * btn,lv_event_t e); void factorymode_init_test_res(void); diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_bt_test_main.c b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_bt_test_main.c index b33d671e..417a059c 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_bt_test_main.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_bt_test_main.c @@ -252,7 +252,7 @@ static void factory_mode_bt_test_101_btn_event_cb(lv_obj_t * btn, lv_event_t e) SensorHub_boot_bin_check_cmd(); char tip_str[64] = {0}; snprintf(tip_str, 64, "Gsensor:0x%02x\nHeartrate:0x%02x\nreboot_cnt:%d\nboot_bin:%d", - asl_pedometer_sensor_id_get(), asl_hr_bp_bo_sensor_id_get(), SensorHub_bt_reboot_cnt_get(), SensorHub_boot_bin_status_get()); + mmi_gsensor_sensor_id_get(), asl_hr_bp_bo_sensor_id_get(), SensorHub_bt_reboot_cnt_get(), SensorHub_boot_bin_status_get()); lv_watch_msgbox_tip_create(lv_watch_get_top_activity_obj(), LV_HOR_RES * 3/4, tip_str, 1000); } } @@ -397,14 +397,14 @@ static void factory_mode_bt_test_261_btn_event_cb(lv_obj_t * btn, lv_event_t e) static void factory_mode_bt_test_271_btn_event_cb(lv_obj_t * btn, lv_event_t e) { if(LV_EVENT_CLICKED == e) { - asl_temperature_measure_start(); + mmi_tsensor_temperature_measure_start(); } } static void factory_mode_bt_test_273_btn_event_cb(lv_obj_t * btn, lv_event_t e) { if(LV_EVENT_CLICKED == e) { - asl_temperature_measure_stop(); + mmi_tsensor_temperature_measure_stop(); } } diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c index 39a1fbc2..a42040ae 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c @@ -64,7 +64,7 @@ const struct { { WATCH_TEXT_ID_GCF, factorymode_gcf_create_btn_event_cb }, { WATCH_TEXT_ID_PERFORMANCE_TEST, factorymode_hwtest_create_btn_event_cb }, #endif -#if 1 //simware add +//#if 1 //simware add #if USE_MULTI_KEY { WATCH_TEXT_ID_PRESS_SOS_KEY, factorymode_press_sos_key_create_btn_cb}, #endif @@ -80,15 +80,21 @@ const struct { #if USE_GPS { WATCH_TEXT_ID_GPS_TEST, factorymode_gps_create_btn_cb }, #endif +#ifdef __MMI_ZHSX_SUPPORT__ + { WATCH_TEXT_ID_TEMPERATURE_TEST, mmi_factorymode_temperature_test_create_btn_cb }, + { WATCH_TEXT_ID_HEART_TEST, mmi_factorymode_heart_test_create_btn_cb }, + { WATCH_TEXT_ID_SPO2_TEST, mmi_factorymode_spo2_test_create_btn_cb }, +#else { WATCH_TEXT_ID_SH_TEMP_MEASURE_START, factorymode_temperature_test_create_btn_cb }, { WATCH_TEXT_ID_HR_BP_BO_TEST, factorymode_hr_bp_bo_test_create_btn_cb }, { WATCH_TEXT_ID_SPORT_TEST, factorymode_sport_hr_test_create_btn_cb }, +#endif #if USE_BT_SENSOR_HUB { WATCH_TEXT_ID_BLUETOOTH, factory_mode_bt_test_main_create_btn_cb}, #endif {WATCH_TEXT_ID_CALOBRATION, factory_mode_calibration_create_btn_cb}, { WATCH_TEXT_ID_AGING_MODE, factorymode_agetest_create_btn_cb}, -#endif +//#endif }; /********************** @@ -143,7 +149,7 @@ lv_obj_t * factorymode_main_create(lv_obj_t * activity_obj) lv_obj_t * list = lv_list_create(obj, NULL); lv_watch_obj_add_element(list); lv_watch_obj_add_element(lv_page_get_scrl(list)); - lv_coord_t interval = 20; + lv_coord_t interval = 15; // 20; lv_obj_set_size(list, LV_HOR_RES, LV_VER_RES - lv_obj_get_height(title) - interval - 10); lv_page_set_edge_flash(list, true); lv_obj_add_style(list, LV_PAGE_PART_EDGE_FLASH, &lv_watch_cont_opa1); diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c index 4721332f..5e70866a 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c @@ -24,9 +24,15 @@ enum { NONE = 0, FAC_SOS_KEY, GSENSOR, +#ifdef __MMI_ZHSX_SUPPORT__ + FAC_TEMPERATURE, + FAC_HEART, + FAC_SPO2, +#else HEART_RATE, SPORT_HEART_RATE, FAC_TEMPERATURE, +#endif FAC_GPS, FAC_BACKLIGHT, FAC_WIFI, @@ -76,11 +82,19 @@ static lv_obj_t * factorymode_wifi_create(lv_obj_t * activity_obj); static void factorymode_gps_location_info_update(lv_anim_t * anim); static lv_obj_t * factorymode_gps_test_create(lv_obj_t * activity_obj); #endif + +#ifdef __MMI_ZHSX_SUPPORT__ +static lv_obj_t * mmi_factorymode_gsensor_create(lv_obj_t * activity_obj); +static lv_obj_t * mmi_factorymode_temperature_test_create(lv_obj_t * activity_obj); +static lv_obj_t * mmi_factorymode_heart_test_create(lv_obj_t * activity_obj); +static lv_obj_t * mmi_factorymode_spo2_test_create(lv_obj_t * activity_obj); +#else static lv_obj_t * factorymode_gsensor_create(lv_obj_t * activity_obj); static void factorymode_hr_bp_bo_test_status_update(lv_anim_t * anim); static lv_obj_t * factorymode_hr_bp_bo_test_create(lv_obj_t * activity_obj); static void factorymode_temperature_update(lv_anim_t * anim); static lv_obj_t * factorymode_temperature_test_create(lv_obj_t * activity_obj); +#endif static void factory_mode_calibration_destory(lv_obj_t * activity_obj); static lv_obj_t * factory_mode_calibration_create(lv_obj_t * activity_obj); static void factory_agetest_destory(void); @@ -119,13 +133,26 @@ static void factorymode_test_prepare_destory(lv_obj_t * activity_obj) sos_key_param_set(0); #endif break; + +#ifdef __MMI_ZHSX_SUPPORT__ + case FAC_TEMPERATURE: + mmi_tsensor_temperature_measure_stop(); + break; + + case FAC_HEART: + case FAC_SPO2: + mmi_hsensor_measure_stop(); + break; +#else case HEART_RATE: case SPORT_HEART_RATE: - asl_hr_bp_bo_measure_stop(); + mmi_hsensor_measure_stop(); break; case FAC_TEMPERATURE: - asl_temperature_measure_stop(); + mmi_tsensor_temperature_measure_stop(); break; +#endif + case FAC_GPS: #if USE_GPS gps_core.force_on=0; @@ -1054,13 +1081,64 @@ static lv_obj_t * factorymode_gps_test_create(lv_obj_t * activity_obj) } #endif -static lv_obj_t * factorymode_gsensor_create(lv_obj_t * activity_obj) +#ifdef __MMI_ZHSX_SUPPORT__ +static void mmi_factorymode_gsensor_status_update(lv_anim_t * anim) { - if(activity_obj == NULL) { +#if 1 + char str[128] = {0}; + uint8_t id = mmi_gsensor_sensor_id_get(); + int16_t chip_x = 0, chip_y = 0, chip_z = 0; + + xMotion_Chip_Read_XYZ(&chip_x, &chip_y, &chip_z); + sprintf(str, "%s %s 0x%x\nX: %d\nY: %d\nZ: %d\n%s", + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), + "id :", id, + chip_x, chip_y, chip_z, + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + + lv_label_set_text(anim->var, str); +#else + + int16_t chip_x = 0, chip_y = 0, chip_z = 0; + xMotion_Chip_Read_XYZ(&chip_x,&chip_y,&chip_z); + printf("[@CHENG_DEBUG][%d]:chip_x:%d,chip_y:%d,chip_z:%d\n", __LINE__, chip_x, chip_y, chip_z); + + + int16_t buffer_x = 0, buffer_y = 0, buffer_z = 0; + xMotion_Buffer_Read_XYZ(&buffer_x,&buffer_y,&buffer_z); + printf("[@CHENG_DEBUG][%d]:buffer_x:%d,buffer_y:%d,buffer_z:%d\n", __LINE__, buffer_x, buffer_y, buffer_z); + + + int16_t t_mems_data[32 * 3] = {0}; + int16_t t_x[32]= {0}, t_y[32]= {0}, t_z[32]= {0}; + get_Gsensor_fifo_xyz(t_mems_data); + memcpy(t_x, t_mems_data, 32); + memcpy(t_y, t_mems_data + 32, 32); + memcpy(t_z, t_mems_data + 64, 32); + for(int i=0; i<32; i++) + printf("[@CHENG_DEBUG][%d]:i:%d,x:%d,y:%d,z:%d\n", __LINE__, i,t_x[i],t_y[i],t_z[i]); + + + char str[128] = {0}; + uint8_t id = mmi_gsensor_sensor_id_get(); + + sprintf(str, "%s %s 0x%x\nX: %s\nY: %s\nZ: %s\n%s", + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), + "id :", id, + t_x, t_y, t_z, + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + lv_label_set_text(anim->var, str); +#endif +} + +static lv_obj_t * mmi_factorymode_gsensor_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 = factorymode_gsensor_create; + activity_ext.create = mmi_factorymode_gsensor_create; activity_ext.prepare_destory = factorymode_test_prepare_destory; activity_obj = lv_watch_creat_activity_obj(&activity_ext); LV_ASSERT_MEM(activity_obj); @@ -1091,104 +1169,59 @@ static lv_obj_t * factorymode_gsensor_create(lv_obj_t * activity_obj) lv_label_set_text_id(title_label, WATCH_TEXT_ID_GSENSOR); lv_obj_align(title_label, content, LV_ALIGN_IN_TOP_MID, 0, 10); - char str[64]; - memset(str, 0, 64); - uint8_t id = asl_pedometer_sensor_id_get(); - 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); #else lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font20); #endif - lv_obj_set_size(label,LV_HOR_RES,LV_VER_RES/2); - if(id > 0) { - snprintf(str, 64, "%s %s 0x%x\n%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),"id :",id,(char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); - lv_label_set_text(label,str); - lv_obj_align(label, content, LV_ALIGN_CENTER, 0, 0); - } else { - snprintf(str, 64, "%s %s 0x%x\n%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),"id :",id,(char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_FAIL)); - lv_label_set_text(label,str); - lv_obj_align(label, content, LV_ALIGN_CENTER, 0, 0); - } - - return obj; -} - -static void factorymode_hr_bp_bo_test_status_update(lv_anim_t * anim) -{ - char str[128]= {0}; - uint16_t hr = 0; - uint16_t bp_h = 0; - uint16_t bp_l = 0; - uint16_t bo = 0; - asl_hr_bp_bo_value_get(&hr, &bp_h, &bp_l, &bo); - - snprintf(str, 128, "%s: %d bpm \n%s: %d mmHg \n%s: %d mmHg \n%s : %d%%", - (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr, - (char *)lv_lang_get_text(WATCH_TEXT_ID_SYSTOLIC_BP), bp_h, - (char *)lv_lang_get_text(WATCH_TEXT_ID_DIASTOLIC_BP), bp_l, - (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), bo); - lv_label_set_text(anim->var,str); -} - -static lv_obj_t * factorymode_hr_bp_bo_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 = factorymode_hr_bp_bo_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; - } - } - - 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); - - testing_st = HEART_RATE; - asl_hr_bp_bo_measure_stop(); - asl_hr_bp_bo_fac_mode_measure_start(WAKEUP_UPDATE); - - char str[128]= {0}; - - 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_font20); - lv_obj_set_width(label,LV_HOR_RES-40); + //lv_obj_set_size(label,LV_HOR_RES,LV_VER_RES/2); + lv_obj_set_width(label, LV_HOR_RES - 40); lv_obj_set_pos(label, 20, 70); -#endif - - uint16_t hr = 0; - uint16_t bp_h = 0; - uint16_t bp_l = 0; - uint16_t bo = 0; - asl_hr_bp_bo_value_get(&hr, &bp_h, &bp_l, &bo); - snprintf(str, 128, "%s: %d bpm \n%s: %d mmHg \n%s: %d mmHg \n%s : %d%%", - (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr, - (char *)lv_lang_get_text(WATCH_TEXT_ID_SYSTOLIC_BP), bp_h, - (char *)lv_lang_get_text(WATCH_TEXT_ID_DIASTOLIC_BP), bp_l, - (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), bo); + char str[128] = {0}; + uint8_t id = mmi_gsensor_sensor_id_get(); + if(id > 0) + { + #if 1 + sprintf(str, "%s %s 0x%x\nX: \nY: \nZ: \n", + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), + "id :", + id); + //t_x, t_y, t_z, + //(char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + #else + int16_t t_mems_data[32 * 3] = {0}; + int16_t t_x[32]= {0}, t_y[32]= {0}, t_z[32]= {0}; + + get_Gsensor_fifo_xyz(t_mems_data); + memcpy(t_x, t_mems_data, 32); + memcpy(t_y, t_mems_data + 32, 32); + memcpy(t_z, t_mems_data + 64, 32); + +// sprintf(str, "%s %s 0x%x\nX: %s\nY: %s\nZ: %s\n%s", +// (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), +// "id :", id, +// t_x, t_y, t_z, +// (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + + sprintf(str, "%s %s 0x%x\n%s", + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), + "id :", id, + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + #endif + } + else + { + sprintf(str, "%s %s 0x%x\n%s", + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR), + "id :", id, + (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_FAIL)); + } lv_label_set_text(label,str); + //lv_obj_align(label, content, LV_ALIGN_CENTER, 0, 0); +#if 1 lv_anim_path_t path; lv_anim_path_init(&path); lv_anim_path_set_cb(&path, lv_anim_path_step); @@ -1196,34 +1229,26 @@ static lv_obj_t * factorymode_hr_bp_bo_test_create(lv_obj_t * activity_obj) 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)factorymode_hr_bp_bo_test_status_update); + lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_gsensor_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); +#endif return obj; } -static void factorymode_sport_hr_test_status_update(lv_anim_t * anim) -{ - char str[32] = {0}; - uint16_t hr = 0; - asl_hr_bp_bo_value_get(&hr, NULL, NULL, NULL); - - snprintf(str, 32, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr); - lv_label_set_text(anim->var,str); -} +#else -static lv_obj_t * factorymode_sport_hr_test_create(lv_obj_t * activity_obj) +static lv_obj_t * factorymode_gsensor_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 = factorymode_sport_hr_test_create; + activity_ext.create = factorymode_gsensor_create; activity_ext.prepare_destory = factorymode_test_prepare_destory; activity_obj = lv_watch_creat_activity_obj(&activity_ext); LV_ASSERT_MEM(activity_obj); @@ -1232,7 +1257,7 @@ static lv_obj_t * factorymode_sport_hr_test_create(lv_obj_t * activity_obj) } } - obj = lv_watch_obj_create(activity_obj); + lv_obj_t * obj = lv_watch_obj_create(activity_obj); LV_ASSERT_MEM(obj); if(NULL == obj) { return NULL; @@ -1243,120 +1268,41 @@ static lv_obj_t * factorymode_sport_hr_test_create(lv_obj_t * activity_obj) lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0); lv_obj_set_click(content, false); - testing_st = SPORT_HEART_RATE; - asl_hr_bp_bo_measure_stop(); - asl_hr_bp_bo_sport_measure_start(5, WAKEUP_UPDATE); - - char str[32]= {0}; - - lv_obj_t * label = lv_label_create(content, NULL); + lv_obj_t * title_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); + lv_obj_add_style(title_label,LV_OBJ_PART_MAIN, &lv_watch_font30_gray); #else - lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font20); - lv_obj_set_width(label,LV_HOR_RES-40); - lv_obj_set_pos(label, 20, 70); + lv_obj_add_style(title_label,LV_OBJ_PART_MAIN, &lv_watch_font20_gray); #endif + lv_label_set_align(title_label, LV_LABEL_ALIGN_CENTER); + lv_obj_set_click(title_label, false); + lv_label_set_text_id(title_label, WATCH_TEXT_ID_GSENSOR); + lv_obj_align(title_label, content, LV_ALIGN_IN_TOP_MID, 0, 10); - uint16_t hr = 0; - asl_hr_bp_bo_value_get(&hr, NULL, NULL, NULL); - - snprintf(str, 32, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr); - 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)factorymode_sport_hr_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; -} - -static void factorymode_temperature_update(lv_anim_t * anim) -{ - char str[128]= {0}; - - snprintf(str, 128, "cur temp: %.2f°C\navg temp: %.2f°C\nbody temp: %.2f°C", - asl_cur_temperature_get(), - asl_avg_temperature_get(), - asl_body_temperature_get()); - lv_label_set_text(anim->var,str); -} - -static lv_obj_t * factorymode_temperature_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 = factorymode_temperature_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; - } - } - - 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); - - testing_st = FAC_TEMPERATURE; - asl_temperature_measure_start(); - - char str[128]= {0}; + char str[64]; + memset(str, 0, 64); + uint8_t id = mmi_gsensor_sensor_id_get(); 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_font20); - lv_obj_set_width(label,LV_HOR_RES-40); - lv_obj_set_pos(label, 20, 70); #endif - - snprintf(str, 128, "cur temp: \navg temp: \nbody temp: "); - 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)factorymode_temperature_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); + lv_obj_set_size(label,LV_HOR_RES,LV_VER_RES/2); + if(id > 0) { + snprintf(str, 64, "%s %s 0x%x\n%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),"id :",id,(char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_SUCCESS)); + lv_label_set_text(label,str); + lv_obj_align(label, content, LV_ALIGN_CENTER, 0, 0); + } else { + snprintf(str, 64, "%s %s 0x%x\n%s", (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),"id :",id,(char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR_FAIL)); + lv_label_set_text(label,str); + lv_obj_align(label, content, LV_ALIGN_CENTER, 0, 0); + } return obj; } - +#endif static void factory_mode_calibration_destory(lv_obj_t * activity_obj) { @@ -1668,30 +1614,528 @@ void factorymode_gps_create_btn_cb(lv_obj_t * btn,lv_event_t e) void factorymode_gsensor_create_btn_cb(lv_obj_t * btn,lv_event_t e) { if(e == LV_EVENT_CLICKED) { + #ifdef __MMI_ZHSX_SUPPORT__ + mmi_factorymode_gsensor_create(NULL); + #else factorymode_gsensor_create(NULL); + #endif } } -void factorymode_hr_bp_bo_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +#ifdef __MMI_ZHSX_SUPPORT__ +// temperature +static void mmi_factorymode_temperature_update(lv_anim_t * anim) { - if(e == LV_EVENT_CLICKED) { - factorymode_hr_bp_bo_test_create(NULL); - } + char str[32]= {0}; + + sprintf(str, "body temp:\n %.2f %s", mmi_tsensor_body_temperature_get(), (char *)lv_lang_get_text(WATCH_TEXT_ID_TEMPERATURE_UNIT)); + lv_label_set_text(anim->var,str); } -void factorymode_sport_hr_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +static lv_obj_t * mmi_factorymode_temperature_test_create(lv_obj_t * activity_obj) { - if(e == LV_EVENT_CLICKED) { - factorymode_sport_hr_test_create(NULL); + 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_temperature_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; + } } -} -void factorymode_temperature_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) + 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); + + testing_st = FAC_TEMPERATURE; + mmi_tsensor_temperature_measure_start(); + + 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 + + char str[32]= {0}; + sprintf(str, "body temp: "); + 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_temperature_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_temperature_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +{ + if(e == LV_EVENT_CLICKED) { + mmi_factorymode_temperature_test_create(NULL); + } +} + +// heart +static void mmi_factorymode_heart_test_status_update(lv_anim_t * anim) +{ + char str[32]= {0}; + uint16_t hr_value = 0; + + mmi_hsensor_measure_value_get(&hr_value, NULL, NULL, NULL); + sprintf(str, "%s: %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_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_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); + if(NULL == activity_obj) { + return NULL; + } + } + + 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); + + testing_st = FAC_HEART; + mmi_hsensor_measure_stop(); + mmi_hsensor_hr_measure_start(); + + 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 + + char str[32]= {0}; + uint16_t hr_value = 0; + mmi_hsensor_measure_value_get(&hr_value, NULL, NULL, NULL); + sprintf(str, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr_value); + 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_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); + lv_anim_set_repeat_delay(&a, 1000); + lv_anim_start(&a); + + return obj; +} + +void mmi_factorymode_heart_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +{ + if(e == LV_EVENT_CLICKED) { + mmi_factorymode_heart_test_create(NULL); + } +} + +// spo2 +static void mmi_factorymode_spo2_test_status_update(lv_anim_t * anim) +{ + char str[32]= {0}; + uint16_t spo2_value = 0; + + 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); + lv_label_set_text(anim->var, str); +} + +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_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); + if(NULL == activity_obj) { + return NULL; + } + } + + 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); + + testing_st = FAC_SPO2; + mmi_hsensor_measure_stop(); + mmi_hsensor_spo2_measure_start(); + + 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 + + char str[32]= {0}; + uint16_t spo2_value = 0; + 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); + 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_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_spo2_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +{ + if(e == LV_EVENT_CLICKED) { + mmi_factorymode_spo2_test_create(NULL); + } +} + +#else + +static void factorymode_hr_bp_bo_test_status_update(lv_anim_t * anim) +{ + char str[128]= {0}; + uint16_t hr = 0; + uint16_t bp_h = 0; + uint16_t bp_l = 0; + uint16_t bo = 0; + mmi_hsensor_measure_value_get(&hr, &bp_h, &bp_l, &bo); + + snprintf(str, 128, "%s: %d bpm \n%s: %d mmHg \n%s: %d mmHg \n%s : %d%%", + (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr, + (char *)lv_lang_get_text(WATCH_TEXT_ID_SYSTOLIC_BP), bp_h, + (char *)lv_lang_get_text(WATCH_TEXT_ID_DIASTOLIC_BP), bp_l, + (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), bo); + lv_label_set_text(anim->var,str); +} + +static lv_obj_t * factorymode_hr_bp_bo_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 = factorymode_hr_bp_bo_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; + } + } + + 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); + + testing_st = HEART_RATE; + mmi_hsensor_measure_stop(); + //asl_hr_bp_bo_fac_mode_measure_start(WAKEUP_UPDATE); + + + + char str[128]= {0}; + + 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_font20); + lv_obj_set_width(label,LV_HOR_RES-40); + lv_obj_set_pos(label, 20, 70); +#endif + + uint16_t hr = 0; + uint16_t bp_h = 0; + uint16_t bp_l = 0; + uint16_t bo = 0; + mmi_hsensor_measure_value_get(&hr, &bp_h, &bp_l, &bo); + + snprintf(str, 128, "%s: %d bpm \n%s: %d mmHg \n%s: %d mmHg \n%s : %d%%", + (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr, + (char *)lv_lang_get_text(WATCH_TEXT_ID_SYSTOLIC_BP), bp_h, + (char *)lv_lang_get_text(WATCH_TEXT_ID_DIASTOLIC_BP), bp_l, + (char *)lv_lang_get_text(WATCH_TEXT_ID_BLOOD_OXYGEN), bo); + 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)factorymode_hr_bp_bo_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 factorymode_hr_bp_bo_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +{ + if(e == LV_EVENT_CLICKED) { + factorymode_hr_bp_bo_test_create(NULL); + } +} + +static void factorymode_sport_hr_test_status_update(lv_anim_t * anim) +{ + char str[32] = {0}; + uint16_t hr = 0; + mmi_hsensor_measure_value_get(&hr, NULL, NULL, NULL); + + snprintf(str, 32, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr); + lv_label_set_text(anim->var,str); +} + +static lv_obj_t * factorymode_sport_hr_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 = factorymode_sport_hr_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; + } + } + + 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); + + testing_st = SPORT_HEART_RATE; + mmi_hsensor_measure_stop(); + //asl_hr_bp_bo_sport_measure_start(5, WAKEUP_UPDATE); + + + + char str[32]= {0}; + + 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_font20); + lv_obj_set_width(label,LV_HOR_RES-40); + lv_obj_set_pos(label, 20, 70); +#endif + + uint16_t hr = 0; + mmi_hsensor_measure_value_get(&hr, NULL, NULL, NULL); + + snprintf(str, 32, "%s: %d bpm", (char *)lv_lang_get_text(WATCH_TEXT_ID_HEART_RATE), hr); + 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)factorymode_sport_hr_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 factorymode_sport_hr_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) +{ + if(e == LV_EVENT_CLICKED) { + factorymode_sport_hr_test_create(NULL); + } +} + +static void factorymode_temperature_update(lv_anim_t * anim) +{ + char str[128]= {0}; + + snprintf(str, 128, "cur temp: %.2f°C\navg temp: %.2f°C\nbody temp: %.2f°C", + asl_cur_temperature_get(), + asl_avg_temperature_get(), + mmi_tsensor_body_temperature_get()); + lv_label_set_text(anim->var,str); +} + +static lv_obj_t * factorymode_temperature_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 = factorymode_temperature_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; + } + } + + 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); + + testing_st = FAC_TEMPERATURE; + mmi_tsensor_temperature_measure_start(); + + char str[128]= {0}; + + 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_font20); + lv_obj_set_width(label,LV_HOR_RES-40); + lv_obj_set_pos(label, 20, 70); +#endif + + snprintf(str, 128, "cur temp: \navg temp: \nbody temp: "); + 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)factorymode_temperature_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 factorymode_temperature_test_create_btn_cb(lv_obj_t * btn,lv_event_t e) { if(e == LV_EVENT_CLICKED) { factorymode_temperature_test_create(NULL); } } +#endif void factory_mode_calibration_create_btn_cb(lv_obj_t * btn,lv_event_t e) { diff --git a/2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c b/2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c index ff0dc9bc..995185f7 100644 --- a/2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c +++ b/2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c @@ -20,25 +20,25 @@ static void mmi_health_measure_process_timer_handle(uint32_t para); void mmi_hsensor_close(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_hr_bp_bo_measure_stop(); + mmi_hsensor_measure_stop(); } void mmi_hsensor_heart_open(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_hr_measure_start(0); + mmi_hsensor_hr_measure_start(); } void mmi_hsensor_blood_open(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_hr_measure_start(0); + mmi_hsensor_hr_measure_start(); } void mmi_hsensor_spo2_open(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_bo_measure_start(0); + mmi_hsensor_spo2_measure_start(); } bool mmi_hsensor_is_open(void) @@ -48,29 +48,29 @@ bool mmi_hsensor_is_open(void) static void mmi_hsensor_heart_value_get(uint16 * heart_value) { - asl_hr_bp_bo_value_get(heart_value, NULL, NULL, NULL); + mmi_hsensor_measure_value_get(heart_value, NULL, NULL, NULL); } static void mmi_hsensor_blood_value_get(uint16 * blood_high_value, uint16 * blood_low_value) { - asl_hr_bp_bo_value_get(NULL, blood_high_value, blood_low_value, NULL); + mmi_hsensor_measure_value_get(NULL, blood_high_value, blood_low_value, NULL); } static void mmi_hsensor_spo2_value_get(uint16 * spo2_value) { - asl_hr_bp_bo_value_get(NULL, NULL, NULL, spo2_value); + mmi_hsensor_measure_value_get(NULL, NULL, NULL, spo2_value); } void mmi_tsensor_close(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_temperature_measure_stop(); + mmi_tsensor_temperature_measure_stop(); } void mmi_tsensor_open(void) { HEALTH_MEASURE_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__); - asl_temperature_measure_start(); + mmi_tsensor_temperature_measure_start(); } bool mmi_tsensor_is_open(void) @@ -85,7 +85,7 @@ static void mmi_tsensor_wrist_value_get(float * wrist_value) static void mmi_tsensor_body_value_get(float * body_value) { - * body_value = asl_body_temperature_get(); + * body_value = mmi_tsensor_body_temperature_get(); } bool mmi_health_measure_wear_state_get(void)