uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"bp\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"bp\"}"));
break;
+ case TEMP_MODE:
+ /* code */
+ if(s_FR8012HAQ_blood_data ==NULL)
+ {
+ s_FR8012HAQ_blood_data = malloc(s_FR8012HAQ_blood_data_mxa_len);
+ memset(s_FR8012HAQ_blood_data,0,s_FR8012HAQ_blood_data_mxa_len);
+ }
+ s_FR8012HAQ_blood_data_len =0;
+
+ uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"temp\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"temp\"}"));
+ break;
+
case WEAR_MODE:
/* code */
uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}"));
}
if(fr8012haq_parse_returned_data() == 1)//必须解析到执行成功
break;
-
+ UOS_SleepMs(100);
}
fr8012haq_timer_cfg(true);
Timer0_Switch(1);
hal_fr8012haq_int_init();
- FR8012HAQ_restart();
+
if(FR8012HAQ_jobs_mode != NULL_MODE)//没关闭就打开其他模式,先关闭一次
{
// FR8012HAQ_close();
fr8012haq_ppg_timerout_flag = 0;
fr8012haq_agc_timerout_flag = 0;
Timer0_Switch(0);
-
+ FR8012HAQ_restart();
}
//读取并解析返回数据
+#define DATA_HANDLE (1<<24)
#define UART4_BUF_LEN 2*1024
int fr8012haq_parse_returned_data(void)
{
tem_data += strlen("\"bp_data\":\"");
num_buf_len = find_c(tem_data,'\"');
+ FR8012HAQ_LOG("bp:hex_str:%s\n",tem_data);
+ FR8012HAQ_LOG("bp:int:");
for(i=0;i<num_buf_len;i+=6)
{
memcpy(num_buf,&tem_data[i],6);
if(s_FR8012HAQ_blood_data && s_FR8012HAQ_blood_data_len < s_FR8012HAQ_blood_data_mxa_len/4)
{
s_FR8012HAQ_blood_data[s_FR8012HAQ_blood_data_len] = strtol(num_buf, NULL, 16);
+ if(s_FR8012HAQ_blood_data[s_FR8012HAQ_blood_data_len]>=DATA_HANDLE/2)
+ {
+ s_FR8012HAQ_blood_data[s_FR8012HAQ_blood_data_len]-=DATA_HANDLE;
+ }
+ FR8012HAQ_LOG("%d ",s_FR8012HAQ_blood_data[s_FR8012HAQ_blood_data_len]);
//FR8012HAQ_LOG("s_FR8012HAQ_blood_data[%d]:%x\n",s_FR8012HAQ_blood_data_len,s_FR8012HAQ_blood_data[s_FR8012HAQ_blood_data_len]);
s_FR8012HAQ_blood_data_len++;
}
}
+ FR8012HAQ_LOG("\n");
ret = 2;
}
/*体温*/
{
case HRS_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}"));
+ //uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}"));
break;
case SPO2_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}"));
+ //uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}"));
break;
case BP_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}"));
+ //uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}"));
break;
case WEAR_MODE:
/* code */
fr8012haq_en_gpio_enable(false);
fr8012haq_delay(50);
fr8012haq_en_gpio_enable(true);
- fr8012haq_delay(50);
+ fr8012haq_delay(100);
}
void fr8012haq_measure_stop(void)
{