static void DelayInUs(unsigned int us);
void FR8012HAQ_close(void);
TASK_HANDLE * Hsensor_task_id;
-int fr8012haq_parse_returned_data(void);
+int fr8012haq_parse_returned_data(int timeout);
//字符串里查找最近一个c字符,返回偏移位置
unsigned int find_c(char *data,char c)
{
{
ret = 3;
}
+ if(strstr(UART4_buf,"\"HA_activate\":\"0\""))
+ {
+ ret = -3;
+ }
}
/*********************************************/
/*执行工作模式成功*/
fr8012haq_parse_returned_data(60);
}
-//返回0未激活,联网后判断一次是否激活,没激活需要执行激活参数
+//返回是否激活返回0未激活,联网后判断一次是否激活,没激活需要执行激活参数
char get_is_HA_activate(void)
{
+ uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}"));
+ fr8012haq_parse_returned_data(100);
return is_HA_activate;
}
-//获取激活码
+//获取请求码
char *get_HA_req_code(void )
{
if(strlen(HA_req_code)>2 && is_HA_activate == 0)
{
send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_HA_key_code\":\"%s\"}\n",HA_key_code);
uart4_send_data(send_data,send_data_len);
- if(fr8012haq_parse_returned_data(500)==3)
+ if(fr8012haq_parse_returned_data(100)==3)
{
- break;
- ret = 1;
+ if(get_is_HA_activate() == 1)//查询一次
+ {
+ break;
+ ret = 1;
+ }
}
-
}
-
}
return ret;
}
char send_data[100] = {0};
int send_data_len = 0;
//获取sensor恒爱库激活状态
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}"));
- fr8012haq_parse_returned_data(500);
+
if(get_is_HA_activate() == 0)//没激活,需要激活
{
//发送IMEI号