血压工厂模式显示调整
authorp15692025051 <846603105@qq.com>
Mon, 2 Sep 2024 03:40:14 +0000 (11:40 +0800)
committerp15692025051 <846603105@qq.com>
Mon, 2 Sep 2024 03:40:14 +0000 (11:40 +0800)
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c

index defecb1..1757056 100644 (file)
@@ -31,7 +31,9 @@ char fr8012haq_agc_timerout_flag = 0;
 static void * fr8012haq_agc_timer = NULL;
 int factory_apre_val[2];
 int factory_aps_val;
-
+int factory_bio_val_o = 0;
+int factory_calc_bio = 0;
+char factory_wear_status = 0;
 /************************simware add start***********************************/
 // static const uint32_t my_xm_mfp_cfgs[] = {
 //     MFP_REG(GPIO_85) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
@@ -560,6 +562,30 @@ int fr8012haq_parse_returned_data(int timeout)
                     if(str_tmp)
                     {  
                         str_tmp += strlen("\"factory_data\":\"");
+                        str_tmp += num_buf_len+1;
+                        num_buf_len = find_c(str_tmp,',');
+                        if(num_buf_len>=sizeof(num_buf))
+                            num_buf_len = sizeof(num_buf)-1;
+                        memset(num_buf,0,sizeof(num_buf));
+                        memcpy(num_buf,str_tmp,num_buf_len);
+                        factory_wear_status = atoi(num_buf);
+
+                        str_tmp += num_buf_len+1;
+                        num_buf_len = find_c(str_tmp,',');
+                        if(num_buf_len>=sizeof(num_buf))
+                            num_buf_len = sizeof(num_buf)-1;
+                        memset(num_buf,0,sizeof(num_buf));
+                        memcpy(num_buf,str_tmp,num_buf_len);
+                        factory_bio_val_o = atoi(num_buf);
+
+                        str_tmp += num_buf_len+1;
+                        num_buf_len = find_c(str_tmp,',');
+                        if(num_buf_len>=sizeof(num_buf))
+                            num_buf_len = sizeof(num_buf)-1;
+                        memset(num_buf,0,sizeof(num_buf));
+                        memcpy(num_buf,str_tmp,num_buf_len);
+                        factory_calc_bio = atoi(num_buf);
+
                         num_buf_len = find_c(str_tmp,',');
                         if(num_buf_len>=sizeof(num_buf))
                             num_buf_len = sizeof(num_buf)-1;
@@ -576,12 +602,13 @@ int fr8012haq_parse_returned_data(int timeout)
                         factory_apre_val[1] = atoi(num_buf);
                         
                         str_tmp += num_buf_len+1;
-                        num_buf_len = find_c(str_tmp,'\"');
+                        num_buf_len = find_c(str_tmp,'\n');
                         if(num_buf_len>=sizeof(num_buf))
                             num_buf_len = sizeof(num_buf)-1;
                         memset(num_buf,0,sizeof(num_buf));
                         memcpy(num_buf,str_tmp,num_buf_len);
                         factory_aps_val = atoi(num_buf);
+
                     }
                     /*血压*/
                     str_tmp = strstr(cmd_str_tmp,"\"bp_data\":\"");
@@ -1164,13 +1191,16 @@ void fr8012haq_hr_bp_bo_value_get(uint16_t *hr, uint16_t *bp_high, uint16_t *bp_
         *bo = s_FR8012HAQ_blood_oxygen;
 }
 //获取工厂模式数据,
-void fr8012haq_factory_data_get(int *apre_val0,int *apre_val1,int *aps_val)
+void fr8012haq_factory_data_get(int *apre_val0,int *apre_val1,int *aps_val,char *wear_status,int *bio_val_o,int *calc_bio)
 {
     *apre_val0 = factory_apre_val[0];
     *apre_val1 = factory_apre_val[1];
     *aps_val = factory_aps_val;
-
-    FR8012HAQ_LOG("fr8012haq_factory_data_get apre_val0:%d,apre_val1%d,aps_cal:%d\n",*apre_val0,*apre_val1,*aps_val);
+    *bio_val_o = factory_bio_val_o;
+    *calc_bio = factory_calc_bio;
+    *wear_status = factory_wear_status;
+    FR8012HAQ_LOG("fr8012haq_factory_data_get apre_val0:%d,apre_val1%d,aps_cal:%d,bio_val_o:%d,calc_bio:%d\n",
+    *apre_val0,*apre_val1,*aps_val, *bio_val_o, *calc_bio);
        return s_FR8012HAQ_yyl_data;
 }
 //获取1分钟血压数据,总共81*60个int数组,返回数据数组,len:长度返回,当长度等于81*60时表示存够数据
index 5d198bc..ffa7df2 100644 (file)
@@ -72,7 +72,7 @@ void fr8012haq_measure_temp_start(void);
 void fr8012haq_measure_OTA_start(void);
 
 void fr8012haq_measure_factory_start(void);
-void fr8012haq_factory_data_get(int *apre_val0,int *apre_val1,int *aps_val);
+void fr8012haq_factory_data_get(int *apre_val0,int *apre_val1,int *aps_val,char *wear_status,int *bio_val_o,int *calc_bio);
 int fr8012haq_int_gpio_d2_ent_callback(void);
 int fr8012haq_int_gpio_d2_exit_callback(void);
 
index 54c746e..ad743a4 100644 (file)
@@ -2181,13 +2181,16 @@ void mmi_factorymode_light_leak_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
 static void mmi_factorymode_light_leak_test_status_update(lv_anim_t * anim)
 {
     char str[64]= {0};
-       int apre_val0 = 0, apre_val1 = 0, aps_val = 0;
-       
-       fr8012haq_factory_data_get(&apre_val0, &apre_val1, &aps_val);
-    sprintf(str, "%s: %d,%d,%d", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA),
+       int apre_val0 = 0, apre_val1 = 0, aps_val = 0,bio_val_o=0,calc_bio=0;
+       char wear_status = 0;
+       fr8012haq_factory_data_get(&apre_val0, &apre_val1, &aps_val,&wear_status,bio_val_o,calc_bio);
+    sprintf(str, "%s: %d,%d,%d\n wear_status:%d bio_val_o: %d\n calc_bio  : %d", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA),
                                                                apre_val0,
                                                                apre_val1,
-                                                               aps_val);
+                                                               aps_val,
+                                wear_status,
+                                bio_val_o,
+                                calc_bio);
     lv_label_set_text(anim->var, str);
 }