Commit 73987d9f authored by 陈伟灿's avatar 陈伟灿

Merge branch 'yjq' into 'master'

【20210901】

See merge request chenweican/k-sdk!122
parents c0b291a8 2e1a218d
......@@ -88,6 +88,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
printf("kk_map_dev_node_create\n");
node = malloc(sizeof(kk_map_dev_node_t));
if (node == NULL) {
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
return NULL;
}
memset(node,0x0,sizeof(kk_map_dev_node_t));
......@@ -97,6 +98,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
json = cJSON_Parse(buf);
if(json == NULL){
free(buf);
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
return NULL;
}
......@@ -111,20 +113,24 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
if(optype == NULL || optype->type!=cJSON_String ||
channel==NULL||channel->type!=cJSON_Number){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err;
}
if(newccu==NULL||newccu->type!=cJSON_Array||
oldccu==NULL||oldccu->type!=cJSON_Array){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err;
}
if(syn_type!=NULL){
if(syn_type->type==cJSON_Number){
if(syn_opcode==NULL||syn_opcode->type!=cJSON_String){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err;
}
}else{
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err;
}
}
......@@ -144,11 +150,27 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
if(syn_type){
node->syn_type = syn_type->valueint;
node->syn_opcode= (char *)malloc(strlen(syn_opcode->valuestring)+1);
memset(node->syn_opcode,0,strlen(node->syn_opcode)+1);
memset(node->syn_opcode,0,strlen(syn_opcode->valuestring)+1);
memcpy(node->syn_opcode,syn_opcode->valuestring,strlen(syn_opcode->valuestring));
if(node->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode=%s[%d].\n",node->syn_opcode,strlen(node->syn_opcode));
}else{
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode.\n");
}
}
if(node->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode=%s[%d].\n",node->syn_opcode,strlen(node->syn_opcode));
}else{
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode.\n");
}
free(buf);
if(node->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode=%s[%d].\n",node->syn_opcode,strlen(node->syn_opcode));
}else{
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode.\n");
}
return node;
err:
......@@ -210,7 +232,7 @@ static char *kk_open_lan_cfg_file(char *deviceCode)
memset(buf,0x0,filesize+1);
fseek(fp, 0L, SEEK_SET);
fread(buf, 1, filesize, fp);
//printf("[read lan cfg]:%s\n",buf);
printf("[read lan cfg]:%s\n",buf);
fclose(fp);
return buf;
......@@ -484,7 +506,11 @@ kk_map_dev_node_t *kk_map_dev_node_add(const char *deviceCode,const char *produc
_kk_map_dev_mutex_lock();
if((buf = kk_open_lan_cfg_file(productCode))!=NULL){
node = kk_map_dev_node_create(deviceCode,productCode,gwdeviceCode,onlineStatus,buf);
if(node->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode=%s[%d].\n",node->syn_opcode,strlen(node->syn_opcode));
}else{
debug_log(LOG_CRITICAL_LEVEL,"111---->devNode->syn_opcode.\n");
}
}else{
node = kk_map_dev_node_create_ex(deviceCode,productCode,gwdeviceCode,onlineStatus);
}
......
......@@ -4,6 +4,8 @@
#include <stdio.h>
#include <time.h>
#define syslog_en 1
#define LOG_LEVEL LOG_NORMAL_LEVEL
#define LOG_NORMAL_LEVEL 1 //亮白色
......@@ -14,19 +16,11 @@
#define LOG_ERROR_LEVEL 6 //紫色
#define LOG_CRITICAL_LEVEL 7 //红色
#define LOG_NORMAL_ACT "\033[0;1;37m"
#define LOG_DEBUG_ACT "\033[0;1;32m"
#define LOG_INFO_ACT "\033[0;1;34m"
#define LOG_FOCUS_ACT "\033[0;1;33m"
#define LOG_WARNING_ACT "\033[0;1;36m"
#define LOG_ERROR_ACT "\033[0;1;35m"
#define LOG_CRITICAL_ACT "\033[0;1;31m"
#define syslog_en 1
#define LOG_LEVEL LOG_NORMAL_LEVEL
#define LOG_LEVEL_(x) LOG_LEVEL_##x
#define LOG_LEVEL_1 LOG_NORMAL_ACT
#define LOG_LEVEL_2 LOG_DEBUG_ACT
......@@ -36,16 +30,13 @@
#define LOG_LEVEL_6 LOG_ERROR_ACT
#define LOG_LEVEL_7 LOG_CRITICAL_ACT
#define LOG_LEVEL_(x) LOG_LEVEL_##x
#define LOG_NORMAL_ACT "\033[0;1;37m"
#define LOG_DEBUG_ACT "\033[0;1;32m"
#define LOG_INFO_ACT "\033[0;1;34m"
#define LOG_FOCUS_ACT "\033[0;1;33m"
#define LOG_WARNING_ACT "\033[0;1;36m"
#define LOG_ERROR_ACT "\033[0;1;35m"
#define LOG_CRITICAL_ACT "\033[0;1;31m"
#if (syslog_en)
......@@ -63,5 +54,12 @@
#endif
#endif
......@@ -448,7 +448,7 @@ cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node)
n_num = cJSON_GetArraySize(newccu);
o_num = cJSON_GetArraySize(oldccu);
num = (n_num>o_num)?n_num:o_num;
num = (n_num>o_num)?o_num:n_num;
for(i=0;i<num;i++){
cJSON * newccuItem = cJSON_GetArrayItem(newccu,i);
......
......@@ -111,7 +111,7 @@ cJSON * val_conver_new2old(cJSON *newccuItem,cJSON *oldccuItem,int syn_type)
}
//更新设备状态
static int _kk_lan_update_device_status(int nodeId,cJSON *opcode,cJSON *arg)
static int _kk_lan_update_device_status(int nodeId,cJSON *opcode,cJSON *arg,const char *syn_opcode)
{
cJSON *msg = NULL;
char nodeBuff[33] = {0};
......@@ -146,9 +146,11 @@ static int _kk_lan_update_device_status(int nodeId,cJSON *opcode,cJSON *arg)
snprintf(valBuff,sizeof(valBuff),"%s","false");
}
if(syn_opcode==NULL){
msg = old_ccu_msg_build(nodeBuff,opcode->valuestring,"success",valBuff);
send_msg_to_module(msg);
cJSON_Delete(msg);
}
return 0;
}
......@@ -203,6 +205,8 @@ static int _kk_lan_sync_device_status(const char *deviceCode,kk_map_dev_node_t *
return -1;
}
debug_log(LOG_CRITICAL_LEVEL,"---->devNode->syn_opcode=%s[%d].\n",devNode->syn_opcode,strlen(devNode->syn_opcode));
if((arg =_kk_sync_devicestatus_arg_build(devNode))==NULL){
debug_log(LOG_DEBUG_LEVEL,"[err] arg.\n");
return -1;
......@@ -263,7 +267,7 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
o_item_size = cJSON_GetArraySize(oldccu);
n_item_size = cJSON_GetArraySize(newccu);
item_size = (n_item_size>o_item_size)?n_item_size:o_item_size;
item_size = (n_item_size>o_item_size)?o_item_size:n_item_size;
......@@ -349,15 +353,24 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
if(devNode->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"---->devNode->syn_opcode=%s[%d].\n",devNode->syn_opcode,strlen(devNode->syn_opcode));
}
kk_lan_replace_val_to_obj(n_item,valObj,"value");
if(devNode->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"---->devNode->syn_opcode=%s[%d].\n",devNode->syn_opcode,strlen(devNode->syn_opcode));
}
if((args = ccu_value_convert(n_dataType,n_valueRange,o_dataType,o_valueRange,valObj))!=NULL){
if(devNode->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"---->devNode->syn_opcode=%s[%d].\n",devNode->syn_opcode,strlen(devNode->syn_opcode));
}
_kk_lan_update_device_status(nodeId,opcode,args);
_kk_lan_update_device_status(nodeId,opcode,args,devNode->syn_opcode);
//todo :
//cJSON_Delete(args);
......@@ -366,6 +379,9 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
}
if(devNode->syn_opcode!=NULL){
debug_log(LOG_CRITICAL_LEVEL,"---->devNode->syn_opcode=%s[%d].\n",devNode->syn_opcode,strlen(devNode->syn_opcode));
}
_kk_lan_sync_device_status(deviceCode,devNode);
return 0;
......
......@@ -112,7 +112,6 @@ void *kk_heartbeat_yield(void *args)
/*先下发网关属性获取,判断网关是否在线*/
kk_msg_execute_property_get(node);
}
}
}
}
......
......@@ -470,6 +470,7 @@ int dm_mgr_set_dev_onoffline(dm_mgr_dev_node_t *node,int isOffline)
if(node == NULL){
return INVALID_PARAMETER;
}
if(isOffline){
INFO_PRINT("[%s]dev timeout,send offline\n",__FUNCTION__);
node->isOffline = KK_DEV_OFFLINE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment