From: p15692025051 <846603105@qq.com> Date: Tue, 30 Apr 2024 08:21:38 +0000 (+0800) Subject: K18血压提交 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=7b5a3b7f11645b01c3ccd2755ca7b4c411a2b2d2;p=mirrors%2FASR3603_Z5.git K18血压提交 --- diff --git a/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h b/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h index f636c16a..c9205077 100644 --- a/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h +++ b/2.sdk/project/Z5_HA_K18/gui/lv_watch/mmi_default_CUSTOM.h @@ -8,21 +8,21 @@ //server ip // fzd debug-lab.xcloudtech.com:9000; fzd-api.xcloudtech.com:9000 // tongxin debug-tcptest.tx.kidxin.com:20500; tongxin-tcp.tx.kidxin.com:20500 -#define MMI_CUSTOMER_IP_ADDRESS "iot.socket.thisiot.com" // "api.xcloudtech.com" +#define MMI_CUSTOMER_IP_ADDRESS "test.iot.socket.thisiot.com" #define MMI_CUSTOMER_IP_PORT (9999) // (9000) // fzd-"bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" -#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "SZYhyGhroQ3xFKFWZq1g" // "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP" +#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "2gJcBatAioDZOmvareIo" // fzd-"SZKW" -#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "oxLwDqcwJCtiPSRu" // "SZKW" +#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "bwuwcChPG1C42ay5" // #define MMI_CUSTOMER_HEARTBEAT_ACTION_INTERVAL (7 * 60) // (5 * 60) // unit:s -#define MMI_CUSTOMER_LOCATION_UPLOAD_INTERVAL (30 * 60) // unit:s +#define MMI_CUSTOMER_LOCATION_UPLOAD_INTERVAL (120 * 60) // unit:s #define MMI_CUSTOMER_WEATHER_UPDATE_INTERVAL (6 * 60 * 60) // unit:s @@ -38,19 +38,19 @@ //health measure timed -#define MMI_CUSTOMER_HEART_TIMED_FLAG true +#define MMI_CUSTOMER_HEART_TIMED_FLAG false #define MMI_CUSTOMER_HEART_TIMED_INTERVAL (60 * 60) // unit:s -#define MMI_CUSTOMER_TEMPERATURE_TIMED_FLAG true +#define MMI_CUSTOMER_TEMPERATURE_TIMED_FLAG false #define MMI_CUSTOMER_TEMPERATURE_TIMED_INTERVAL (60 * 60) // unit:s -#define MMI_CUSTOMER_BLOOD_TIMED_FLAG true +#define MMI_CUSTOMER_BLOOD_TIMED_FLAG false #define MMI_CUSTOMER_BLOOD_TIMED_INTERVAL (60 * 60) // unit:s -#define MMI_CUSTOMER_SPO2_TIMED_FLAG true +#define MMI_CUSTOMER_SPO2_TIMED_FLAG false #define MMI_CUSTOMER_SPO2_TIMED_INTERVAL (60 * 60) // unit:s 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 92b5f958..18791002 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -39,11 +39,11 @@ int factory_aps_val; // }; 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_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_FLOAT | 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_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE, MFP_EOC /*End of configuration, must have */ }; static uint32_t fr8012haq_mfp_cfgs[] = { @@ -129,8 +129,8 @@ static void fr8012haq_en_gpio_init(void) gpio_set_direction(GPIO16, GPIO_OUT); gpio_set_direction(GPIO123, GPIO_OUT); - //gpio_set_direction(GPIO32, GPIO_OUT); - // gpio_set_value(GPIO123, GPIO_HIGH); + gpio_set_direction(GPIO32, GPIO_IN); + gpio_set_value(GPIO123, GPIO_HIGH); // gpio_set_value(GPIO32, GPIO_HIGH); } @@ -185,16 +185,41 @@ extern void gps_ui_delay_us(unsigned int us); //发送数据到蓝牙 void fr8012haq_write_data(char *buf,int len) { + //cplog_printf("fr8012haq_write_data:len:%d buf:%s\r\n",len,buf); + gpio_enable_edge_detect(GPIO32, 0);//写数据关闭中断 + gpio_set_value(GPIO123, GPIO_LOW);//唤醒蓝牙 + unsigned int count = 50;//50ms超时 + //gps_ui_delay_us(1400*3); + while(gpio_get_value(GPIO32))//等待唤醒成功 + { + count --; + // if(count%700000) + // gpio_set_value(GPIO123, GPIO_HIGH); + // else if (count%800000) + // gpio_set_value(GPIO123, GPIO_LOW); + //UOS_SleepMs(4); + gps_ui_delay_us(700); + if(count <= 0) + { + break; + } + } - gpio_set_value(GPIO123, GPIO_LOW); - gps_ui_delay_us(500); - gpio_set_value(GPIO123, GPIO_HIGH); - gps_ui_delay_us(1400*3); - //UOS_SleepMs(1); + //gps_ui_delay_us(500); + uart4_send_data(buf,len); + //gps_ui_delay_us(1400*1); + // + + //gps_ui_delay_us(1400*4); + //UOS_SleepMs(8); + //UOS_SleepMs(4); // gpio_set_value(GPIO32, GPIO_LOW); // gps_ui_delay_us(1400); // gpio_set_value(GPIO32, GPIO_HIGH); - uart4_send_data(buf,len); + + gpio_set_value(GPIO123, GPIO_HIGH); + gpio_enable_edge_detect(GPIO32, EDGE_FLAG_FALL);//写完开中断 + //FR8012HAQ_LOG("fr8012haq_write_data:count:%d\n",count); } @@ -223,29 +248,28 @@ void fr8012haq_timerout_cb(void) } 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)//如果是未佩戴,统一3秒 + if(FR8012HAQ_run_mode == WEAR_MODE)// { - uos_timer_start(fr8012haq_timer, MS_TO_TICKS(5000), MS_TO_TICKS(5000), fr8012haq_timerout_cb, NULL); + uos_timer_start(fr8012haq_timer, MS_TO_TICKS(10000), MS_TO_TICKS(10000), 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); + 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(10000), MS_TO_TICKS(10000), 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//其他3秒 { - uos_timer_start(fr8012haq_timer, MS_TO_TICKS(3000), MS_TO_TICKS(3000), fr8012haq_timerout_cb, NULL); } @@ -273,9 +297,11 @@ static void DelayInUs(unsigned int us) endTime = GetTimer0CNT(); } while(Timer0IntervalInMicro(startTime, endTime) < us); + Timer0_Switch(0); } void FR8012HAQ_test(uint32_t mode) { + unsigned char count = 5;//重试次数 s_FR8012HAQ_heart_rate = 0x0; s_FR8012HAQ_heart_rate_buff_count = 0; s_FR8012HAQ_high_blood = 0x0; @@ -284,7 +310,22 @@ void FR8012HAQ_test(uint32_t mode) //s_FR8012HAQ_wear_status = 0; s_FR8012HAQ_blood_oxygen = 0x0; FR8012HAQ_LOG("FR8012HAQ_test1:%d!!!!\n\n",mode); - unsigned char count = 5;//重试次数 + char send_data[100] = {0}; + int send_data_len = 0; + unsigned int time = 0; + Hal_Rtc_Gettime_Count_Utc(&time); //Hal_Rtc_Gettime_Count(&time); + count = 5;//重试次数 + //UOS_SleepMs(100); + while(count--) + { + send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_time\":\"%d\"}\n",time);//发送时间戳 + fr8012haq_write_data(send_data,send_data_len); + if(fr8012haq_parse_returned_data(500) == 3)//必须解析到执行成功 + break; + UOS_SleepMs(20); + } + UOS_SleepMs(20); + count = 5;//重试次数 while(count--) { if(mode <= close_MODE) @@ -353,55 +394,27 @@ void FR8012HAQ_test(uint32_t mode) break; } } - if(fr8012haq_parse_returned_data(100) == 1)//必须解析到执行成功 - break; - UOS_SleepMs(100); - } - char send_data[100] = {0}; - int send_data_len = 0; - unsigned int time = 0; - Hal_Rtc_Gettime_Count_Utc(&time); //Hal_Rtc_Gettime_Count(&time); - count = 5;//重试次数 - UOS_SleepMs(100); - while(count--) - { - send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_time\":\"%d\"}\n",time);//发送时间戳 - fr8012haq_write_data(send_data,send_data_len); - if(fr8012haq_parse_returned_data(100) == 3)//必须解析到执行成功 + if(fr8012haq_parse_returned_data(1000) == 1)//必须解析到执行成功 break; - UOS_SleepMs(100); + UOS_SleepMs(30); } + fr8012haq_timer_cfg(true); - FR8012HAQ_LOG("FR8012HAQ_test2:%d!!!!\n\n",mode); } static void fr8012haq_start(void) { FR8012HAQ_LOG("fr8012haq_start:FR8012HAQ_run_mode:%d\n",FR8012HAQ_run_mode); - Timer0_Switch(1); - + fr8012haq_hisr_ref_flag = 1;//不响应中断 hal_fr8012haq_int_init(); - - - FR8012HAQ_test(FR8012HAQ_run_mode); - - - // hal_gh30x_int_init(); - // fr8012haq_en_gpio_enable(false); - // DelayInUs(10*1000); - // fr8012haq_en_gpio_enable(true); - // DelayInUs(50*1000); - // int ret = gh30x_module_init(); - - - //gh30x_module_start_without_adt(measure_mode); + fr8012haq_hisr_ref_flag = 0; } static void fr8012haq_stop(void) { FR8012HAQ_LOG("[%s][%d]: \n", __FUNCTION__, __LINE__); - //gh30x_module_stop(); + fr8012haq_hisr_ref_flag = 1;//不响应中断 //fr8012haq_en_gpio_enable(false); FR8012HAQ_close(); @@ -409,8 +422,8 @@ static void fr8012haq_stop(void) //FR8012HAQ_run_mode = NULL_MODE; fr8012haq_ppg_timerout_flag = 0; fr8012haq_agc_timerout_flag = 0; - Timer0_Switch(0); FR8012HAQ_restart(); + fr8012haq_hisr_ref_flag = 0;// } //读取并解析返回数据 #define DATA_HANDLE (1<<24) @@ -423,6 +436,53 @@ void my_str_print(char *data,int len) FR8012HAQ_LOG("%c",data[i]); #endif } +#define _UART4_RX_BUF_MAX 4*1024 +extern char uart4_rx_buf[_UART4_RX_BUF_MAX]; +extern int uart4_rx_buf_len ; +int fr8012haq_uart4_recv_data(char *buf,int buf_max_len,unsigned int timeout) +{ + int len = 0; + int count = 0; + static int uart4_rx_buf_len_tmp = 0; + //timeout = timeout/8+1; + //cplog_printf("uart4_recv_data:timeout:%d\n",timeout); + while(1) + { + if(timeout > 0) + timeout--; + + + gps_ui_delay_us(1400); + //UOS_SleepMs(1); + if(uart4_rx_buf_len == uart4_rx_buf_len_tmp && uart4_rx_buf_len != 0) + { + count++; + }else + count = 0; + uart4_rx_buf_len_tmp = uart4_rx_buf_len; + if((uart4_rx_buf_len != 0 && count> 8) || (timeout == 0))//连续15ms没新数据,认为是一帧数据,退出 + { + //cplog_printf("uart4_recv_data timeout:%d,count:%d,uart4_rx_buf_len:%d,\n", timeout,count,uart4_rx_buf_len); + //cplog_printf("fr8012haq_uart4_recv_data:uart4_rx_buf_len:%d uart4_rx_buf:%c\n",uart4_rx_buf_len,uart4_rx_buf[uart4_rx_buf_len-2]); + break; + } + + // if(count > 15)//连续15ms没新数据,认为是一帧数据,退出 + // break; + } + //cplog_printf("uart4_recv_data:count:%d timeout:%d\n",count,timeout); + if(uart4_rx_buf_len > buf_max_len) + { + len = buf_max_len; + }else + { + len = uart4_rx_buf_len; + } + + memcpy(buf,uart4_rx_buf, len); + uart4_rx_buf_len = 0; + return len; +} int fr8012haq_parse_returned_data(int timeout) { static char *UART4_buf = NULL; @@ -437,18 +497,22 @@ int fr8012haq_parse_returned_data(int timeout) UART4_buf = malloc(UART4_BUF_LEN); if(UART4_buf == NULL) return -1; - sys_pm_wakeup_no_lcd(); + gpio_enable_edge_detect(GPIO32, 0);//读关闭中断 + gpio_set_value(GPIO123, GPIO_LOW);//告诉蓝牙可以发数据了 + //sys_pm_wakeup_no_lcd(); memset(UART4_buf,0,UART4_BUF_LEN); - len =uart4_recv_data(UART4_buf,UART4_BUF_LEN,timeout);//读串口数据 + len =fr8012haq_uart4_recv_data(UART4_buf,UART4_BUF_LEN,timeout);//读串口数据 + gpio_set_value(GPIO123, GPIO_HIGH);// if(len) { + uart4_send_data("{\"cmd\":\"0\"}",sizeof("{\"cmd\":\"0\"}"));//回蓝牙 // FR8012HAQ_LOG("UART4:len:%d str:%s",len,UART4_buf); // FR8012HAQ_LOG("%s\n", (char *)UART4_buf+110); int print_len_tmp = len ; FR8012HAQ_LOG("UART4:len:%d data:",len); //my_str_print(UART4_buf,len);//打印 - FR8012HAQ_LOG("\n\n"); + FR8012HAQ_LOG("\r\n"); cmd_str_tmp = UART4_buf; while(1) { @@ -456,8 +520,10 @@ int fr8012haq_parse_returned_data(int timeout) if(count >30) break; cmd_str_tmp = strstr(cmd_str_tmp,"{\""); + if(cmd_str_tmp) { + //FR8012HAQ_LOG("cmd_str_tmp:%s \n",cmd_str_tmp); if(strstr(cmd_str_tmp,"\"cmd\":\"2\"")) { ret = 2; @@ -710,6 +776,11 @@ int fr8012haq_parse_returned_data(int timeout) } cmd_str_tmp += strlen("{\""); } + + + }else + { + FR8012HAQ_LOG("fr8012haq_parse_returned_data:TIMEOUT333333333!!!!\n\n"); } if(UART4_buf!= NULL) @@ -717,66 +788,70 @@ int fr8012haq_parse_returned_data(int timeout) free(UART4_buf); UART4_buf = NULL; } + gpio_enable_edge_detect(GPIO32, EDGE_FLAG_FALL);//读完开中断 return ret ; } void fr8012haq_process_data(uint32_t *process_data) { - sys_pm_wakeup_no_lcd(); - Timer0_Switch(1); + //sys_pm_wakeup_no_lcd(); FR8012HAQ_LOG("fr8012haq_process_data:%d!!!!\n\n",FR8012HAQ_run_mode); switch (FR8012HAQ_run_mode) { - case HRS_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n")); - break; - case SPO2_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n")); - break; - case BP_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n")); - break; - case WEAR_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n")); - break; - case HRV_MODE: - /* code */ - //fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrv\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrv\"}")); - break; - case YYL_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n")); - UOS_SleepMs(50); - break; - case TEMP_MODE: - /* code */ - fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n")); + // case HRS_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n")); + // break; + // case SPO2_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n")); + // break; + // case BP_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n")); + // break; + // case WEAR_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n")); + // break; + // case HRV_MODE: + // /* code */ + // //fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrv\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrv\"}")); + // break; + // case YYL_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n")); + // //UOS_SleepMs(30); + // //gps_ui_delay_us(1400*10); + // break; + // case TEMP_MODE: + // /* code */ + // fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n")); - break; - default: - break; + // break; + // default: + // break; } //UOS_SleepMs(20); - gps_ui_delay_us(1400*10); - //FR8012HAQ_LOG("fr8012haq_process_data2:%d!!!!\n",FR8012HAQ_run_mode); + //gps_ui_delay_us(1400*2); + // float tmp = 0x3FE2E147; // FR8012HAQ_LOG("float:%f\n",tmp); - fr8012haq_parse_returned_data(50); - //fr8012haq_write_data("{\"cmd\":\"0\"}",sizeof("{\"cmd\":\"0\"}"));//保活用 - // gpio_enable_edge_detect(GPIO32, EDGE_FLAG_RISE); + + fr8012haq_parse_returned_data(1000); + + + // fr8012haq_sleep_resume(); + //FR8012HAQ_LOG("fr8012haq_process_data2:%d!!!!\n",FR8012HAQ_run_mode); fr8012haq_hisr_ref_flag=0; } //返回是否激活返回0未激活,联网后判断一次是否激活,没激活需要执行激活参数 char get_is_HA_activate(void) { fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}\n")); - fr8012haq_parse_returned_data(100); + fr8012haq_parse_returned_data(500); return is_HA_activate; } //获取请求码 @@ -801,8 +876,9 @@ int HA_lib_activate(char *key_code) { send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_HA_key_code\":\"%s\"}\n",HA_key_code); fr8012haq_write_data(send_data,send_data_len); - if(fr8012haq_parse_returned_data(100)==3) + if(fr8012haq_parse_returned_data(500)==3) { + UOS_SleepMs(30); if(get_is_HA_activate() == 1)//查询一次 { ret = 1; @@ -835,6 +911,7 @@ void HA_lib_init(void) //获取HA_req_code while(count--) { + UOS_SleepMs(30); fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}\n")); if(fr8012haq_parse_returned_data(500)==2) break; @@ -844,12 +921,14 @@ void HA_lib_init(void) static void fr8012haq_isr_callback(void) { //sys_pm_wakeup_no_lcd(); - // gpio_enable_edge_detect(GPIO32, 0); + // fr8012haq_sleep_suspend(); - FR8012HAQ_LOG("fr8012haq_isr_callback :!!!!!!!!!!!!\n"); + gpio_enable_edge_detect(GPIO32, 0);//关闭中断 + //FR8012HAQ_LOG("fr8012haq_isr_callback:111111111111111!!!!!!!\n"); if(fr8012haq_hisr_ref_flag == 1) return; fr8012haq_hisr_ref_flag=1; + //FR8012HAQ_LOG("fr8012haq_isr_callback:222222222222222!!!!\n"); OS_Activate_HISR(&fr8012haq_hisr_ref); } void hal_fr8012haq_int_init(void) @@ -857,21 +936,20 @@ void hal_fr8012haq_int_init(void) // code implement by user // must register func hal_gh30x_int_handler as callback - Timer0_Switch(1); mfp_config(fr8012haq_mfp_cfgs); - // gpio_set_direction(GPIO32, GPIO_IN); - // gpio_register_int_handler(GPIO32, fr8012haq_isr_callback); - // gpio_enable_edge_detect(GPIO32, EDGE_FLAG_RISE); + gpio_set_direction(GPIO32, GPIO_IN); + gpio_register_int_handler(GPIO32, fr8012haq_isr_callback); + gpio_enable_edge_detect(GPIO32, 0);//先关闭中断,等待初始化完再开 fr8012haq_en_gpio_init(); - UOS_SleepMs(100); - FR8012HAQ_LOG("FR8012HAQ ID : 0x%02x\n",get_fr8012haq_id()); + UOS_SleepMs(160); + //FR8012HAQ_LOG("FR8012HAQ ID : 0x%02x\n",get_fr8012haq_id()); } void Fr8012haq_Init(void) { //char data[100]= {0}; //int len = 0; - Timer0_Switch(1); FR8012HAQ_LOG("Fr8012haq_Init1!!!!\n\n"); + fr8012haq_hisr_ref_flag = 1;//不响应中断 static bool register_dev_flag = false; if(!register_dev_flag) { @@ -885,23 +963,16 @@ void Fr8012haq_Init(void) FR8012HAQ_LOG("Fr8012haq_Init1.1!!!!\n\n"); } uart4_debug(); - FR8012HAQ_LOG("Fr8012haq_Init2!!!!\n\n"); + fr8012haq_create_hisr(); - FR8012HAQ_LOG("Fr8012haq_Init3!!!!\n\n"); + hal_fr8012haq_int_init(); - FR8012HAQ_LOG("Fr8012haq_Init4!!!!\n\n"); + FR8012HAQ_restart(); //uart4_debug(); UOS_SleepMs(5); HA_lib_init(); - // while(1) - // { - // UOS_SleepMs(1000); - // FR8012HAQ_LOG("Fr8012haq_Init5!!!!\n\n"); - // } - //fr8012haq_init(WEAR_MODE);//打开佩戴检测 - // FR8012HAQ_run_mode = YYL_MODE; - // fr8012haq_start(); + fr8012haq_hisr_ref_flag = 0; } @@ -987,9 +1058,9 @@ void fr8012haq_measure_OTA_start(void) void FR8012HAQ_restart(void) { fr8012haq_en_gpio_enable(false); - fr8012haq_delay(50); + fr8012haq_delay(20); fr8012haq_en_gpio_enable(true); - fr8012haq_delay(100); + fr8012haq_delay(160); FR8012HAQ_LOG("FR8012HAQ_restart!!!\n"); @@ -1178,7 +1249,7 @@ void FR8012HAQ_result_set_wear_status(unsigned char wear_status) } //printf("[@CHENG_DEBUG][%s][%d]: wear=%d,s_wear=%d\n", __FUNCTION__, __LINE__, wear_status, s_FR8012HAQ_wear_status); - 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) { diff --git a/2.sdk/sdk/product/craneg_modem/framework/cus/charger_cus.c b/2.sdk/sdk/product/craneg_modem/framework/cus/charger_cus.c index be4c6122..eafd65c3 100644 --- a/2.sdk/sdk/product/craneg_modem/framework/cus/charger_cus.c +++ b/2.sdk/sdk/product/craneg_modem/framework/cus/charger_cus.c @@ -9,6 +9,44 @@ PMIC_CONFIG_T g_tgtPmdCfg[] = /************************************************************************************* Battery inital parameters **************************************************************************************/ +#if defined (For_Watch_Battery_Z5_HA_K18) + { + 4330, + 3100, + 30, + 3450, + 3450, + PMIC_CHARGER_300MA, + 500, + PRE_CHARGER_100MA, + TER_CHARGER_25MA, + VBAT_VOL_4V35, + TRICKIE_CHARGER_TOUT_15M, + PRE_CHARGER_TOUT_60M, + CCCV_TOUT_240M, + 200, + 200, + 1, + 1, + { + 4323,4280,4260,4249,4235,4219,4207,4193,4182,4172, + 4158,4147,4134,4125,4111,4102,4092,4080,4070,4058, + 4049,4037,4028,4019,4008,3999,3988,3979,3968,3960, + 3952,3942,3934,3924,3917,3907,3900,3891,3884,3877, + 3868,3863,3854,3849,3841,3836,3831,3824,3820,3814, + 3809,3803,3799,3794,3790,3787,3782,3778,3774,3771, + 3766,3764,3761,3757,3754,3751,3748,3745,3743,3741, + 3738,3736,3734,3732,3728,3726,3724,3721,3718,3714, + 3711,3706,3702,3698,3691,3685,3677,3670,3662,3657, + 3653,3648,3643,3635,3625,3606,3581,3519,3448,3343, + 3120 + }, + 0, + { + 0 + }, + }, +#endif #if defined (For_Watch_Battery) && defined (For_Watch_Battery_K_632832H) { 4400, diff --git a/2.sdk/sdk/product/craneg_modem/framework/inc/cus/charger_cus.h b/2.sdk/sdk/product/craneg_modem/framework/inc/cus/charger_cus.h index 7b1f5cdc..72434e8d 100644 --- a/2.sdk/sdk/product/craneg_modem/framework/inc/cus/charger_cus.h +++ b/2.sdk/sdk/product/craneg_modem/framework/inc/cus/charger_cus.h @@ -1,6 +1,7 @@ #ifndef __CHARGER_CUS_H__ #define __CHARGER_CUS_H__ - +//#include "lv_conf_CUSTOM.h" +#include "../../../config/watch/lv_conf_CUSTOM.h" //#define For_Battery_M20H 1 //#define For_Watch_Battery 1 //#define For_Watch_Battery_K_632832H 1 @@ -8,8 +9,11 @@ #ifdef For_Watch_Battery_K_632832H #define Watch_K_632832H_battery_id_vol 200 //need change this value by battery id #endif +#if DRV_PROJECT_Z5_HA_K18 +#define For_Watch_Battery_Z5_HA_K18 +#else #define For_Watch_Battery_602730P600 1 //#define For_Watch_Battery_652730P650 1 //#define For_Watch_Battery_632730P620 1 - +#endif #endif diff --git a/2.sdk/sdk/product/craneg_modem/hal/gps_device/src/gps_uart.c b/2.sdk/sdk/product/craneg_modem/hal/gps_device/src/gps_uart.c index 35c283e4..efb5fd4b 100644 --- a/2.sdk/sdk/product/craneg_modem/hal/gps_device/src/gps_uart.c +++ b/2.sdk/sdk/product/craneg_modem/hal/gps_device/src/gps_uart.c @@ -1226,8 +1226,12 @@ int uart4_recv_data(char *buf,int buf_max_len,unsigned int timeout) }else count = 0; uart4_rx_buf_len_tmp = uart4_rx_buf_len; - if((timeout == 0 && count> 15) || (timeout == 0 && uart4_rx_buf_len == 0))//连续15ms没新数据,认为是一帧数据,退出 + if((uart4_rx_buf_len != 0 && count> 10) || (timeout == 0))//连续15ms没新数据,认为是一帧数据,退出 + { + //cplog_printf("uart4_recv_data timeout:%d,count:%d,uart4_rx_buf_len:%d,\n", timeout,count,uart4_rx_buf_len); break; + } + // if(count > 15)//连续15ms没新数据,认为是一帧数据,退出 // break; } diff --git a/2.sdk/sdk/product/craneg_modem/lv_gui_main.c b/2.sdk/sdk/product/craneg_modem/lv_gui_main.c index 2c2ec50e..e9afaa54 100644 --- a/2.sdk/sdk/product/craneg_modem/lv_gui_main.c +++ b/2.sdk/sdk/product/craneg_modem/lv_gui_main.c @@ -775,7 +775,10 @@ static int sdk_d2_enter() #if USE_MY_XMOTION xmotion_int_gpio_d2_ent_callback(); #endif +#if USE_FR8012HAQ + fr8012haq_int_gpio_d2_ent_callback(); +#endif #if USE_MULTI_KEY multi_key_d2_enter(); #endif @@ -792,7 +795,9 @@ static int sdk_d2_exit(BOOL ExitFromD2) #if USE_MY_XMOTION xmotion_int_gpio_d2_exit_callback(); #endif - +#if USE_FR8012HAQ + fr8012haq_int_gpio_d2_exit_callback(); +#endif #if USE_MULTI_KEY multi_key_d2_exit(); #endif