From: p15692025051 <846603105@qq.com> Date: Tue, 26 Dec 2023 01:58:31 +0000 (+0800) Subject: 血压模组驱动添加 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=dc9a16c95f2a5cc687d1cd80fc4bce664e6b0bb8;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 be40eb9b..e542345d 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -46,6 +46,7 @@ static unsigned char is_open_FR8012HAQ = 0; //是否打开测试 static unsigned char s_FR8012HAQ_heart_rate = 0x0;//心律 static unsigned char s_FR8012HAQ_high_blood = 0x0;//血压/高压 static unsigned char s_FR8012HAQ_low_blood = 0x0;//血压/低压 +unsigned char s_FR8012HAQ_blood_data[48*2] = {0};//血压数据 static unsigned char s_FR8012HAQ_blood_oxygen = 0x0;//血氧 static unsigned char s_FR8012HAQ_HRV = 0x0;//hrv unsigned char s_FR8012HAQ_wear_status = 1;//佩戴状态 @@ -243,7 +244,12 @@ static void fr8012haq_task_callback(VOID * argv) //char data[500]= {0}; int len = 0; //uart4_debug(); - char post_data[] ="{\"app_key\": \"1db74281ece314ba6bbc2b553222cd84\",\"name\": \"RH303\",\"firm\": \"魔方\",\"mac\": \"DA:19:72:F3:0A:89\",\"model\": \"T11\",\"sensor\": {\"model\": \"VP60\",\"fs\": 81},\"sinklib_version\": \"v0.3.0.072522\",\"request_code\":\"6+m78fFJkFKu1mzhhL4jKRJTEhJMwvSJFlJhWIgRC8wfyB0HFw8JMURNQ6c3MP/U\"}" ; + //char post_data[] ="{\"app_key\": \"5d3ef21f0cbf966505c3d5137740be77\",\"name\": \"RH303\",\"firm\": \"魔方\",\"mac\": \"DA:19:72:F3:0A:89\",\"model\": \"T11\",\"sensor\": {\"model\": \"VP60\",\"fs\": 81},\"sinklib_version\": \"v0.3.0.072522\",\"request_code\":\"6+m78fFJkFKu1mzhhL4jKRJTEhJMwvSJFlJhWIgRC8wfyB0HFw8JMURNQ6c3MP/U\"}" ; + //char post_data[] ="{\"app_key\": \"5d3ef21f0cbf966505c3d5137740be77\",\"phone\": \"18100000001\",\"passwd\": \ + \"abc123\",\"name\": \"张三\",\"gender\": 1,\"birthday\": \"2002-06-01\",\"height\": 166,\"weight\": 56,\ + \"description\": \"1111\"}"; + //char url[] = "http://test.aicaring.com/api/v0/sinklib/activation"; + //char url[] = "http://test.aicaring.com/api/v0/entrance/user/login"; char *read_buff = (void*)malloc(2000); if(!read_buff) return ; @@ -252,8 +258,8 @@ static void fr8012haq_task_callback(VOID * argv) UOS_SleepMs(5000); - //fr8012haq_http_post_json("http://test.aicaring.com/api/v0/sinklib/activation",post_data,read_buff,2000,10000); - + //fr8012haq_http_post_json(url,post_data,read_buff,2000,10000); + // FR8012HAQ_LOG("fr8012haq_task_callback1!!!!\n"); // client = http_client_init(); // http_client_setopt(client, HTTPCLIENT_OPT_URL, "http://test.aicaring.com/api/v0/sinklib/activation"); /*set URL:support http/https and ip4/ip6*/ @@ -396,6 +402,7 @@ void FR8012HAQ_test(uint32_t mode) s_FR8012HAQ_heart_rate_buff_count = 0; s_FR8012HAQ_high_blood = 0x0; s_FR8012HAQ_low_blood = 0x0; + memset(s_FR8012HAQ_blood_data,0,sizeof(s_FR8012HAQ_blood_data)); s_FR8012HAQ_HRV = 0; //s_FR8012HAQ_wear_status = 0; s_FR8012HAQ_blood_oxygen = 0x0; @@ -523,13 +530,12 @@ void fr8012haq_analysis_data(char *data,unsigned int len) { unsigned char spo2 = 0; - tem_data += strlen("\"spo2_data\":\""); + tem_data += strlen("\"bp_data\":\""); num_buf_len = find_c(tem_data,'\"'); - if(num_buf_len>=sizeof(num_buf)) - num_buf_len = sizeof(num_buf)-1; - memcpy(num_buf,tem_data,num_buf_len); - spo2 = atoi(num_buf); - FR8012HAQ_result_set_blood_oxygen(spo2); + if(num_buf_len>sizeof(s_FR8012HAQ_blood_data)) + num_buf_len = sizeof(s_FR8012HAQ_blood_data); + memcpy(s_FR8012HAQ_blood_data,tem_data,num_buf_len); + } /*体温*/ tem_data = strstr(data,"\"temper_data\":\""); @@ -745,7 +751,7 @@ static void fr8012haq_hr_bp_bo_value_update(uint16_t hr, uint16_t bp_high, uint1 s_FR8012HAQ_blood_oxygen = bo; s_FR8012HAQ_high_blood = bp_high ; s_FR8012HAQ_low_blood = bp_low ; - + memset(s_FR8012HAQ_blood_data,0,sizeof(s_FR8012HAQ_blood_data)); // if(hr > 0) { // fr8012haq_hr_bp_bo_value.hr = hr; @@ -781,6 +787,11 @@ void fr8012haq_hr_bp_bo_value_get(uint16_t *hr, uint16_t *bp_high, uint16_t *bp_ if(bo != NULL) *bo = s_FR8012HAQ_blood_oxygen; } +//获取48字节aslcc码的十六进制血压数据到blood_buf,注意:blood_buf长度要大于等于48*2字节 +void fr8012haq_blood_data_get(char *blood_buf) +{ + memcpy(blood_buf,s_FR8012HAQ_blood_data,sizeof(s_FR8012HAQ_blood_data)); +} void fr8012haq_hr_bp_bo_value_clear(void) { @@ -788,6 +799,7 @@ void fr8012haq_hr_bp_bo_value_clear(void) s_FR8012HAQ_heart_rate_buff_count = 0; s_FR8012HAQ_high_blood = 0x0; s_FR8012HAQ_low_blood = 0x0; + memset(s_FR8012HAQ_blood_data,0,sizeof(s_FR8012HAQ_blood_data)); s_FR8012HAQ_HRV = 0; //s_FR8012HAQ_wear_status = 0; s_FR8012HAQ_blood_oxygen = 0x0; diff --git a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h index 60672fda..6155b601 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.h @@ -47,4 +47,5 @@ void FR8012HAQ_result_set_wear_status(unsigned char wear_status); unsigned char FR8012HAQ_result_get_wear_status(void); void FR8012HAQ_close(void); void fr8012haq_measure_stop(void); +void fr8012haq_blood_data_get(char *blood_buf); #endif