From: p15692025051 <846603105@qq.com> Date: Mon, 25 Mar 2024 01:19:15 +0000 (+0800) Subject: 血压增加佩戴检查 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=1f34f8668fc66dfb35b4dbc2b105e8400966ccc6;p=mirrors%2FASR3603_Z5.git 血压增加佩戴检查 --- diff --git a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c index f7132670..e8ac7514 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -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) {