From: p15692025051 <846603105@qq.com> Date: Wed, 13 Mar 2024 08:12:39 +0000 (+0800) Subject: 血压 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=2e7dfaeed8e8ebb986d94791547dd10bbada1811;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 ff86f733..7012b502 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -30,8 +30,21 @@ char fr8012haq_agc_timerout_flag = 0; static void * fr8012haq_agc_timer = NULL; int factory_apre_val[2]; int factory_aps_val; + /************************simware add start***********************************/ -/************************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, +// MFP_EOC /*End of configuration, must have */ +// }; + +static const uint32_t fr8012haq_mfp_cfgs_sleep[] = { + MFP_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_FALL, + MFP_EOC /*End of configuration, must have */ +}; +static const uint32_t fr8012haq_d2_exit_mfp_cfgs[] = { + MFP_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_FALL, + MFP_EOC /*End of configuration, must have */ +}; static uint32_t fr8012haq_mfp_cfgs[] = { MFP_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE, MFP_REG(GPIO_18) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE, @@ -40,7 +53,26 @@ static uint32_t fr8012haq_mfp_cfgs[] = { MFP_REG(GPIO_16) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE, MFP_EOC }; +int fr8012haq_int_gpio_d2_ent_callback(void) +{ + mfp_config((uint32_t *)fr8012haq_mfp_cfgs_sleep); + return 0; +} +int fr8012haq_int_gpio_d2_exit_callback(void) +{ + mfp_config((uint32_t *)fr8012haq_d2_exit_mfp_cfgs); + return 0; +} +static void fr8012haq_sleep_suspend(void) +{ + Hal_low_power_sleep_suspend(HWD_LOW_POWRE_GSENSOR_1_FLAG); +} + +static void fr8012haq_sleep_resume(void) +{ + Hal_low_power_sleep_resume(HWD_LOW_POWRE_GSENSOR_1_FLAG); +} typedef void* OS_HISR; static OS_HISR fr8012haq_hisr_ref; @@ -101,7 +133,6 @@ static void fr8012haq_en_gpio_init(void) gpio_set_direction(GPIO81, GPIO_OUT); gpio_set_direction(GPIO84, GPIO_OUT); gpio_set_direction(GPIO16, GPIO_OUT); - } void fr8012haq_delay(uint32_t ms) { @@ -383,35 +414,35 @@ static void fr8012haq_create_hisr(void) } static void * fr8012haq_timer = NULL; +char fr8012haq_timerout_flag = 0; void fr8012haq_timerout_cb(void) { + if(fr8012haq_timerout_flag == 1) + return; + fr8012haq_timerout_flag=1; //FR8012HAQ_LOG("fr8012haq_timerout_cb\n"); OS_Activate_HISR(&fr8012haq_hisr_ref); } void fr8012haq_timer_cfg(bool en) { - return ; + //FR8012HAQ_LOG("fr8012haq_timer_cfg :%d!!!!!!\n\n",en); if(en) { if(fr8012haq_timer == NULL ) uos_timer_create(&fr8012haq_timer); //fr8012haq_timer = Helios_Timer_init( (void* )fr8012haq_timerout_cb, NULL); - if(FR8012HAQ_run_mode == WEAR_MODE) - { - - uos_timer_start(fr8012haq_timer, MS_TO_TICKS(3000), MS_TO_TICKS(3000), fr8012haq_timerout_cb, NULL); - }else if(FR8012HAQ_run_mode == BP_MODE)//血压150MS + if(FR8012HAQ_run_mode == BP_MODE)//血压500MS { FR8012HAQ_LOG("fr8012haq_timer_cfg:BP_MODE!!!!!\n"); - uos_timer_start(fr8012haq_timer, MS_TO_TICKS(1000), MS_TO_TICKS(1000), fr8012haq_timerout_cb, NULL); - }else if(FR8012HAQ_run_mode == YYL_MODE)//中医10秒 + 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(10000), MS_TO_TICKS(10000), fr8012haq_timerout_cb, NULL); + uos_timer_start(fr8012haq_timer, MS_TO_TICKS(35000), MS_TO_TICKS(35000), fr8012haq_timerout_cb, NULL); }else//其他1秒 { - uos_timer_start(fr8012haq_timer, MS_TO_TICKS(1000), MS_TO_TICKS(1000), fr8012haq_timerout_cb, NULL); + uos_timer_start(fr8012haq_timer, MS_TO_TICKS(3000), MS_TO_TICKS(3000), fr8012haq_timerout_cb, NULL); } @@ -605,8 +636,8 @@ int fr8012haq_parse_returned_data(int timeout) // FR8012HAQ_LOG("%s\n", (char *)UART4_buf+110); int print_len_tmp = len ; - FR8012HAQ_LOG("UART4:len:%d ",len); - my_str_print(UART4_buf,len);//打印 + FR8012HAQ_LOG("UART4:len:%d data:",len); + //my_str_print(UART4_buf,len);//打印 FR8012HAQ_LOG("\n\n"); cmd_str_tmp = UART4_buf; while(1) @@ -683,8 +714,8 @@ int fr8012haq_parse_returned_data(int timeout) //FR8012HAQ_LOG("bp:str_tmp:%s\n",str_tmp); str_tmp += strlen("\"bp_data\":\""); num_buf_len = find_c(str_tmp,'\"'); - printf("bp:hex_str:%s\n",str_tmp); - FR8012HAQ_LOG("bp:int:"); + //printf("bp:hex_str:%s\n",str_tmp); + //FR8012HAQ_LOG("bp:int:"); for(i=0;i