Commit 2e1a218d authored by 尹佳钦's avatar 尹佳钦

【20210901】

parent c0b291a8
...@@ -88,6 +88,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch ...@@ -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"); printf("kk_map_dev_node_create\n");
node = malloc(sizeof(kk_map_dev_node_t)); node = malloc(sizeof(kk_map_dev_node_t));
if (node == NULL) { if (node == NULL) {
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
return NULL; return NULL;
} }
memset(node,0x0,sizeof(kk_map_dev_node_t)); 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 ...@@ -97,6 +98,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
json = cJSON_Parse(buf); json = cJSON_Parse(buf);
if(json == NULL){ if(json == NULL){
free(buf); free(buf);
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
return NULL; return NULL;
} }
...@@ -111,20 +113,24 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch ...@@ -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 || if(optype == NULL || optype->type!=cJSON_String ||
channel==NULL||channel->type!=cJSON_Number){ channel==NULL||channel->type!=cJSON_Number){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err; goto err;
} }
if(newccu==NULL||newccu->type!=cJSON_Array|| if(newccu==NULL||newccu->type!=cJSON_Array||
oldccu==NULL||oldccu->type!=cJSON_Array){ oldccu==NULL||oldccu->type!=cJSON_Array){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err; goto err;
} }
if(syn_type!=NULL){ if(syn_type!=NULL){
if(syn_type->type==cJSON_Number){ if(syn_type->type==cJSON_Number){
if(syn_opcode==NULL||syn_opcode->type!=cJSON_String){ if(syn_opcode==NULL||syn_opcode->type!=cJSON_String){
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err; goto err;
} }
}else{ }else{
debug_log(LOG_CRITICAL_LEVEL,"[err].\n");
goto err; goto err;
} }
} }
...@@ -144,11 +150,27 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch ...@@ -144,11 +150,27 @@ static kk_map_dev_node_t *kk_map_dev_node_create(const char *deviceCode,const ch
if(syn_type){ if(syn_type){
node->syn_type = syn_type->valueint; node->syn_type = syn_type->valueint;
node->syn_opcode= (char *)malloc(strlen(syn_opcode->valuestring)+1); 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)); 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); 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; return node;
err: err:
...@@ -210,7 +232,7 @@ static char *kk_open_lan_cfg_file(char *deviceCode) ...@@ -210,7 +232,7 @@ static char *kk_open_lan_cfg_file(char *deviceCode)
memset(buf,0x0,filesize+1); memset(buf,0x0,filesize+1);
fseek(fp, 0L, SEEK_SET); fseek(fp, 0L, SEEK_SET);
fread(buf, 1, filesize, fp); fread(buf, 1, filesize, fp);
//printf("[read lan cfg]:%s\n",buf); printf("[read lan cfg]:%s\n",buf);
fclose(fp); fclose(fp);
return buf; return buf;
...@@ -484,7 +506,11 @@ kk_map_dev_node_t *kk_map_dev_node_add(const char *deviceCode,const char *produc ...@@ -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(); _kk_map_dev_mutex_lock();
if((buf = kk_open_lan_cfg_file(productCode))!=NULL){ if((buf = kk_open_lan_cfg_file(productCode))!=NULL){
node = kk_map_dev_node_create(deviceCode,productCode,gwdeviceCode,onlineStatus,buf); 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{ }else{
node = kk_map_dev_node_create_ex(deviceCode,productCode,gwdeviceCode,onlineStatus); node = kk_map_dev_node_create_ex(deviceCode,productCode,gwdeviceCode,onlineStatus);
} }
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#include <stdio.h> #include <stdio.h>
#include <time.h> #include <time.h>
#define syslog_en 1
#define LOG_LEVEL LOG_NORMAL_LEVEL
#define LOG_NORMAL_LEVEL 1 //亮白色 #define LOG_NORMAL_LEVEL 1 //亮白色
...@@ -14,19 +16,11 @@ ...@@ -14,19 +16,11 @@
#define LOG_ERROR_LEVEL 6 //紫色 #define LOG_ERROR_LEVEL 6 //紫色
#define LOG_CRITICAL_LEVEL 7 //红色 #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_1 LOG_NORMAL_ACT
#define LOG_LEVEL_2 LOG_DEBUG_ACT #define LOG_LEVEL_2 LOG_DEBUG_ACT
...@@ -36,16 +30,13 @@ ...@@ -36,16 +30,13 @@
#define LOG_LEVEL_6 LOG_ERROR_ACT #define LOG_LEVEL_6 LOG_ERROR_ACT
#define LOG_LEVEL_7 LOG_CRITICAL_ACT #define LOG_LEVEL_7 LOG_CRITICAL_ACT
#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 LOG_LEVEL_(x) LOG_LEVEL_##x
#if (syslog_en) #if (syslog_en)
...@@ -63,5 +54,12 @@ ...@@ -63,5 +54,12 @@
#endif #endif
#endif #endif
...@@ -448,7 +448,7 @@ cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node) ...@@ -448,7 +448,7 @@ cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node)
n_num = cJSON_GetArraySize(newccu); n_num = cJSON_GetArraySize(newccu);
o_num = cJSON_GetArraySize(oldccu); 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++){ for(i=0;i<num;i++){
cJSON * newccuItem = cJSON_GetArrayItem(newccu,i); cJSON * newccuItem = cJSON_GetArrayItem(newccu,i);
......
...@@ -111,7 +111,7 @@ cJSON * val_conver_new2old(cJSON *newccuItem,cJSON *oldccuItem,int syn_type) ...@@ -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; cJSON *msg = NULL;
char nodeBuff[33] = {0}; char nodeBuff[33] = {0};
...@@ -146,9 +146,11 @@ static int _kk_lan_update_device_status(int nodeId,cJSON *opcode,cJSON *arg) ...@@ -146,9 +146,11 @@ static int _kk_lan_update_device_status(int nodeId,cJSON *opcode,cJSON *arg)
snprintf(valBuff,sizeof(valBuff),"%s","false"); snprintf(valBuff,sizeof(valBuff),"%s","false");
} }
if(syn_opcode==NULL){
msg = old_ccu_msg_build(nodeBuff,opcode->valuestring,"success",valBuff); msg = old_ccu_msg_build(nodeBuff,opcode->valuestring,"success",valBuff);
send_msg_to_module(msg); send_msg_to_module(msg);
cJSON_Delete(msg); cJSON_Delete(msg);
}
return 0; return 0;
} }
...@@ -203,6 +205,8 @@ static int _kk_lan_sync_device_status(const char *deviceCode,kk_map_dev_node_t * ...@@ -203,6 +205,8 @@ static int _kk_lan_sync_device_status(const char *deviceCode,kk_map_dev_node_t *
return -1; 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){ if((arg =_kk_sync_devicestatus_arg_build(devNode))==NULL){
debug_log(LOG_DEBUG_LEVEL,"[err] arg.\n"); debug_log(LOG_DEBUG_LEVEL,"[err] arg.\n");
return -1; return -1;
...@@ -263,7 +267,7 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev ...@@ -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); o_item_size = cJSON_GetArraySize(oldccu);
n_item_size = cJSON_GetArraySize(newccu); 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 ...@@ -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"); 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((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 : //todo :
//cJSON_Delete(args); //cJSON_Delete(args);
...@@ -366,6 +379,9 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev ...@@ -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); _kk_lan_sync_device_status(deviceCode,devNode);
return 0; return 0;
......
...@@ -112,7 +112,6 @@ void *kk_heartbeat_yield(void *args) ...@@ -112,7 +112,6 @@ void *kk_heartbeat_yield(void *args)
/*先下发网关属性获取,判断网关是否在线*/ /*先下发网关属性获取,判断网关是否在线*/
kk_msg_execute_property_get(node); kk_msg_execute_property_get(node);
} }
} }
} }
} }
......
...@@ -470,6 +470,7 @@ int dm_mgr_set_dev_onoffline(dm_mgr_dev_node_t *node,int isOffline) ...@@ -470,6 +470,7 @@ int dm_mgr_set_dev_onoffline(dm_mgr_dev_node_t *node,int isOffline)
if(node == NULL){ if(node == NULL){
return INVALID_PARAMETER; return INVALID_PARAMETER;
} }
if(isOffline){ if(isOffline){
INFO_PRINT("[%s]dev timeout,send offline\n",__FUNCTION__); INFO_PRINT("[%s]dev timeout,send offline\n",__FUNCTION__);
node->isOffline = KK_DEV_OFFLINE; 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