血压增加佩戴检查
authorp15692025051 <846603105@qq.com>
Mon, 25 Mar 2024 01:19:15 +0000 (09:19 +0800)
committerp15692025051 <846603105@qq.com>
Mon, 25 Mar 2024 01:19:15 +0000 (09:19 +0800)
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c

index f713267..e8ac751 100644 (file)
@@ -425,14 +425,18 @@ void fr8012haq_timer_cfg(bool en)
         if(fr8012haq_timer == NULL )
             uos_timer_create(&fr8012haq_timer);
             //fr8012haq_timer = Helios_Timer_init( (void* )fr8012haq_timerout_cb, NULL);
-        if(FR8012HAQ_run_mode == BP_MODE)//血压500MS
+        if(FR8012HAQ_result_get_wear_status() == 0)//如果是未佩戴,统一3秒
+        {
+            uos_timer_start(fr8012haq_timer, MS_TO_TICKS(3000), MS_TO_TICKS(3000), fr8012haq_timerout_cb, NULL);
+        }
+        else if(FR8012HAQ_run_mode == BP_MODE)//血压500MS
         {
             FR8012HAQ_LOG("fr8012haq_timer_cfg:BP_MODE!!!!!\n");
             uos_timer_start(fr8012haq_timer, MS_TO_TICKS(500), MS_TO_TICKS(500), fr8012haq_timerout_cb, NULL);
         }else if(FR8012HAQ_run_mode == YYL_MODE)//中医35秒
         {
             uos_timer_start(fr8012haq_timer, MS_TO_TICKS(31000), MS_TO_TICKS(31000), fr8012haq_timerout_cb, NULL);
-        }else//其他1秒
+        }else//其他3秒
         {
             
             uos_timer_start(fr8012haq_timer, MS_TO_TICKS(3000), MS_TO_TICKS(3000), fr8012haq_timerout_cb, NULL);
@@ -908,7 +912,7 @@ void fr8012haq_process_data(uint32_t *process_data)
 {
     sys_pm_wakeup_no_lcd();
     Timer0_Switch(1);
-    
+   
     FR8012HAQ_LOG("fr8012haq_process_data:%d!!!!\n\n",FR8012HAQ_run_mode);
     switch (FR8012HAQ_run_mode)
     {
@@ -926,7 +930,7 @@ void fr8012haq_process_data(uint32_t *process_data)
             break;
         case WEAR_MODE:
             /* code */
-            //uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}"));
+            uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}"));
             break;
         case HRV_MODE:
             /* code */
@@ -1153,6 +1157,13 @@ void fr8012haq_measure_temp_start(void)
     FR8012HAQ_LOG("fr8012haq_measure_temp_start :FR8012HAQ_run_mode:%d!!!!!!!!\n",FR8012HAQ_run_mode);
     sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START);
 }
+void fr8012haq_measure_wear_start(void)
+{
+    sys_pm_wakeup_no_lcd();
+    FR8012HAQ_run_mode = WEAR_MODE     ;
+    FR8012HAQ_LOG("fr8012haq_measure_wear_start :FR8012HAQ_run_mode:%d!!!!!!!!\n",FR8012HAQ_run_mode);
+    sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START);
+}
 void FR8012HAQ_restart(void)
 {
        fr8012haq_en_gpio_enable(false);
@@ -1185,26 +1196,12 @@ void FR8012HAQ_close(void)
         free(s_FR8012HAQ_emo_data);
         s_FR8012HAQ_emo_data = NULL;
     }
-    uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"close\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"close\"}"));
+    //uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"close\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"close\"}"));
+    
     fr8012haq_timer_cfg(false);
-    //fr8012haq_hrs_disable
-    // if(FR8012HAQ_run_mode == HRS_MODE)
-    // {
-    //     //fr8012haq_hrs_disable();
-    // }else if(FR8012HAQ_run_mode == SPO2_MODE)
-    // {
-    //     //fr8012haq_spo2_disable();
-    // }else if(FR8012HAQ_run_mode == HRV_MODE)
-    // {
-    //     //fr8012haq_hrv_disable();
-    // }
-    // if(sensor_timer != 0)
-    // {
-    //     Helios_Timer_Stop(sensor_timer);
-    // }
-    //FR8012HAQ_restart();
+    fr8012haq_measure_wear_start();//开始佩戴模式
        //打开佩戴检测
-    
+    //uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}"));
     
 }
 
@@ -1332,11 +1329,24 @@ void FR8012HAQ_result_set_heart_rate(unsigned char heart_rate)
 }
 void FR8012HAQ_result_set_wear_status(unsigned char wear_status)
 {
+    static wear_tmp = 0;
+    if(wear_status == 0 && s_FR8012HAQ_wear_status == 1)//佩戴变未佩戴
+    {
+        //fr8012haq_measure_wear_start();//开始佩戴模式
+    }else if(wear_status == 1 && s_FR8012HAQ_wear_status == 0)//未佩戴变佩戴
+    {
+        //s_FR8012HAQ_wear_status =1;
+        //fr8012haq_timer_cfg(TRUE);//恢复定时器
+    }
+
        if(wear_status != 1)
-               s_FR8012HAQ_wear_status = 0;
+    {
+       
+        s_FR8012HAQ_wear_status = 0;
+    }
        else
                s_FR8012HAQ_wear_status = 1;
-   //FR8012HAQ_LOG("s_FR8012HAQ_wear_status:%d !!!!!!!!!!!!!!!!!\n\n\n",s_FR8012HAQ_wear_status);
+   FR8012HAQ_LOG("s_FR8012HAQ_wear_status:%d !!!!!!!!!!!!!!!!!\n\n\n",s_FR8012HAQ_wear_status);
 }
 unsigned char FR8012HAQ_result_get_wear_status(void)
 {