#ifdef __MMI_CUSTOM_HENGAI_HEALTH__
-#if 0
-static lv_obj_t * mmi_heng_ai_warning_screen_create(lv_obj_t * activity_obj)
-{
- HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
- if(NULL == activity_obj)
- {
- lv_watch_activity_ext_t activity_ext = {0};
-
- activity_ext.actId = ACT_ID_HENG_AI_WARNING;
- activity_ext.create = mmi_heng_ai_warning_screen_create;
- activity_ext.prepare_destory = mmi_heng_ai_warning_screen_prepare_destory;
- activity_obj = lv_watch_creat_activity_obj(&activity_ext);
- if(NULL == activity_obj)
- return NULL;
- }
-
- /* watch obj */
- lv_obj_t * obj = lv_watch_obj_create(activity_obj);
- lv_watch_obj_set_anim_mode(obj, LV_WATCH_ANIM_HOR_RIGHT_HIDE);
- lv_heng_ai_warning_obj_ext_t * ext = (lv_heng_ai_warning_obj_ext_t *)lv_obj_allocate_ext_attr(obj, sizeof(lv_heng_ai_warning_obj_ext_t));
-
- lv_obj_t * cont = lv_cont_create(obj, NULL);
- lv_obj_set_size(cont, LV_HOR_RES, LV_VER_RES);
- lv_obj_set_style_local_bg_color(cont, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
- //lv_obj_set_style_local_bg_color(cont, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
- lv_obj_set_click(cont, false);
-
- hal_rtc_t cur_time;
- char time_str[8] = {0};
-
- Hal_Rtc_Gettime(&cur_time);
- sprintf(time_str, "%02d:%02d", cur_time.tm_hour, cur_time.tm_min);
-
- lv_obj_t * label_time = lv_label_create(cont, NULL);
- lv_obj_add_style(label_time, LV_LABEL_PART_MAIN, &lv_watch_font26);
- lv_label_set_text(label_time, time_str);
- lv_label_set_align(label_time, LV_LABEL_ALIGN_CENTER);
- lv_obj_align(label_time, NULL, LV_ALIGN_IN_TOP_MID, 0, 50);
-
- lv_obj_t * label_prompt = lv_label_create(cont, NULL);
- lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
- lv_label_set_align(label_prompt, LV_LABEL_ALIGN_CENTER);
- lv_label_set_long_mode(label_prompt, LV_LABEL_LONG_BREAK);
- lv_obj_set_width(label_prompt, lv_obj_get_width(obj) - 20);
- lv_label_set_text(label_prompt, s_heng_ai_warning_info.prompt_str);
- lv_obj_align(label_prompt, label_time, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);
-
-
- lv_obj_t * btn = lv_btn_create(cont, NULL);
- lv_obj_set_size(btn, 100, 56);
- lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, lv_color_make(0x47, 0xA6, 0xFF));
- lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, 30);
- lv_obj_set_style_local_bg_color(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, lv_color_make(0x47, 0xA6, 0xFF));
- lv_obj_set_style_local_radius(btn, LV_BTN_PART_MAIN, LV_STATE_PRESSED, 30);
- lv_obj_align(btn, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20);
- lv_obj_set_event_cb(btn, mmi_heng_ai_warning_btn_event_cb);
-
- lv_obj_t * label = lv_label_create(btn, NULL);
- lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font26);
- lv_label_set_text_id(label, WATCH_TEXT_ID_OK);
-
- /* start timer (1 min) */
- ext->timer_id = Hal_Timer_Start(1000 * 60, mmi_heng_ai_warning_screen_timeout, NULL, false);
-
- watch_set_suspend_enable(false, ACT_ID_HENG_AI_WARNING, 0);
-
- return obj;
-}
-
-lv_heart_rate_obj_ext_t * health_heart_rate_get_ext(void)
-{
- lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HEALTH_MEASURE_HEART);
- if(NULL == activity_obj)
- {
- return NULL;
- }
-
- lv_obj_t * watch_obj;
- lv_watch_get_child_obj(activity_obj, lv_watch_obj_signal, &watch_obj);
- if(NULL != watch_obj)
- {
- lv_heart_rate_obj_ext_t * ext = lv_obj_get_ext_attr(watch_obj);
- return ext;
- }
- return NULL;
-}
-
-void health_heart_rate_display_update(void)
-{
- lv_heart_rate_obj_ext_t * ext = health_heart_rate_get_ext();
- if(NULL == ext)
- {
- return;
- }
-
- switch(ext->measure_state)
- {
- case STATE_HEART_RATE_MEASURING:
- lv_obj_set_hidden(ext->img, TRUE);
-
- lv_label_set_text_id(ext->label_info, WATCH_TEXT_ID_MEASURING);
- lv_obj_align(ext->label_info, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_INFO_Y);
-
- lv_label_set_text(ext->label_value, ext->heart_rate);
- lv_obj_align(ext->label_value, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_VALUE_Y);
- lv_obj_set_hidden(ext->label_value, ((strlen(ext->heart_rate)) ? FALSE : TRUE));
- break;
-
- case STATE_HEART_RATE_MEASURE_FAIL:
- lv_img_set_src(ext->img, ICON_HEART_RATE_MEASURE_FAIL);
- lv_obj_set_hidden(ext->img, FALSE);
-
- lv_label_set_text_id(ext->label_info, WATCH_TEXT_ID_MEASURE_FAIL);
- lv_obj_align(ext->label_info, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_INFO_Y);
-
- lv_obj_remove_style(ext->label_value, LV_LABEL_PART_MAIN, &lv_watch_font40);
- lv_obj_add_style(ext->label_value, LV_LABEL_PART_MAIN, &lv_watch_font30);
- lv_label_set_text_id(ext->label_value, WATCH_TEXT_ID_NOT_WEAR);
- lv_obj_align(ext->label_value, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_VALUE_Y);
- lv_obj_set_hidden(ext->label_value, FALSE);
- break;
-
- case STATE_HEART_RATE_MEASURE_DONE:
- lv_img_set_src(ext->img, ICON_HEART_RATE_MEASURE_DONE);
- lv_obj_set_hidden(ext->img, FALSE);
-
- lv_label_set_text_id(ext->label_info, WATCH_TEXT_ID_MEASURE_DONE);
- lv_obj_align(ext->label_info, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_INFO_Y);
-
- lv_label_set_text(ext->label_value, ext->heart_rate);
- lv_obj_align(ext->label_value, ext->cont, LV_ALIGN_IN_TOP_MID, 0, HEART_LABEL_VALUE_Y);
- lv_obj_set_hidden(ext->label_value, FALSE);
- break;
-
- default:
- break;
- }
-}
-#endif
-
-
static const lv_point_t s_hengai_bp_valid_pos[] = {{0, 0}, {1, 0}, {2, 0}};
static uint8_t s_hengai_bp_measure_count = 0;
static uint8_t s_hengai_bp_calibrate_times = 0;
mmi_hengai_bp_raw_data_free();
- //watch_set_suspend_enable(true, ACT_ID_HENG_AI_BP, 0);
- lv_watch_png_cache_all_free();
-
mmi_heng_ai_bp_measure_screen_clean();
mmi_heng_ai_bp_calibrate_screen_clean();
+ HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ lv_watch_png_cache_all_free();
}
void mmi_heng_ai_bp_screen_clean(void)
void mmi_heng_ai_bp_measure_screen_clean(void)
{
+ HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HENG_AI_BP_MEASURE);
if(NULL != activity_obj)
{
void mmi_hengai_bp_measure_cycle_timeout(void * para)
{
+ if(false == mmi_health_measure_wear_state_get())
+ {
+ mmi_hsensor_close();
+ mmi_hengai_bp_measuring_flag_set(false);
+ mmi_hengai_bp_measure_result_screen(3);
+
+ return;
+ }
+
s_hengai_bp_measure_count++;
- if(MMI_BP_MEASURE_TOTAL_COUNT < s_hengai_bp_measure_count) // stop action when 60s
+ if(MMI_BP_MEASURE_TOTAL_COUNT < s_hengai_bp_measure_count) // stop action
{
mmi_hengai_bp_measure_finish_screen();
}
void mmi_heng_ai_bp_calibrate_screen_clean(void)
{
+ HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
lv_obj_t * activity_obj = lv_watch_get_activity_obj(ACT_ID_HENG_AI_BP_CALIBRATE);
if(NULL != activity_obj)
{
mmi_hengai_bp_calibrate_result_screen(is_success);
}
+void mmi_hengai_bp_calibrate_second_data_send_task_cb(lv_task_t * task)
+{
+ mmi_hengai_bp_calibrate_raw_data_send(2, s_bp_value_high, s_bp_value_low);
+}
+
void mmi_hengai_bp_calibrate_finish_screen(void)
{
lv_heng_ai_bp_calibrate_ext_t * watch_ext = (lv_heng_ai_bp_calibrate_ext_t *)mmi_heng_ai_bp_calibrate_screen_ext_get();
HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
watch_ext->result_timer_id = Hal_Timer_Start(MMI_BP_WAIT_RESULT_TIMEOUT, mmi_hengai_bp_calibrate_result_timeout, NULL, false);
- mmi_hengai_bp_calibrate_raw_data_send(s_hengai_bp_calibrate_times, s_bp_value_high, s_bp_value_low);
+ lv_task_t * data_send_task = lv_task_create(mmi_hengai_bp_calibrate_second_data_send_task_cb, 2000, LV_TASK_PRIO_HIGH, NULL);
+ lv_task_once(data_send_task);
}
void mmi_hengai_bp_calibrate_end_input_event_cb(lv_obj_t * obj, lv_event_t e)
if(1 == s_hengai_bp_calibrate_times)
{
- mmi_hengai_bp_calibrate_raw_data_send(s_hengai_bp_calibrate_times, s_bp_value_high, s_bp_value_low);
+ mmi_hengai_bp_calibrate_raw_data_send(1, s_bp_value_high, s_bp_value_low);
// once again
mmi_heng_ai_bp_calibrate_start_screen();
}
void mmi_hengai_bp_calibrate_cycle_timeout(void * para)
{
+ if(false == mmi_health_measure_wear_state_get())
+ {
+ mmi_hsensor_close();
+ mmi_hengai_bp_measuring_flag_set(false);
+ mmi_hengai_bp_calibrate_result_screen(false);
+
+ return;
+ }
+
s_hengai_bp_measure_count++;
- if(MMI_BP_MEASURE_TOTAL_COUNT < s_hengai_bp_measure_count) // stop action when 60s
+ if(MMI_BP_MEASURE_TOTAL_COUNT < s_hengai_bp_measure_count) // stop action
{
mmi_hengai_bp_calibrate_end_screen();
}
if(NULL == watch_obj)
return NULL;
-#if 0
#if 1
if(false == watch_modem_sim_present_check_req())
{
lv_obj_align(label_1, NULL, LV_ALIGN_IN_TOP_MID, 0, 278);
lv_obj_set_click(label_1, false);
}
-#endif
-#if 1
+#if 0
else if(true != mmi_watch_tcp_connect_state_get()
|| true != mmi_protocol_watch_bind_state_get()
)
lv_obj_set_click(label_1, false);
}
#endif
-#if 1
else if(false == mmi_health_measure_wear_state_get())
{
lv_watch_obj_set_anim_mode(watch_obj, LV_WATCH_ANIM_HOR_RIGHT_HIDE);
lv_obj_set_click(label_1, false);
}
else
-#endif
#endif
{
lv_watch_obj_set_anim_mode(watch_obj, LV_WATCH_ANIM_NO);
}
-
-
-#if 0
-static void * __s_debug_timer_id = NULL;
-//TIMER_ID measure_timer_id;
-
-void __debug_timer_start(void);
-
-void __debug_timer_cb(void * param)
-{
- char temp_buff[128] = {0};
-
- //��ȡ48�ֽ�aslcc���ʮ������Ѫѹ���ݵ�blood_buf��ע��:blood_buf����Ҫ���ڵ���48*2�ֽ�
- //void fr8012haq_blood_data_get(char *blood_buf)
- fr8012haq_blood_data_get(temp_buff);
-
- HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: %s\n", __FUNCTION__, __LINE__, temp_buff);
- HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, temp_buff + 31);
- HENGAI_HEALTH_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %s\n", __LINE__, temp_buff + 63);
-
- __debug_timer_start();
-}
-
-void __debug_timer_start(void)
-{
- if(NULL == __s_debug_timer_id)
- uos_timer_create(&__s_debug_timer_id);
- else
- uos_timer_stop(__s_debug_timer_id);
-
- uos_timer_start(__s_debug_timer_id, MS_TO_TICKS(1000), 0, __debug_timer_cb, NULL);
-}
-
-void __debug_stop(void)
-{
- mmi_hsensor_close();
-
- if(NULL != __s_debug_timer_id)
- {
- uos_timer_stop(__s_debug_timer_id);
- uos_timer_delete(__s_debug_timer_id);
- __s_debug_timer_id = NULL;
- }
-}
-
-void __debug_start(void)
-{
- mmi_hsensor_bp_open();
-
- __debug_timer_start();
-}
#endif
-#endif