#define __MMI_HEALTH_MEASURE_TEMPERATURE_SUPPORT__
+#define __MMI_HEALTH_MEASURE_RING_PROMPT__
+
//#define __MMI_APP_QRCODE_MENU_SUPPORT__
#define __MMI_APP_QRCODE_FROM_SERVER_SUPPORT__
#define __MMI_APP_QRCODE_AND_DEVICE_QRCODE_IN_ONE_SUPPORT__
}
-static void ring_prompt_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority)
-{
- if(AUDIO_CTRL_PRIORITY_REMIND > priority)
- {
- Hal_NFFS_File_Play_End();
- Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_REMIND);
- }
-}
-
-static void ring_prompt_play_onetime_cb(void *para)
-{
- Hal_NFFS_File_Play_End();
- Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_REMIND);
-}
-
-static void mmi_bp_screen_common_ring_prompt(uint8_t is_measure, uint8_t is_begin)
-{
- char * ring_path = NULL;
-
- if(is_measure)
- {
- if(is_begin)
- ring_path = AUDIO_BP_MEASURE_BEGIN;
- else
- ring_path = AUDIO_BP_MEASURE_END;
- }
- else
- {
- // if(is_begin)
- // ring_path = AUDIO_BP_CALIBRATION_BEGIN;
- // else
- // ring_path = AUDIO_BP_CALIBRATION_END;
- }
-
- if(AUDIO_CTRL_PRIORITY_REMIND == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_REMIND, ring_prompt_audio_ctrl_callback))
- {
- uint8_t volume = 0;
- #ifdef __MMI_USER_PROFILE_SUPPORT__
- volume = mmi_user_profile_current_mode_remind_volume_get();
- #else
- volume = query_current_volume();
- #endif
-
- Hal_NFFS_File_Play_Onetime((const char *)ring_path, (HAL_SPEAKER_GAIN)volume, ring_prompt_play_onetime_cb, 0);
- }
-}
-
-
static lv_obj_t * mmi_bp_screen_common_bottom_button_create(lv_obj_t * par, uint32_t text_id, lv_event_cb_t event_cb)
{
lv_obj_t * imgbtn = lv_imgbtn_create(par, NULL);
lv_obj_set_width(label_prompt, 400);
lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_MEASURE_FAIL);
lv_obj_align(label_prompt, NULL, LV_ALIGN_IN_TOP_MID, 0, 292);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(2);
+ #endif
}
else
{
lv_label_set_text(label_time, time_str);
lv_obj_align(label_time, NULL, LV_ALIGN_IN_TOP_MID, 0, 304);
lv_obj_set_click(label_time, false);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(1);
+ #endif
}
mmi_bp_screen_common_bottom_button_create(watch_ext->cont, WATCH_TEXT_ID_OK, mmi_hengai_bp_measure_result_screen_event_cb);
-
- // ring prompt
- mmi_bp_screen_common_ring_prompt(1, 0);
}
void mmi_hengai_bp_measure_result_timeout(void * para)
#endif
// ring prompt
- mmi_bp_screen_common_ring_prompt(1, 1);
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(0);
+ #endif
/* start timer (1 min) */
watch_ext->measure_timer_id = Hal_Timer_Start(1000, mmi_hengai_bp_measure_cycle_timeout, NULL, true);
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);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(2);
+ #endif
break;
case STATE_HEART_RATE_MEASURE_DONE:
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);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(1);
+ #endif
break;
default:
ext->measure_state = STATE_HEART_RATE_MEASURING;
watch_set_suspend_enable(false, ACT_ID_HEALTH_MEASURE_HEART, 0);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(0);
+ #endif
}
health_heart_rate_display_update();
}
+#ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+static void ring_prompt_audio_ctrl_callback(AUDIO_CTRL_PRIORITY priority)
+{
+ if(AUDIO_CTRL_PRIORITY_REMIND > priority)
+ {
+ Hal_NFFS_File_Play_End();
+ Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_REMIND);
+ }
+}
+
+static void ring_prompt_play_onetime_cb(void *para)
+{
+ Hal_NFFS_File_Play_End();
+ Hal_Audio_Manage_End_Ind(AUDIO_CTRL_PRIORITY_REMIND);
+}
+
+void mmi_health_measure_common_ring_prompt(uint8_t measure_action)
+{
+ char * ring_path = NULL;
+
+ if(0 == measure_action)
+ ring_path = AUDIO_MEASURE_BEGIN;
+ else if(1 == measure_action)
+ ring_path = AUDIO_MEASURE_END;
+ else
+ ring_path = AUDIO_MEASURE_FAIL;
+
+ if(AUDIO_CTRL_PRIORITY_REMIND == Hal_Audio_Manage_Start_Req(AUDIO_CTRL_PRIORITY_REMIND, ring_prompt_audio_ctrl_callback))
+ {
+ uint8_t volume = 0;
+ #ifdef __MMI_USER_PROFILE_SUPPORT__
+ volume = mmi_user_profile_current_mode_remind_volume_get();
+ #else
+ volume = query_current_volume();
+ #endif
+
+ Hal_NFFS_File_Play_Onetime((const char *)ring_path, (HAL_SPEAKER_GAIN)volume, ring_prompt_play_onetime_cb, 0);
+ }
+}
+#endif
+
+
#endif
void mmi_health_measure_task_init(void);
+#ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+// measure_action: 0-begin; 1-end; other-fail
+void mmi_health_measure_common_ring_prompt(uint8_t measure_action);
+#endif
+
+
#endif
#ifdef __cplusplus
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, SPO2_LABEL_VALUE_Y);
lv_obj_set_hidden(ext->label_value, FALSE);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(2);
+ #endif
break;
case STATE_SPO2_MEASURE_DONE:
lv_label_set_text(ext->label_value, ext->spo2);
lv_obj_align(ext->label_value, ext->cont, LV_ALIGN_IN_TOP_MID, 0, SPO2_LABEL_VALUE_Y);
lv_obj_set_hidden(ext->label_value, FALSE);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(1);
+ #endif
break;
default:
ext->measure_state = STATE_SPO2_MEASURING;
watch_set_suspend_enable(false, ACT_ID_HEALTH_MEASURE_SPO2, 0);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(0);
+ #endif
}
health_spo2_display_update();
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, TEMPERATURE_LABEL_VALUE_Y);
lv_obj_set_hidden(ext->label_value, FALSE);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(2);
+ #endif
break;
case STATE_TEMPERATURE_MEASURE_DONE:
lv_label_set_text(ext->label_value, ext->body_value);
lv_obj_align(ext->label_value, ext->cont, LV_ALIGN_IN_TOP_MID, 0, TEMPERATURE_LABEL_VALUE_Y);
lv_obj_set_hidden(ext->label_value, FALSE);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(1);
+ #endif
break;
default:
ext->measure_state = STATE_TEMPERATURE_MEASURING;
watch_set_suspend_enable(false, ACT_ID_HEALTH_MEASURE_TEMPERATURE, 0);
+
+ // ring prompt
+ #ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+ mmi_health_measure_common_ring_prompt(0);
+ #endif
}
health_temperature_display_update();
#define AUDIO_REMIND_SEDENTARY "R:/audio/AUDIO_REMIND_SEDENTARY.mp3"
#endif
-#ifdef __MMI_CUSTOM_HENGAI_HEALTH__
-#define AUDIO_BP_MEASURE_BEGIN "R:/audio/AUDIO_BP_MEASURE_BEGIN.mp3"
-#define AUDIO_BP_MEASURE_END "R:/audio/AUDIO_BP_MEASURE_END.mp3"
-//#define AUDIO_BP_CALIBRATION_BEGIN "R:/audio/AUDIO_BP_CALIBRATION_BEGIN.mp3"
-//#define AUDIO_BP_CALIBRATION_END "R:/audio/AUDIO_BP_CALIBRATION_END.mp3"
+#ifdef __MMI_HEALTH_MEASURE_RING_PROMPT__
+#define AUDIO_MEASURE_BEGIN "R:/audio/AUDIO_MEASURE_BEGIN.mp3"
+#define AUDIO_MEASURE_END "R:/audio/AUDIO_MEASURE_END.mp3"
+#define AUDIO_MEASURE_FAIL "R:/audio/AUDIO_MEASURE_FAIL.mp3"
#endif