Z5_HA_K18
authorcheng <2393524978@qq.com>
Sat, 31 Jan 2026 02:38:27 +0000 (10:38 +0800)
committercheng <2393524978@qq.com>
Sat, 31 Jan 2026 02:38:27 +0000 (10:38 +0800)
13 files changed:
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_BEGIN.mp3 [deleted file]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_END.mp3 [deleted file]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_BEGIN.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_END.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_FAIL.mp3 [new file with mode: 0644]
2.sdk/project/Z5_HA_K18/product/craneg_modem/config/watch/lv_watch_conf_CUSTOM.h
2.sdk/sdk/gui/lv_watch/lv_apps/custom_function/heng_ai_blood_pressure.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_heart_rate.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_measure.h
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_spo2.c
2.sdk/sdk/gui/lv_watch/lv_apps/health_measure/health_temperature.c
2.sdk/sdk/gui/lv_watch/lv_watch_res.h

diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_BEGIN.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_BEGIN.mp3
deleted file mode 100644 (file)
index 4a58abe..0000000
Binary files a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_BEGIN.mp3 and /dev/null differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_END.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_END.mp3
deleted file mode 100644 (file)
index 2d32125..0000000
Binary files a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_BP_MEASURE_END.mp3 and /dev/null differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_BEGIN.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_BEGIN.mp3
new file mode 100644 (file)
index 0000000..8608c99
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_BEGIN.mp3 differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_END.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_END.mp3
new file mode 100644 (file)
index 0000000..f8f01c3
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_END.mp3 differ
diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_FAIL.mp3 b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_FAIL.mp3
new file mode 100644 (file)
index 0000000..bc50919
Binary files /dev/null and b/2.sdk/project/Z5_HA_K18/gui/lv_watch/resource/audio/AUDIO_MEASURE_FAIL.mp3 differ
index 42d30ea..f6f0e77 100644 (file)
 
 #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__
index d2c9717..6b9bd8d 100644 (file)
@@ -629,54 +629,6 @@ void mmi_hengai_bp_back_measure_action(void)
 }
 
 
-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);
@@ -912,6 +864,11 @@ void mmi_hengai_bp_measure_result_screen(uint8_t result)
                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
        {
@@ -963,12 +920,14 @@ void mmi_hengai_bp_measure_result_screen(uint8_t result)
                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)
@@ -1381,7 +1340,9 @@ void mmi_hengai_bp_measure_start_btn_event_cb(lv_obj_t * obj, lv_event_t e)
        #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);
index ddb5b92..4273e31 100644 (file)
@@ -57,6 +57,11 @@ void health_heart_rate_display_update(void)
                        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:
@@ -70,6 +75,11 @@ void health_heart_rate_display_update(void)
                        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:
@@ -275,6 +285,11 @@ lv_obj_t * health_heart_rate_create(lv_obj_t * activity_obj)
        
                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();
index b2d8009..e7fb19f 100644 (file)
@@ -1369,5 +1369,47 @@ void mmi_health_measure_task_init(void)
 }
 
 
+#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
 
index e576786..8e0afbb 100644 (file)
@@ -190,6 +190,12 @@ void mmi_health_measure_task_msg_send(MMI_HEALTH_MEASURE_MSG_ID_E msg_id, void *
 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
index 3127312..43cca54 100644 (file)
@@ -59,6 +59,11 @@ void health_spo2_display_update(void)
                        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:
@@ -72,6 +77,11 @@ void health_spo2_display_update(void)
                        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:
@@ -283,6 +293,11 @@ lv_obj_t * health_spo2_create(lv_obj_t * activity_obj)
        
                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();
index 32e69de..9b3d04a 100644 (file)
@@ -59,6 +59,11 @@ void health_temperature_display_update(void)
                        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:
@@ -72,6 +77,11 @@ void health_temperature_display_update(void)
                        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:
@@ -287,6 +297,11 @@ lv_obj_t * health_temperature_create(lv_obj_t * activity_obj)
        
                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();
index 376abd7..050ccad 100644 (file)
@@ -72,11 +72,10 @@ extern "C" {
 #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