Commit 56e549ce authored by 陈伟灿's avatar 陈伟灿

Merge branch 'hzl' into 'master'

Hzl

See merge request chenweican/k-sdk!182
parents f533957b 48e61b05
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libiot_kcloud.so
else
LIBA_TARGET := libiot_kcloud.a LIBA_TARGET := libiot_kcloud.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, kcloud_main.c) $(call Append_Conditional, LIB_SRCS_EXCLUDE, kcloud_main.c)
$(call Append_Conditional, SRCS_kk_cloud, kcloud_main.c) $(call Append_Conditional, SRCS_kk_cloud, kcloud_main.c)
$(call Append_Conditional, TARGET, kk_cloud) $(call Append_Conditional, TARGET, kk_cloud)
endif
CFLAGS += -I$(TOP_DIR)/common/api CFLAGS += -I$(TOP_DIR)/common/api
CFLAGS += -I$(TOP_DIR)/common/json CFLAGS += -I$(TOP_DIR)/common/json
...@@ -25,6 +29,10 @@ else ifeq ($(CONFIG_MODEL),a133) ...@@ -25,6 +29,10 @@ else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133 LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133 LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133 LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
...@@ -32,13 +32,13 @@ static char s_ccuid[DEVICE_CODE_LEN] = {0}; ...@@ -32,13 +32,13 @@ static char s_ccuid[DEVICE_CODE_LEN] = {0};
int KK_Get_ccuid(char *device_code) int KK_Get_ccuid(char *device_code)
{ {
strncpy(device_code, s_ccuid, strlen(s_ccuid)); strncpy(device_code, s_ccuid, strlen(s_ccuid));
printf("HAL_Get_ccuid:%s\n",s_ccuid); INFO_PRINT("HAL_Get_ccuid:%s\n",s_ccuid);
return strlen(s_ccuid); return strlen(s_ccuid);
} }
static int _setDevice_Code(_IN_ char *device_code,int len) static int _setDevice_Code(_IN_ char *device_code,int len)
{ {
memset(s_ccuid, 0x0, DEVICE_CODE_LEN); memset(s_ccuid, 0x0, DEVICE_CODE_LEN);
printf("_setDevice_Code:%s\n",device_code); INFO_PRINT("_setDevice_Code:%s\n",device_code);
strncpy(s_ccuid, device_code, len); strncpy(s_ccuid, device_code, len);
return len; return len;
} }
...@@ -47,13 +47,13 @@ static int KK_Ccuid_init(void) ...@@ -47,13 +47,13 @@ static int KK_Ccuid_init(void)
char ccuid[DEVICE_CODE_LEN] = {0}; char ccuid[DEVICE_CODE_LEN] = {0};
char ccuidTmp[DEVICE_CODE_LEN] = {0}; char ccuidTmp[DEVICE_CODE_LEN] = {0};
int ccuid_len = 0; int ccuid_len = 0;
#ifdef CONFIG_A133_PLATFORM #ifdef CONFIG_A133_PLATFORM
uint8_t data[128] = {0}; uint8_t data[128] = {0};
int data_len = 0; int data_len = 0;
char *pstart = NULL; char *pstart = NULL;
char *pEnd = NULL; char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len); HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len);
printf("---GET_CCUID_CMD:%s\n",data); INFO_PRINT("---GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){ if(data_len > 0 && data_len <= 128){
pstart = data; pstart = data;
pEnd = strstr(data,"-"); pEnd = strstr(data,"-");
...@@ -70,7 +70,7 @@ static int KK_Ccuid_init(void) ...@@ -70,7 +70,7 @@ static int KK_Ccuid_init(void)
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID)); //_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("KK_Ccuid_init get ccuid error\n"); INFO_PRINT("KK_Ccuid_init get ccuid error\n");
return -1; return -1;
} }
#else #else
HAL_Execel_cmd(GET_CCUID_CMD,(char *)ccuid,sizeof(ccuid),&ccuid_len); HAL_Execel_cmd(GET_CCUID_CMD,(char *)ccuid,sizeof(ccuid),&ccuid_len);
printf("GET_CCUID_CMD:%s\n",ccuid); printf("GET_CCUID_CMD:%s\n",ccuid);
...@@ -110,16 +110,20 @@ static int kk_cloud_key_init(void) ...@@ -110,16 +110,20 @@ static int kk_cloud_key_init(void)
{ {
uint8_t key[128] = {0}; uint8_t key[128] = {0};
int key_len = 0; int key_len = 0;
#ifdef CONFIG_A133_PLATFORM #ifdef CONFIG_A133_PLATFORM
char *pstart = NULL; char *pstart = NULL;
char *pEnd = NULL; char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)key,sizeof(key),&key_len); HAL_Execel_cmd(GET_CCUID_CMD,(char *)key,sizeof(key),&key_len);
printf("---productSecret:%s\n",key); INFO_PRINT("---productSecret:%s\n",key);
if(key_len > 0 && key_len <= 128){ if(key_len > 0 && key_len <= 128){
pstart = key; pstart = key;
pEnd = strstr(key,"key_"); pEnd = strstr(key,"key_");
if(pEnd != NULL){ if(pEnd != NULL){
memcpy(s_key,pEnd+4,key_len-(pEnd-pstart+4)); memcpy(s_key,pEnd+4,key_len-(pEnd-pstart+4));
if (s_key[key_len-(pEnd-pstart+4) -1] == '\n'){
s_key[key_len-(pEnd-pstart+4) -1] = '\0';
INFO_PRINT("kk_cloud_key_init remove entry\n");
}
INFO_PRINT("kk_cloud_key_init s_key:%s\n",s_key); INFO_PRINT("kk_cloud_key_init s_key:%s\n",s_key);
}else{ }else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID)); //_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
...@@ -130,7 +134,7 @@ static int kk_cloud_key_init(void) ...@@ -130,7 +134,7 @@ static int kk_cloud_key_init(void)
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID)); //_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("kk_cloud_key_init error\n"); INFO_PRINT("kk_cloud_key_init error\n");
return -1; return -1;
} }
#else #else
HAL_Execel_cmd(GET_KEY_CMD,(char *)key,sizeof(key),&key_len); HAL_Execel_cmd(GET_KEY_CMD,(char *)key,sizeof(key),&key_len);
if(key_len > 0 && key_len <= 128){ if(key_len > 0 && key_len <= 128){
...@@ -234,10 +238,47 @@ extern int kk_info_report_start(void); ...@@ -234,10 +238,47 @@ extern int kk_info_report_start(void);
extern int kk_dl_config(); extern int kk_dl_config();
extern int kk_register_auth_get(); extern int kk_register_auth_get();
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#ifdef CONFIG_NDK
int app_main(char* path)
#else
int main(int argc, char* argv[]) int main(int argc, char* argv[])
#endif
{ {
int rc = 0; int rc = 0;
openlog("kcloud",LOG_PID,LOG_USER); openlog("kcloud",LOG_PID,LOG_USER);
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
/*set the callback to get the device date to cloud*/ /*set the callback to get the device date to cloud*/
rc = KK_Ccuid_init(); rc = KK_Ccuid_init();
if(rc == -1){ if(rc == -1){
...@@ -247,7 +288,7 @@ int main(int argc, char* argv[]) ...@@ -247,7 +288,7 @@ int main(int argc, char* argv[])
kk_cloud_pid_init(); kk_cloud_pid_init();
kk_cloud_key_init(); kk_cloud_key_init();
kk_ipc_init(IPC_APP2MID,(ipc_cb*)KK_Data_FromDev,NULL,NULL); kk_ipc_init(IPC_APP2MID,(ipc_cb*)KK_Data_FromDev,NULL,NULL);
#if 1 #if 1
kk_dl_config(); kk_dl_config();
again: again:
rc = kk_register_auth_get(); rc = kk_register_auth_get();
...@@ -256,7 +297,7 @@ again: ...@@ -256,7 +297,7 @@ again:
if(rc < 0){ if(rc < 0){
kk_write_disconnect_flag(); kk_write_disconnect_flag();
sleep(2); sleep(2);
goto again; goto again;
} }
} }
#if 0 #if 0
...@@ -265,7 +306,7 @@ again: ...@@ -265,7 +306,7 @@ again:
if(rc < 0){ if(rc < 0){
kk_write_disconnect_flag(); kk_write_disconnect_flag();
sleep(2); sleep(2);
goto again; goto again;
} }
} }
#endif #endif
...@@ -282,13 +323,13 @@ again: ...@@ -282,13 +323,13 @@ again:
if(rc < 0){ if(rc < 0){
kk_write_disconnect_flag(); kk_write_disconnect_flag();
sleep(2); sleep(2);
goto again; goto again;
} }
}else{ }else{
kk_write_disconnect_flag(); kk_write_disconnect_flag();
sleep(2); sleep(2);
goto again; goto again;
} }
#endif #endif
return rc; return rc;
} }
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libiot_lan.so
else
LIBA_TARGET := libiot_lan.a LIBA_TARGET := libiot_lan.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, kk_lan_main.c) $(call Append_Conditional, LIB_SRCS_EXCLUDE, kk_lan_main.c)
$(call Append_Conditional, SRCS_kk_lan, kk_lan_main.c) $(call Append_Conditional, SRCS_kk_lan, kk_lan_main.c)
$(call Append_Conditional, TARGET, kk_lan) $(call Append_Conditional, TARGET, kk_lan)
endif
CFLAGS += -I$(TOP_DIR)/common/api CFLAGS += -I$(TOP_DIR)/common/api
CFLAGS += -I$(TOP_DIR)/common/json CFLAGS += -I$(TOP_DIR)/common/json
...@@ -25,7 +29,9 @@ else ifeq ($(CONFIG_MODEL),8197) ...@@ -25,7 +29,9 @@ else ifeq ($(CONFIG_MODEL),8197)
else ifeq ($(CONFIG_MODEL),a133) else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133 LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133 LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
else else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
...@@ -106,7 +106,7 @@ static void kk_lan_ccuid_init(void) ...@@ -106,7 +106,7 @@ static void kk_lan_ccuid_init(void)
}else{ }else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID)); //_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
} }
#endif #endif
} }
#define SYNC_INFO_FLAG 0x01 #define SYNC_INFO_FLAG 0x01
...@@ -161,12 +161,42 @@ int kk_sync_timer_is_running(void) ...@@ -161,12 +161,42 @@ int kk_sync_timer_is_running(void)
} }
#ifdef CONFIG_NDK
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#endif
#ifdef CONFIG_NDK
int lan_main(char* path)
#else
int main(int argc, char* argv[]) int main(int argc, char* argv[])
#endif
{ {
int ret = 0; int ret = 0;
...@@ -176,6 +206,9 @@ int main(int argc, char* argv[]) ...@@ -176,6 +206,9 @@ int main(int argc, char* argv[])
signal(SIGSTOP, SIG_IGN); signal(SIGSTOP, SIG_IGN);
openlog("kk_lan",LOG_CONS|LOG_PID,LOG_USER); openlog("kk_lan",LOG_CONS|LOG_PID,LOG_USER);
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
kk_lan_pid_init(); kk_lan_pid_init();
kk_lan_ccuid_init(); kk_lan_ccuid_init();
...@@ -200,7 +233,7 @@ int main(int argc, char* argv[]) ...@@ -200,7 +233,7 @@ int main(int argc, char* argv[])
if(g_sync_flag&SYNC_INFO_FLAG){ if(g_sync_flag&SYNC_INFO_FLAG){
DEBUG_PRINT("[SYNC INFO].\n"); DEBUG_PRINT("[SYNC INFO].\n");
send_data = _kk_data_create(SYNC_MSG_TYPE,"*","*","*"); send_data = _kk_data_create(SYNC_MSG_TYPE,"*","*","*");
g_sync_flag&=~SYNC_INFO_FLAG; g_sync_flag&=~SYNC_INFO_FLAG;
}else if(g_sync_flag&SYNC_INFO_PUSH_FLAG){ }else if(g_sync_flag&SYNC_INFO_PUSH_FLAG){
...@@ -221,7 +254,7 @@ int main(int argc, char* argv[]) ...@@ -221,7 +254,7 @@ int main(int argc, char* argv[])
} }
} }
usleep(100*1000); usleep(100*1000);
} }
return 0; return 0;
......
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
#include "sqlite3.h" #include "sqlite3.h"
#ifdef CONFIG_A133_PLATFORM
#define KK_LAN_NODE_DB_FILE "/data/local/kk/db/kk_lan_node.db"
#else
#define KK_LAN_NODE_DB_FILE "/data/kk/kk_lan_node.db"
#endif
typedef struct { typedef struct {
void *mutex; void *mutex;
......
...@@ -89,13 +89,13 @@ int kk_execel_cmd(char * cmd,char * buf,int buf_len,int* ret_len) ...@@ -89,13 +89,13 @@ int kk_execel_cmd(char * cmd,char * buf,int buf_len,int* ret_len)
memset(buf,0,buf_len); memset(buf,0,buf_len);
FILE *fp = NULL; FILE *fp = NULL;
fp = popen(cmd,"r"); fp = popen(cmd,"r");
while(fgets(buf,buf_len,fp)!=NULL){ while(fgets(buf,buf_len,fp)!=NULL){
printf("%s return %s",cmd,buf); printf("%s return %s",cmd,buf);
} }
pclose (fp); pclose (fp);
*ret_len = strlen(buf); *ret_len = strlen(buf);
return 0; return 0;
} }
...@@ -157,7 +157,7 @@ uint8_t pro_check_uart_frame(uint8_t *data, uint16_t data_len) ...@@ -157,7 +157,7 @@ uint8_t pro_check_uart_frame(uint8_t *data, uint16_t data_len)
data[data_len - 2] = crc >> 8; data[data_len - 2] = crc >> 8;
data[data_len - 1] = crc; data[data_len - 1] = crc;
GW_LOG_DBG("link ack\n"); GW_LOG_DBG("link ack\n");
// dev_send_net(NET_SEND_NOT_BC, UDP_MSG_LOCAL, &g_ccu_net_addr, data, data_len); // dev_send_net(NET_SEND_NOT_BC, UDP_MSG_LOCAL, &g_ccu_net_addr, data, data_len);
...@@ -361,7 +361,7 @@ int get_proto_frame(uint8_t *data, uint16_t data_len, pro_data_t *pro_data) ...@@ -361,7 +361,7 @@ int get_proto_frame(uint8_t *data, uint16_t data_len, pro_data_t *pro_data)
pro_data->seq = (((uint16_t)(data[PRO_SEQ_INDEX])) << 8) + data[PRO_SEQ_INDEX + 1]; pro_data->seq = (((uint16_t)(data[PRO_SEQ_INDEX])) << 8) + data[PRO_SEQ_INDEX + 1];
pro_data->ch = data[PRO_DATA_INDEX+1]; pro_data->ch = data[PRO_DATA_INDEX+1];
pro_data->opcode = (((uint16_t)(data[PRO_DATA_INDEX + 2])) << 8) + data[PRO_DATA_INDEX + 3]; pro_data->opcode = (((uint16_t)(data[PRO_DATA_INDEX + 2])) << 8) + data[PRO_DATA_INDEX + 3];
//pro_data->args_len = data_len - PRO_APP_PACKET_MIN_SIZE + 1; //pro_data->args_len = data_len - PRO_APP_PACKET_MIN_SIZE + 1;
pro_data->args_len = data[PRO_DATA_INDEX] -3 ; pro_data->args_len = data[PRO_DATA_INDEX] -3 ;
...@@ -395,7 +395,7 @@ uint16_t proto_frame_to_uart(pro_data_t *pro_data, uint8_t *uart_data) ...@@ -395,7 +395,7 @@ uint16_t proto_frame_to_uart(pro_data_t *pro_data, uint8_t *uart_data)
cf = cf_to_uint8_t(&(pro_data->cf)); cf = cf_to_uint8_t(&(pro_data->cf));
//cf = 0x20; //cf = 0x20;
uart_data[i++] = cf; uart_data[i++] = cf;
uart_data[i++] = pro_data->seq>>8; uart_data[i++] = pro_data->seq>>8;
...@@ -437,7 +437,7 @@ void pro_send_link_ack(pro_data_t *pro_data) ...@@ -437,7 +437,7 @@ void pro_send_link_ack(pro_data_t *pro_data)
crc = make_crc16(buf, i); crc = make_crc16(buf, i);
buf[i++] = crc >> 8; buf[i++] = crc >> 8;
buf[i++] = crc; buf[i++] = crc;
dev_send_uart(buf,i); dev_send_uart(buf,i);
} }
...@@ -447,7 +447,7 @@ void dev_send_uart(uint8_t *data, uint16_t data_len) ...@@ -447,7 +447,7 @@ void dev_send_uart(uint8_t *data, uint16_t data_len)
{ {
static char data_print_buf[512] = {0}; static char data_print_buf[512] = {0};
int i = 0; int i = 0;
memset(data_print_buf, 0, sizeof(data_print_buf)); memset(data_print_buf, 0, sizeof(data_print_buf));
for (i = 0; i < data_len; i ++) for (i = 0; i < data_len; i ++)
...@@ -554,7 +554,7 @@ void read_mac_ack(pro_data_t pro_data) ...@@ -554,7 +554,7 @@ void read_mac_ack(pro_data_t pro_data)
pro_data_tmp.args_len = 0; pro_data_tmp.args_len = 0;
pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status
pro_data_tmp.arg[pro_data_tmp.args_len++] = 6; // mac len pro_data_tmp.arg[pro_data_tmp.args_len++] = 6; // mac len
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[0]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[0]&0xff; // mac
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[1]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[1]&0xff; // mac
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[2]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[2]&0xff; // mac
...@@ -572,37 +572,37 @@ void read_mac_ack(pro_data_t pro_data) ...@@ -572,37 +572,37 @@ void read_mac_ack(pro_data_t pro_data)
#endif #endif
} }
int my_system(const char * cmd) int my_system(const char * cmd)
{ {
FILE * fp; FILE * fp;
int res; int res;
char buf[1024]; char buf[1024];
if (cmd == NULL){ if (cmd == NULL){
GW_LOG_DBG("my_system cmd is NULL!\n"); GW_LOG_DBG("my_system cmd is NULL!\n");
return -1; return -1;
} }
if ((fp = popen(cmd, "r") ) == NULL){ if ((fp = popen(cmd, "r") ) == NULL){
perror("popen"); perror("popen");
GW_LOG_DBG("popen error: %s/n", strerror(errno)); GW_LOG_DBG("popen error: %s/n", strerror(errno));
return -1; return -1;
} }
else{ else{
while(fgets(buf, sizeof(buf), fp)){ while(fgets(buf, sizeof(buf), fp)){
GW_LOG_DBG("%s", buf); GW_LOG_DBG("%s", buf);
} }
if ( (res = pclose(fp)) == -1){ if ( (res = pclose(fp)) == -1){
GW_LOG_DBG("close popen file pointer fp error!\n"); GW_LOG_DBG("close popen file pointer fp error!\n");
return res;
}
else if (res == 0){
return res;
}
else{
GW_LOG_DBG("popen res is :%d\n", res);
return res; return res;
} }
else if (res == 0){ }
return res; }
}
else{
GW_LOG_DBG("popen res is :%d\n", res);
return res;
}
}
}
int get_art_bin() int get_art_bin()
{ {
...@@ -627,7 +627,7 @@ int write_art_bin() ...@@ -627,7 +627,7 @@ int write_art_bin()
long get_file_len(FILE * fp) long get_file_len(FILE * fp)
{ {
long offset; long offset;
fseek(fp,0,SEEK_END); //�Ƶ��ļ���β fseek(fp,0,SEEK_END); //�Ƶ��ļ���β
offset = ftell(fp); offset = ftell(fp);
fseek(fp,0,SEEK_SET); //�Ƶ��ļ���ͷ fseek(fp,0,SEEK_SET); //�Ƶ��ļ���ͷ
...@@ -651,7 +651,7 @@ int mac_modify(unsigned char mac[6]) ...@@ -651,7 +651,7 @@ int mac_modify(unsigned char mac[6])
if(!(fp = fopen("/tmp/art.bin","r"))){ if(!(fp = fopen("/tmp/art.bin","r"))){
GW_LOG_DBG("can't open the file: /tmp/art.bin\n"); GW_LOG_DBG("can't open the file: /tmp/art.bin\n");
return 0; return 0;
} }
offset = get_file_len(fp); offset = get_file_len(fp);
...@@ -679,7 +679,7 @@ int mac_modify(unsigned char mac[6]) ...@@ -679,7 +679,7 @@ int mac_modify(unsigned char mac[6])
if(!(fp = fopen("/tmp/art-modify.bin","w+"))){ if(!(fp = fopen("/tmp/art-modify.bin","w+"))){
GW_LOG_DBG("can't open the file: /tmp/art-modify.bin\n"); GW_LOG_DBG("can't open the file: /tmp/art-modify.bin\n");
free(file_content); free(file_content);
return 0; return 0;
} }
fwrite(file_content,1,offset,fp); fwrite(file_content,1,offset,fp);
...@@ -701,7 +701,7 @@ int get_art_mac(unsigned char mac[6]) ...@@ -701,7 +701,7 @@ int get_art_mac(unsigned char mac[6])
if(!(fp = fopen("/tmp/art.bin","r"))){ if(!(fp = fopen("/tmp/art.bin","r"))){
GW_LOG_DBG("can't open the file: /tmp/wifi_scan\n"); GW_LOG_DBG("can't open the file: /tmp/wifi_scan\n");
return 0; return 0;
} }
offset = get_file_len(fp); offset = get_file_len(fp);
...@@ -732,7 +732,7 @@ void set_mac_ack(pro_data_t pro_data) ...@@ -732,7 +732,7 @@ void set_mac_ack(pro_data_t pro_data)
pro_data_t pro_data_tmp; pro_data_t pro_data_tmp;
//uint8_t arg_buf[256]; //uint8_t arg_buf[256];
memset((char*)&pro_data_tmp,0,sizeof(pro_data_t)); memset((char*)&pro_data_tmp,0,sizeof(pro_data_t));
memcpy(&pro_data_tmp,&pro_data,sizeof(pro_data_t)); memcpy(&pro_data_tmp,&pro_data,sizeof(pro_data_t));
...@@ -757,7 +757,7 @@ void set_mac_ack(pro_data_t pro_data) ...@@ -757,7 +757,7 @@ void set_mac_ack(pro_data_t pro_data)
// ack handle // ack handle
if(mac_modify(mac_iput) == 0) if(mac_modify(mac_iput) == 0)
{ {
pro_data_tmp.arg[0] = E_Proto_ERROR; pro_data_tmp.arg[0] = E_Proto_ERROR;
} }
write_art_bin(); write_art_bin();
...@@ -768,7 +768,7 @@ void set_mac_ack(pro_data_t pro_data) ...@@ -768,7 +768,7 @@ void set_mac_ack(pro_data_t pro_data)
memcpy(&pro_data_tmp.arg[1],&pro_data.arg[0],pro_data.args_len); memcpy(&pro_data_tmp.arg[1],&pro_data.arg[0],pro_data.args_len);
pro_data_tmp.args_len++; pro_data_tmp.args_len++;
uint8_t data_buf[255] = {0}; uint8_t data_buf[255] = {0};
int data_len = 0; int data_len = 0;
...@@ -788,13 +788,13 @@ void read_flash_mac_ack(pro_data_t pro_data) ...@@ -788,13 +788,13 @@ void read_flash_mac_ack(pro_data_t pro_data)
pro_data_tmp.cf.sof_flag = 0; pro_data_tmp.cf.sof_flag = 0;
//get mac //get mac
get_art_mac(eth0_mac); get_art_mac(eth0_mac);
pro_data_tmp.args_len = 0; pro_data_tmp.args_len = 0;
pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status
pro_data_tmp.arg[pro_data_tmp.args_len++] = 6; // mac len pro_data_tmp.arg[pro_data_tmp.args_len++] = 6; // mac len
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[0]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[0]&0xff; // mac
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[1]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[1]&0xff; // mac
pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[2]&0xff; // mac pro_data_tmp.arg[pro_data_tmp.args_len++] = eth0_mac[2]&0xff; // mac
...@@ -831,7 +831,7 @@ void read_version_ack(pro_data_t pro_data) ...@@ -831,7 +831,7 @@ void read_version_ack(pro_data_t pro_data)
memcpy(&pro_data_tmp.arg[pro_data_tmp.args_len],g_oled_config.version_str,version_len); memcpy(&pro_data_tmp.arg[pro_data_tmp.args_len],g_oled_config.version_str,version_len);
pro_data_tmp.args_len += version_len; pro_data_tmp.args_len += version_len;
uint8_t data_buf[255] = {0}; uint8_t data_buf[255] = {0};
uint8_t data_len = 0; uint8_t data_len = 0;
printf("---->%s\n",g_oled_config.version_str); printf("---->%s\n",g_oled_config.version_str);
...@@ -859,7 +859,7 @@ void exit_subboard_test_ack(pro_data_t pro_data) ...@@ -859,7 +859,7 @@ void exit_subboard_test_ack(pro_data_t pro_data)
pro_data_tmp.args_len = 0; pro_data_tmp.args_len = 0;
pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status pro_data_tmp.arg[pro_data_tmp.args_len++] = 0; // err status
uint8_t data_buf[255] = {0}; uint8_t data_buf[255] = {0};
uint8_t data_len = 0; uint8_t data_len = 0;
...@@ -869,8 +869,9 @@ void exit_subboard_test_ack(pro_data_t pro_data) ...@@ -869,8 +869,9 @@ void exit_subboard_test_ack(pro_data_t pro_data)
} }
/********************/ /********************/
#ifdef VOICE_SUPPORT
extern void kk_vp_opcode_handle(pro_data_t *pro_data); extern void kk_vp_opcode_handle(pro_data_t *pro_data);
#endif
void uart_frame_handle() void uart_frame_handle()
{ {
...@@ -887,8 +888,9 @@ void uart_frame_handle() ...@@ -887,8 +888,9 @@ void uart_frame_handle()
} }
uart_protocol_print(&pro_data); uart_protocol_print(&pro_data);
#ifdef VOICE_SUPPORT
kk_vp_opcode_handle(&pro_data); kk_vp_opcode_handle(&pro_data);
#endif
return; return;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#include <pthread.h> #include <pthread.h>
#include "com_api.h" #include "com_api.h"
#include "kk_log.h" #include "kk_log.h"
#ifdef CONFIG_A133_PLATFORM /*#ifdef CONFIG_A133_PLATFORM
#define APP2MID "ipc:///data/local/kk/app2mid.ipc" #define APP2MID "ipc:///data/local/kk/app2mid.ipc"
#define APP2MID_PUBSUB "ipc:///data/local/kk/app2mid_pubsub.ipc" #define APP2MID_PUBSUB "ipc:///data/local/kk/app2mid_pubsub.ipc"
#define PLAT2MID "ipc:///data/local/kk/plat2mid.ipc" #define PLAT2MID "ipc:///data/local/kk/plat2mid.ipc"
...@@ -10,7 +10,24 @@ ...@@ -10,7 +10,24 @@
#define APP2MID "ipc:///tmp/app2mid.ipc" #define APP2MID "ipc:///tmp/app2mid.ipc"
#define APP2MID_PUBSUB "ipc:///tmp/app2mid_pubsub.ipc" #define APP2MID_PUBSUB "ipc:///tmp/app2mid_pubsub.ipc"
#define PLAT2MID "ipc:///tmp/plat2mid.ipc" #define PLAT2MID "ipc:///tmp/plat2mid.ipc"
#endif*/
#ifdef CONFIG_A133_PLATFORM
#define TMP_STORSGE_DIR STORSGE_DIR"/kk"
#else
#define TMP_STORSGE_DIR "/tmp"
#endif #endif
#define IPC_DIR TMP_STORSGE_DIR
#define APP2MID_FORMART "ipc://%s/app2mid.ipc"
#define APP2MID_PUBSUB_FORMART "ipc://%s/app2mid_pubsub.ipc"
#define PLAT2MID_FORMART "ipc://%s/plat2mid.ipc"
static char s_nanomsg_dir[128] = {0};
char APP2MID[128] = "ipc://"IPC_DIR"/app2mid.ipc";
char APP2MID_PUBSUB[128] = "ipc://"IPC_DIR"/app2mid_pubsub.ipc";
char PLAT2MID[128] = "ipc://"IPC_DIR"/plat2mid.ipc";
//#define GW2CCU_PIPE "tcp://%s:5555" //#define GW2CCU_PIPE "tcp://%s:5555"
//#define GW2CCU_PUBSUB "tcp://%s:5557" //#define GW2CCU_PUBSUB "tcp://%s:5557"
#define GW2CCU_PIPE "tcp://%s:35567" #define GW2CCU_PIPE "tcp://%s:35567"
...@@ -58,10 +75,10 @@ static char* _parse_data_by_subscribe(char* data, int len, uint32_t *outLen, voi ...@@ -58,10 +75,10 @@ static char* _parse_data_by_subscribe(char* data, int len, uint32_t *outLen, voi
*outLen = (len - (foundStr - data) -1); *outLen = (len - (foundStr - data) -1);
return (foundStr + 1); return (foundStr + 1);
} }
*outLen = len; *outLen = len;
return data; return data;
} }
static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents) static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents)
...@@ -75,7 +92,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents) ...@@ -75,7 +92,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents)
uint8_t *chlMark = NULL; uint8_t *chlMark = NULL;
uint32_t bytes =0; uint32_t bytes =0;
uint32_t validLen =0; uint32_t validLen =0;
char *dat_bak = NULL; char *dat_bak = NULL;
if (loop_ctrl->type == IPC_PLAT2MID ||loop_ctrl->type == IPC_APP2MID){ if (loop_ctrl->type == IPC_PLAT2MID ||loop_ctrl->type == IPC_APP2MID){
bytes = nn_recv(loop_ctrl->ab.n, &dat, NN_MSG, NN_DONTWAIT); bytes = nn_recv(loop_ctrl->ab.n, &dat, NN_MSG, NN_DONTWAIT);
}else{ }else{
...@@ -92,7 +109,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents) ...@@ -92,7 +109,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents)
memset(dat_bak,0x0,bytes+1); memset(dat_bak,0x0,bytes+1);
memcpy(dat_bak,dat,bytes); memcpy(dat_bak,dat,bytes);
cJSON_Minify((char *)dat_bak); cJSON_Minify((char *)dat_bak);
//INFO_PRINT("watcher_cb:%s\n", (char*)dat_bak); //INFO_PRINT("watcher_cb:%s\n", (char*)dat_bak);
free(dat_bak); free(dat_bak);
dat_bak = NULL; dat_bak = NULL;
} }
...@@ -107,7 +124,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents) ...@@ -107,7 +124,7 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents)
if (strncmp((char*)validDat,MAGIC, strlen(MAGIC)) == 0){ if (strncmp((char*)validDat,MAGIC, strlen(MAGIC)) == 0){
if (strncmp((char*)validDat,MAGIC_ACK, strlen(MAGIC_ACK)) == 0){ if (strncmp((char*)validDat,MAGIC_ACK, strlen(MAGIC_ACK)) == 0){
}else{ }else{
kk_ipc_send_ex(loop_ctrl->type, MAGIC_ACK, strlen(MAGIC_ACK)+1, chlMark); kk_ipc_send_ex(loop_ctrl->type, MAGIC_ACK, strlen(MAGIC_ACK)+1, chlMark);
} }
...@@ -127,14 +144,14 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents) ...@@ -127,14 +144,14 @@ static void watcher_cb (struct ev_loop *loop ,struct ev_io *w, int revents)
void __loop_init(Bloop_ctrl_t *loop_ctrl, struct ev_loop* loop) void __loop_init(Bloop_ctrl_t *loop_ctrl, struct ev_loop* loop)
{ {
loop_ctrl->watcher.data = loop_ctrl; loop_ctrl->watcher.data = loop_ctrl;
if (loop_ctrl->type == IPC_PLAT2MID || loop_ctrl->type == IPC_APP2MID){ if (loop_ctrl->type == IPC_PLAT2MID || loop_ctrl->type == IPC_APP2MID){
ev_io_init (&(loop_ctrl->watcher), watcher_cb, loop_ctrl->ab.s, EV_READ); ev_io_init (&(loop_ctrl->watcher), watcher_cb, loop_ctrl->ab.s, EV_READ);
}else{ }else{
ev_io_init (&(loop_ctrl->watcher), watcher_cb, loop_ctrl->ba.s, EV_READ); ev_io_init (&(loop_ctrl->watcher), watcher_cb, loop_ctrl->ba.s, EV_READ);
} }
ev_io_start (loop, &(loop_ctrl->watcher)); ev_io_start (loop, &(loop_ctrl->watcher));
} }
...@@ -148,7 +165,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -148,7 +165,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
memset(loop_ctrl->subscrStr, 0, sizeof(loop_ctrl->subscrStr)); memset(loop_ctrl->subscrStr, 0, sizeof(loop_ctrl->subscrStr));
if (chlMark != NULL){ if (chlMark != NULL){
if (strlen(chlMark) > sizeof(loop_ctrl->subscrStr) +1){ if (strlen(chlMark) > sizeof(loop_ctrl->subscrStr) +1){
ERROR_PRINT("__nanomsg_init chlMark is too long, need less than %d \r\n", ERROR_PRINT("__nanomsg_init chlMark is too long, need less than %d \r\n",
sizeof(loop_ctrl->subscrStr)); sizeof(loop_ctrl->subscrStr));
return -1; return -1;
} }
...@@ -181,6 +198,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -181,6 +198,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
} }
break; break;
case IPC_MID2APP: { case IPC_MID2APP: {
int ret = 0;
loop_ctrl->ba.n = nn_socket(AF_SP, NN_PULL); loop_ctrl->ba.n = nn_socket(AF_SP, NN_PULL);
if (loop_ctrl->ba.n < 0) { if (loop_ctrl->ba.n < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n=%d \r\n",loop_ctrl->ba.n); ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n=%d \r\n",loop_ctrl->ba.n);
...@@ -190,16 +208,16 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -190,16 +208,16 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
if (loop_ctrl->ab.n < 0) { if (loop_ctrl->ab.n < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n); ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n);
return -1; return -1;
} }
if (nn_bind(loop_ctrl->ba.n, APP2MID) < 0) { if (ret = nn_bind(loop_ctrl->ba.n, APP2MID) < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n nn_bind error \r\n"); ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n nn_bind error ret=%d,%s \r\n", ret, APP2MID);
return -1; return -1;
} }
if (nn_bind(loop_ctrl->ab.n, APP2MID_PUBSUB) < 0) {//pub if (nn_bind(loop_ctrl->ab.n, APP2MID_PUBSUB) < 0) {//pub
ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n nn_bind error \r\n"); ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n nn_bind error \r\n");
return -1; return -1;
} }
} }
break; break;
case IPC_PLAT2MID: { case IPC_PLAT2MID: {
...@@ -211,13 +229,13 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -211,13 +229,13 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
ERROR_PRINT("loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n); ERROR_PRINT("loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n);
return -1; return -1;
} }
loop_ctrl->ab.n = nn_socket(AF_SP, NN_SUB); loop_ctrl->ab.n = nn_socket(AF_SP, NN_SUB);
if (loop_ctrl->ab.n < 0) { if (loop_ctrl->ab.n < 0) {
ERROR_PRINT("loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n); ERROR_PRINT("loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n);
return -1; return -1;
} }
sprintf(addr, GW2CCU_PIPE, ip); sprintf(addr, GW2CCU_PIPE, ip);
if (nn_connect(loop_ctrl->ba.n, addr) < 0) {//pipe if (nn_connect(loop_ctrl->ba.n, addr) < 0) {//pipe
ERROR_PRINT("nn_connect error ---2\r\n"); ERROR_PRINT("nn_connect error ---2\r\n");
...@@ -231,17 +249,17 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -231,17 +249,17 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
ERROR_PRINT("nn_setsockopt failed "); ERROR_PRINT("nn_setsockopt failed ");
return -1; return -1;
} }
memset(addr,0, sizeof(addr)); memset(addr,0, sizeof(addr));
sprintf(addr, GW2CCU_PUBSUB, ip); sprintf(addr, GW2CCU_PUBSUB, ip);
if (nn_connect(loop_ctrl->ab.n, addr) < 0) {//sub if (nn_connect(loop_ctrl->ab.n, addr) < 0) {//sub
ERROR_PRINT("nn_connect error ---3\r\n"); ERROR_PRINT("nn_connect error ---3\r\n");
return -1; return -1;
} }
} }
break; break;
case IPC_MID2PLAT: { case IPC_MID2PLAT: {
//创建2个通道 pipe和pub/sub //创建2个通道 pipe和pub/sub
char addr[30] = {0}; char addr[30] = {0};
...@@ -251,21 +269,23 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -251,21 +269,23 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n); ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n);
return -1; return -1;
} }
loop_ctrl->ab.n = nn_socket(AF_SP, NN_PUB); loop_ctrl->ab.n = nn_socket(AF_SP, NN_PUB);
if (loop_ctrl->ab.n < 0) { if (loop_ctrl->ab.n < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n); ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n);
return -1; return -1;
} }
sprintf(addr, GW2CCU_PIPE, ip); sprintf(addr, GW2CCU_PIPE, ip);
if (nn_bind(loop_ctrl->ba.n, addr) < 0) {//pipe if (nn_bind(loop_ctrl->ba.n, addr) < 0) {//pipe
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n);
return -1; return -1;
} }
memset(addr,0, sizeof(addr)); memset(addr,0, sizeof(addr));
sprintf(addr, GW2CCU_PUBSUB, ip); sprintf(addr, GW2CCU_PUBSUB, ip);
if (nn_bind(loop_ctrl->ab.n, addr) < 0) {//pub if (nn_bind(loop_ctrl->ab.n, addr) < 0) {//pub
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ab.n);
return -1; return -1;
} }
} }
...@@ -273,7 +293,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -273,7 +293,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
default: { default: {
} }
break; break;
} }
size_t size = sizeof(size_t); size_t size = sizeof(size_t);
if (IPC_PLAT2MID == type || IPC_APP2MID == type){ if (IPC_PLAT2MID == type || IPC_APP2MID == type){
...@@ -301,9 +321,38 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i ...@@ -301,9 +321,38 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
void* loop_thread(void *arg){ void* loop_thread(void *arg){
INFO_PRINT("loop_thread start!\r\n"); INFO_PRINT("loop_thread start!\r\n");
ev_run (gloop, 0); ev_run (gloop, 0);
} }
int kk_set_storage_dir(char* path){
if (path == NULL){
ERROR_PRINT("[%s] param path is null \n", __FUNCTION__);
return -1;
}
memcpy(s_nanomsg_dir, path, strlen(path)+1);
return 0;
}
int kk_int_storage_dir(){
if(strlen(s_nanomsg_dir) > 0){
sprintf(APP2MID, APP2MID_FORMART, s_nanomsg_dir);
sprintf(APP2MID_PUBSUB, APP2MID_PUBSUB_FORMART, s_nanomsg_dir);
sprintf(PLAT2MID, PLAT2MID_FORMART, s_nanomsg_dir);
}else{
sprintf(APP2MID, APP2MID_FORMART, IPC_DIR);
sprintf(APP2MID_PUBSUB, APP2MID_PUBSUB_FORMART, IPC_DIR);
sprintf(PLAT2MID, PLAT2MID_FORMART, IPC_DIR);
}
DEBUG_PRINT("[%s]APP2MID=%s, APP2MID_PUBSUB=%s, PLAT2MID=%s \n", __FUNCTION__, APP2MID, APP2MID_PUBSUB, PLAT2MID);
}
/*================================= /*=================================
* for gateway, the "id" and "ip" is necessary * for gateway, the "id" and "ip" is necessary
* chlMark: is unique, and suggest use gateway deviceCode * chlMark: is unique, and suggest use gateway deviceCode
...@@ -316,6 +365,9 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip) ...@@ -316,6 +365,9 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
{ {
Bloop_ctrl_t* loop_ctrl; Bloop_ctrl_t* loop_ctrl;
kk_int_storage_dir();
if (IPC_MID2PLAT == type){ if (IPC_MID2PLAT == type){
loop_ctrl = &Mloop_ctrl; loop_ctrl = &Mloop_ctrl;
}else { }else {
...@@ -344,7 +396,7 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip) ...@@ -344,7 +396,7 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
ERROR_PRINT("create loop failed\r\n"); ERROR_PRINT("create loop failed\r\n");
return -1; return -1;
} }
} }
loop_ctrl->type = type; loop_ctrl->type = type;
...@@ -358,7 +410,7 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip) ...@@ -358,7 +410,7 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
loop_ctrl->cb = cb; loop_ctrl->cb = cb;
loop_ctrl->type = type; loop_ctrl->type = type;
return 0; return 0;
} }
int kk_ipc_deinit(ipc_type type) int kk_ipc_deinit(ipc_type type)
...@@ -372,7 +424,7 @@ int kk_ipc_deinit(ipc_type type) ...@@ -372,7 +424,7 @@ int kk_ipc_deinit(ipc_type type)
ERROR_PRINT("kk_ipc_dinit failed, no ipc need destroy!\r\n"); ERROR_PRINT("kk_ipc_dinit failed, no ipc need destroy!\r\n");
return -1; return -1;
} }
if (loop_ctrl->ba.n > -1){ if (loop_ctrl->ba.n > -1){
nn_shutdown(loop_ctrl->ba.n, 0); nn_shutdown(loop_ctrl->ba.n, 0);
} }
...@@ -383,7 +435,7 @@ int kk_ipc_deinit(ipc_type type) ...@@ -383,7 +435,7 @@ int kk_ipc_deinit(ipc_type type)
ev_io_stop(gloop, &loop_ctrl->watcher); ev_io_stop(gloop, &loop_ctrl->watcher);
loop_ctrl->cb = NULL; loop_ctrl->cb = NULL;
loop_ctrl->type = IPC_UNDEF; loop_ctrl->type = IPC_UNDEF;
if (Bloop_ctrl.cb ==NULL && Mloop_ctrl.cb ==NULL){ if (Bloop_ctrl.cb ==NULL && Mloop_ctrl.cb ==NULL){
ev_break(gloop,EVBREAK_ALL); ev_break(gloop,EVBREAK_ALL);
pthread_exit(0); pthread_exit(0);
...@@ -391,7 +443,9 @@ int kk_ipc_deinit(ipc_type type) ...@@ -391,7 +443,9 @@ int kk_ipc_deinit(ipc_type type)
gloop = NULL; gloop = NULL;
g_pTh = 0; g_pTh = 0;
} }
memset(s_nanomsg_dir, 0, sizeof(s_nanomsg_dir));
return 0; return 0;
} }
...@@ -434,7 +488,7 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark) ...@@ -434,7 +488,7 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark)
memcpy(buf, chalMark, strlen(chalMark)); memcpy(buf, chalMark, strlen(chalMark));
memcpy(buf + strlen(chalMark), FILTERSTR, strlen(FILTERSTR)); memcpy(buf + strlen(chalMark), FILTERSTR, strlen(FILTERSTR));
} }
memcpy(buf + filterlen, data, len); memcpy(buf + filterlen, data, len);
if (type == IPC_MID2PLAT ){ if (type == IPC_MID2PLAT ){
loop_ctrl = &Mloop_ctrl; loop_ctrl = &Mloop_ctrl;
...@@ -465,7 +519,7 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark) ...@@ -465,7 +519,7 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark)
int kk_ipc_get_senderrcnt(ipc_type type){ int kk_ipc_get_senderrcnt(ipc_type type){
Bloop_ctrl_t* loop_ctrl; Bloop_ctrl_t* loop_ctrl;
if (IPC_MID2PLAT == type){ if (IPC_MID2PLAT == type){
loop_ctrl = &Mloop_ctrl; loop_ctrl = &Mloop_ctrl;
}else { }else {
...@@ -476,7 +530,7 @@ int kk_ipc_get_senderrcnt(ipc_type type){ ...@@ -476,7 +530,7 @@ int kk_ipc_get_senderrcnt(ipc_type type){
} }
int kk_ipc_isconnect(ipc_type type){ int kk_ipc_isconnect(ipc_type type){
Bloop_ctrl_t* loop_ctrl; Bloop_ctrl_t* loop_ctrl;
if (IPC_MID2PLAT == type){ if (IPC_MID2PLAT == type){
loop_ctrl = &Mloop_ctrl; loop_ctrl = &Mloop_ctrl;
}else { }else {
...@@ -485,7 +539,7 @@ int kk_ipc_isconnect(ipc_type type){ ...@@ -485,7 +539,7 @@ int kk_ipc_isconnect(ipc_type type){
loop_ctrl->isconnect = 0; loop_ctrl->isconnect = 0;
{ {
for(int i =0; i<20;i++){ for(int i =0; i<20;i++){
kk_ipc_send(type, MAGIC, strlen(MAGIC)+1); kk_ipc_send(type, MAGIC, strlen(MAGIC)+1);
usleep(500000); usleep(500000);
......
...@@ -170,6 +170,8 @@ int kk_reset_retry_num(); ...@@ -170,6 +170,8 @@ int kk_reset_retry_num();
int kk_tcp_client_send(char* data, int len); int kk_tcp_client_send(char* data, int len);
int kk_tcp_client_init(char ip[MAX_IP_LEN], int port, ipc_cb cb); int kk_tcp_client_init(char ip[MAX_IP_LEN], int port, ipc_cb cb);
void kk_tcp_client_deinit(void); void kk_tcp_client_deinit(void);
int kk_set_storage_dir(char* path);
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif
......
...@@ -6,3 +6,7 @@ ...@@ -6,3 +6,7 @@
3. 交叉编译选项 9531: ./configure --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-file --disable-gopher --disable-imap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib --host=mips-openwrt-linux CC=mips-openwrt-linux-gcc --prefix=$PWD/__install 3. 交叉编译选项 9531: ./configure --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-file --disable-gopher --disable-imap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib --host=mips-openwrt-linux CC=mips-openwrt-linux-gcc --prefix=$PWD/__install
4. 编译example:gcc -o example_curl example_curl.c -L. -lcurl_ubuntu 4. 编译example:gcc -o example_curl example_curl.c -L. -lcurl_ubuntu
#########20220127 by allan###############################
1. 由于android ndk中带版本后缀的无法使用,所以新增不带版本的库,在ndk中验证通过,但是对于其他工程没有验证
libcurl_a133_NoVersion.so,libcrypto_a133_NoVersion.so, libssl_a133_NoVersion.so
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#define VERSION_MAXLEN (16 + 1) #define VERSION_MAXLEN (16 + 1)
#define HAL_CID_LEN (64 + 1) #define HAL_CID_LEN (64 + 1)
#define NETWORK_ADDR_LEN (16+1) /* IP�����ַ�ij��� */ #define NETWORK_ADDR_LEN (16+1) /* IP�����ַ�ij��� */
#define MAC_ADDR_LEN (17+1) #define MAC_ADDR_LEN (17+1)
#define SN_ADDR_LEN (32+1) #define SN_ADDR_LEN (32+1)
#define PRODUCT_TPYE "kk" #define PRODUCT_TPYE "kk"
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#define KK_GW_PRODUCTID "gateway_2" #define KK_GW_PRODUCTID "gateway_2"
#define KK_CCU_RANDOM "0000000000" #define KK_CCU_RANDOM "0000000000"
#define KK_CCU_NAME "NEW_CCU" #define KK_CCU_NAME "NEW_CCU"
/*
#ifdef CONFIG_A133_PLATFORM #ifdef CONFIG_A133_PLATFORM
#define KK_DEVICESECRET_PATH "/data/local/kk/kk_deviceSecret.txt" #define KK_DEVICESECRET_PATH "/data/local/kk/kk_deviceSecret.txt"
#define KK_TOKEN_PATH "/data/local/kk/kk_token.txt" #define KK_TOKEN_PATH "/data/local/kk/kk_token.txt"
...@@ -90,6 +90,76 @@ ...@@ -90,6 +90,76 @@
#define KK_DEFAULT_CONFIG_FILE_PATH "/app/ccuApps/config/cloud_default_config.json" #define KK_DEFAULT_CONFIG_FILE_PATH "/app/ccuApps/config/cloud_default_config.json"
#define KK_AUTH_CONFIG_FILE_PATH "/tmp/auth_conf.json" #define KK_AUTH_CONFIG_FILE_PATH "/tmp/auth_conf.json"
#endif #endif
*/
#ifdef CONFIG_A133_PLATFORM
#define STORSGE_DIR "/data/local"
#define GET_CCUID_CMD "getprop app.ccuinfo"//"cat /mnt/private/ULI/factory/ccuinfo.txt"//"getprop ro.ccuinfo"//
#define GET_KEY_CMD "getprop app.ccuinfo"//"cat /mnt/private/ULI/factory/ccuinfo.txt"
#define GET_PRODUCTID_CMD "getprop ro.product.ccu.pid"
#elif CONFIG_8197_PLATFORM
#define STORSGE_DIR "/data"
#define GET_CCUID_CMD "eval `flash get CUSTOMER_HW_KK_OPTION0`; echo $CUSTOMER_HW_KK_OPTION0"
#define GET_KEY_CMD "eval `flash get CUSTOMER_HW_KK_OPTION1`; echo $CUSTOMER_HW_KK_OPTION1"
#define GET_PRODUCTID_CMD "eval `flash get CUSTOMER_HW_KK_OPTION2`; echo $CUSTOMER_HW_KK_OPTION2"
#else
#define STORSGE_DIR "/data"
#define GET_CCUID_CMD "fw_printenv uuid -n"
#define GET_KEY_CMD "fw_printenv key -n"
#define GET_PRODUCTID_CMD "fw_printenv pid -n"
#endif
#define KK_DEVICESECRET_PATH_SUB "kk/kk_deviceSecret.txt"
#define KK_TOKEN_PATH_SUB "kk/kk_token.txt"
#define KK_DEVICE_MAP_FILE_PATH_SUB "kk/map/device_%s.json"
#ifdef CONFIG_NDK
#define KK_DB_FILE_SUB "kk/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/kk_lan_node.db"
#elif CONFIG_A133_PLATFORM
#define KK_DB_FILE_SUB "kk/db/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/db/kk_lan_node.db"
#else
#define KK_DB_FILE_SUB "kk/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/kk_lan_node.db"
#endif
#define TSL_SUBDEVICE_PATH_FILE_SUB "kk/tsl/product_%s.json"
#define TSL_GATEWAY_PATH_FILE_SUB "kk/tsl/gateway_%s.json"
#define TSL_CCU_PATH_FILE_SUB "kk/tsl/ccu_%s.json"
#define TSL_SCENE_PATH_FILE_SUB "kk/tsl/ccu_%s_scene.json"
#define OTA_IMG_PATH_SUB "OTA/"
#define OTA_IMG_FILE_SUB "OTA/app_squashfs.img"
#define OTA_IMG_FILE_MD5_SUB "OTA/app_squashfs.img.md5"
#define KK_CONFIG_FILE_PATH_SUB "kk/kk_cloud_conf.json"
#ifdef CONFIG_NDK
#define KK_DEFAULT_CONFIG_FILE_PATH_SUB "kk/cloud_default_config.json"
#elif
#define KK_DEFAULT_CONFIG_FILE_PATH_SUB "kk/etc/cloud_default_config.json"
#endif
#define KK_AUTH_CONFIG_FILE_PATH_SUB "kk/auth_conf.json"
__attribute__((weak)) char KK_DEVICESECRET_PATH[128] = STORSGE_DIR"/"KK_DEVICESECRET_PATH_SUB;
__attribute__((weak)) char KK_TOKEN_PATH[128] = STORSGE_DIR"/"KK_TOKEN_PATH_SUB;
__attribute__((weak)) char KK_DEVICE_MAP_FILE_PATH[128] = STORSGE_DIR"/"KK_DEVICE_MAP_FILE_PATH_SUB;
__attribute__((weak)) char KK_DB_FILE[128] = STORSGE_DIR"/"KK_DB_FILE_SUB;
__attribute__((weak)) char KK_LAN_NODE_DB_FILE[128] = STORSGE_DIR"/"KK_LAN_NODE_DB_FILE_SUB;
__attribute__((weak)) char TSL_SUBDEVICE_PATH_FILE[128] = STORSGE_DIR"/"TSL_SUBDEVICE_PATH_FILE_SUB;
__attribute__((weak)) char TSL_GATEWAY_PATH_FILE[128] = STORSGE_DIR"/"TSL_GATEWAY_PATH_FILE_SUB;
__attribute__((weak)) char TSL_CCU_PATH_FILE[128] = STORSGE_DIR"/"TSL_CCU_PATH_FILE_SUB;
__attribute__((weak)) char TSL_SCENE_PATH_FILE[128] = STORSGE_DIR"/"TSL_SCENE_PATH_FILE_SUB;
__attribute__((weak)) char OTA_IMG_PATH[128] = STORSGE_DIR"/"OTA_IMG_PATH_SUB;
__attribute__((weak)) char OTA_IMG_FILE[128] = STORSGE_DIR"/"OTA_IMG_FILE_SUB;
__attribute__((weak)) char OTA_IMG_FILE_MD5[128] = STORSGE_DIR"/"OTA_IMG_FILE_MD5_SUB;
__attribute__((weak)) char KK_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_CONFIG_FILE_PATH_SUB;
#ifdef CONFIG_A133_PLATFORM
__attribute__((weak)) char KK_DEFAULT_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_DEFAULT_CONFIG_FILE_PATH_SUB;
__attribute__((weak)) char KK_AUTH_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_AUTH_CONFIG_FILE_PATH_SUB;
#else
__attribute__((weak)) char KK_DEFAULT_CONFIG_FILE_PATH[128] = "/app/ccuApps/config/cloud_default_config.json";
__attribute__((weak)) char KK_AUTH_CONFIG_FILE_PATH[128] = "/tmp/auth_conf.json";
#endif
enum { enum {
DEVICE_OFFLINE = 0, DEVICE_OFFLINE = 0,
......
##########20220127 by allan##################################
1. 由于android ndk中带版本后缀的无法使用,所以新增不带版本的库,使用通用未验证
libnanomsg_a133_NoVersion.so
\ No newline at end of file
LIBA_TARGET := libsqlite.a ifeq ($(CONFIG_MODEL),a133_ndk)
\ No newline at end of file LIBSO_TARGET := libsqlite.so
else
LIBA_TARGET := libsqlite.a
endif
\ No newline at end of file
...@@ -23,7 +23,7 @@ SUBDIRS += common/nanomsg ...@@ -23,7 +23,7 @@ SUBDIRS += common/nanomsg
SUBDIRS += common/ev SUBDIRS += common/ev
SUBDIRS += common/sqlite SUBDIRS += common/sqlite
SUBDIRS += common/hal SUBDIRS += common/hal
#SUBDIRS += factory_test_src/src SUBDIRS += midware/tsl
#SUBDIRS += common/zlog #SUBDIRS += common/zlog
#SUBDIRS += platform/zigbee #SUBDIRS += platform/zigbee
......
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libmid.so
else
LIBA_TARGET := libmid.a LIBA_TARGET := libmid.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, midware.c) $(call Append_Conditional, LIB_SRCS_EXCLUDE, midware.c)
$(call Append_Conditional, SRCS_kk_midware, midware.c) $(call Append_Conditional, SRCS_kk_midware, midware.c)
$(call Append_Conditional, TARGET, kk_midware) $(call Append_Conditional, TARGET, kk_midware)
endif
CFLAGS += -I$(TOP_DIR)/common/nanomsg/include CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include CFLAGS += -I$(TOP_DIR)/common/ev/include
...@@ -27,6 +31,10 @@ else ifeq ($(CONFIG_MODEL),a133) ...@@ -27,6 +31,10 @@ else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133 LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133 LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133 LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
* *
*文件名称: midware.c *文件名称: midware.c
*内容摘要: 数据中转中心,上对云端,下对网关,承上启下 *内容摘要: 数据中转中心,上对云端,下对网关,承上启下
*其他说明: *其他说明:
*当前版本: *当前版本:
*************************************************************/ *************************************************************/
...@@ -44,24 +44,24 @@ ...@@ -44,24 +44,24 @@
#include "kk_motor_bind_db.h" #include "kk_motor_bind_db.h"
int g_timezone = 8; int g_timezone = 8;
char * g_filerToPlatTable[] = char * g_filerToPlatTable[] =
{ {
(char *){KK_REGISTER_TOPIC_REPLY}, (char *){KK_REGISTER_TOPIC_REPLY},
(char *){KK_ADD_TOPIC_REPLY}, (char *){KK_ADD_TOPIC_REPLY},
(char *){KK_LOGIN_TOPIC_REPLY}, (char *){KK_LOGIN_TOPIC_REPLY},
(char *){KK_THING_SERVICE_PROPERTY_GET}, (char *){KK_THING_SERVICE_PROPERTY_GET},
(char *){KK_THING_CLOUDSTATE_MSG}, (char *){KK_THING_CLOUDSTATE_MSG},
(char *){KK_THING_CLOUDHB_MSG}, (char *){KK_THING_CLOUDHB_MSG},
(char *){KK_THING_SERVICE_ADDSCENC}, (char *){KK_THING_SERVICE_ADDSCENC},
(char *){KK_THING_SERVICE_UPDATESCENC}, (char *){KK_THING_SERVICE_UPDATESCENC},
(char *){KK_THING_SERVICE_DELETESCENC}, (char *){KK_THING_SERVICE_DELETESCENC},
(char *){KK_THING_SERVICE_NEGATIVE}, (char *){KK_THING_SERVICE_NEGATIVE},
(char *){KK_THING_SERVICE_SYNCINFO}, (char *){KK_THING_SERVICE_SYNCINFO},
(char *){KK_THING_SERVICE_BINDSCENE}, (char *){KK_THING_SERVICE_BINDSCENE},
(char *){KK_THING_SERVICE_UNBINDSBUTTTON}, (char *){KK_THING_SERVICE_UNBINDSBUTTTON},
(char *){KK_THING_SERVICE_ACTIVEBUTTON}, (char *){KK_THING_SERVICE_ACTIVEBUTTON},
(char *){KK_THING_SERVICE_HISTORYALARM}, (char *){KK_THING_SERVICE_HISTORYALARM},
(char *){KK_THING_SERVICE_DEL_HISTORYALARM}, (char *){KK_THING_SERVICE_DEL_HISTORYALARM},
}; };
static char s_ccuid[DEVICE_CODE_LEN] = {0}; static char s_ccuid[DEVICE_CODE_LEN] = {0};
static char s_Version[VERSION_MAXLEN] = {0}; static char s_Version[VERSION_MAXLEN] = {0};
...@@ -111,7 +111,7 @@ int HAL_GetVersion(_OU_ char *version) ...@@ -111,7 +111,7 @@ int HAL_GetVersion(_OU_ char *version)
} }
int HAL_Get_ccuid(_OU_ char *device_code) int HAL_Get_ccuid(_OU_ char *device_code)
{ {
strncpy(device_code, s_ccuid, strlen(s_ccuid)); strncpy(device_code, s_ccuid, strlen(s_ccuid));
printf("HAL_Get_ccuid:%s\n",s_ccuid); printf("HAL_Get_ccuid:%s\n",s_ccuid);
return strlen(s_ccuid); return strlen(s_ccuid);
...@@ -208,7 +208,7 @@ void kk_print_long_data(char *data,int len) ...@@ -208,7 +208,7 @@ void kk_print_long_data(char *data,int len)
pTmp = malloc(KK_PRINTF_PER_LEN+1); pTmp = malloc(KK_PRINTF_PER_LEN+1);
if(pTmp == NULL){ if(pTmp == NULL){
return; return;
} }
while(1) while(1)
{ {
memset(pTmp,0x0,KK_PRINTF_PER_LEN+1); memset(pTmp,0x0,KK_PRINTF_PER_LEN+1);
...@@ -261,15 +261,15 @@ void split(char *src,const char *separator,char **dest,int *num) { ...@@ -261,15 +261,15 @@ void split(char *src,const char *separator,char **dest,int *num) {
if (src == NULL || strlen(src) == 0) if (src == NULL || strlen(src) == 0)
return; return;
if (separator == NULL || strlen(separator) == 0) if (separator == NULL || strlen(separator) == 0)
return; return;
pNext = strtok(src,separator); pNext = strtok(src,separator);
while(pNext != NULL) { while(pNext != NULL) {
*dest++ = pNext; *dest++ = pNext;
++count; ++count;
pNext = strtok(NULL,separator); pNext = strtok(NULL,separator);
} }
*num = count; *num = count;
} }
/************************************************************ /************************************************************
*功能描述:属性参数校验 *功能描述:属性参数校验
*输入参数:payload:消息内容 *输入参数:payload:消息内容
...@@ -280,9 +280,9 @@ void split(char *src,const char *separator,char **dest,int *num) { ...@@ -280,9 +280,9 @@ void split(char *src,const char *separator,char **dest,int *num) {
*************************************************************/ *************************************************************/
static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
cJSON *params = NULL; cJSON *params = NULL;
dm_mgr_dev_node_t *node = NULL; dm_mgr_dev_node_t *node = NULL;
kk_tsl_data_t *property = NULL; kk_tsl_data_t *property = NULL;
cJSON *propertyItem = NULL; cJSON *propertyItem = NULL;
cJSON *epNum = NULL; cJSON *epNum = NULL;
int epNumInt = 1; int epNumInt = 1;
int num = 0; int num = 0;
...@@ -308,7 +308,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -308,7 +308,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
if(res != SUCCESS_RETURN) if(res != SUCCESS_RETURN)
{ {
ERROR_PRINT(" error res:%d\n",res); ERROR_PRINT(" error res:%d\n",res);
} }
char tmpValue[16] = {0}; char tmpValue[16] = {0};
sprintf(tmpValue,"%d",level); sprintf(tmpValue,"%d",level);
kk_property_db_update_value(deviceCode,"SensorType",tmpValue); kk_property_db_update_value(deviceCode,"SensorType",tmpValue);
...@@ -346,12 +346,12 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -346,12 +346,12 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
complex_struct = property->data_value.value; complex_struct = property->data_value.value;
for (index = 0; index < complex_struct->size; index++) { for (index = 0; index < complex_struct->size; index++) {
current_data = (kk_tsl_data_t *)complex_struct->value + index; current_data = (kk_tsl_data_t *)complex_struct->value + index;
cJSON *propertyItem_1 = NULL; cJSON *propertyItem_1 = NULL;
propertyItem_1 = cJSON_GetObjectItem(propertyItem, current_data->identifier); propertyItem_1 = cJSON_GetObjectItem(propertyItem, current_data->identifier);
if(propertyItem_1 == NULL){ if(propertyItem_1 == NULL){
continue; continue;
} }
if(current_data->data_value.type != KK_TSL_DATA_TYPE_STRUCT){ if(current_data->data_value.type != KK_TSL_DATA_TYPE_STRUCT){
if(current_data->data_value.type == KK_TSL_DATA_TYPE_INT){ if(current_data->data_value.type == KK_TSL_DATA_TYPE_INT){
value = propertyItem_1->valueint; value = propertyItem_1->valueint;
...@@ -362,7 +362,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -362,7 +362,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
} }
else if(current_data->data_value.type == KK_TSL_DATA_TYPE_TEXT){ else if(current_data->data_value.type == KK_TSL_DATA_TYPE_TEXT){
if(strlen(propertyItem_1->valuestring) > current_data->data_value.length ){ if(strlen(propertyItem_1->valuestring) > current_data->data_value.length ){
ERROR_PRINT("ERROR !!!strlen(propertyItem_1->valuestring):%d,current_data->data_value.length:%d\n",strlen(propertyItem_1->valuestring),current_data->data_value.length); ERROR_PRINT("ERROR !!!strlen(propertyItem_1->valuestring):%d,current_data->data_value.length:%d\n",strlen(propertyItem_1->valuestring),current_data->data_value.length);
return INVALID_PARAMETER; return INVALID_PARAMETER;
} }
...@@ -375,7 +375,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -375,7 +375,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
complex_struct_1 = current_data->data_value.value; complex_struct_1 = current_data->data_value.value;
for(index_1 = 0; index_1 < complex_struct_1->size; index_1++){ for(index_1 = 0; index_1 < complex_struct_1->size; index_1++){
current_data_1 = (kk_tsl_data_t *)complex_struct_1->value + index_1; current_data_1 = (kk_tsl_data_t *)complex_struct_1->value + index_1;
cJSON *propertyItem_2 = NULL; cJSON *propertyItem_2 = NULL;
propertyItem_2 = cJSON_GetObjectItem(propertyItem_1, current_data_1->identifier); propertyItem_2 = cJSON_GetObjectItem(propertyItem_1, current_data_1->identifier);
if(propertyItem_2 == NULL){ if(propertyItem_2 == NULL){
continue; continue;
...@@ -389,7 +389,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -389,7 +389,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
} }
else if(current_data_1->data_value.type == KK_TSL_DATA_TYPE_TEXT){ else if(current_data_1->data_value.type == KK_TSL_DATA_TYPE_TEXT){
if(strlen(propertyItem_2->valuestring) > current_data_1->data_value.length ){ if(strlen(propertyItem_2->valuestring) > current_data_1->data_value.length ){
ERROR_PRINT("ERROR !!!strlen(propertyItem_2->valuestring):%d,propertyItem_2->data_value.length:%d\n",strlen(propertyItem_2->valuestring),current_data_1->data_value.length); ERROR_PRINT("ERROR !!!strlen(propertyItem_2->valuestring):%d,propertyItem_2->data_value.length:%d\n",strlen(propertyItem_2->valuestring),current_data_1->data_value.length);
return INVALID_PARAMETER; return INVALID_PARAMETER;
} }
...@@ -429,12 +429,12 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -429,12 +429,12 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
INFO_PRINT("-----------------KK_TSL_DATA_TYPE_TEXT-------------------\n"); INFO_PRINT("-----------------KK_TSL_DATA_TYPE_TEXT-------------------\n");
cJSON_AddStringToObject(params,property->identifier,propertyItem->valuestring); cJSON_AddStringToObject(params,property->identifier,propertyItem->valuestring);
cJSON_DeleteItemFromObject(params, propertiesbuf[0]); cJSON_DeleteItemFromObject(params, propertiesbuf[0]);
} }
else if(property->data_value.type == KK_TSL_DATA_TYPE_ENUM || property->data_value.type == KK_TSL_DATA_TYPE_BOOL){ else if(property->data_value.type == KK_TSL_DATA_TYPE_ENUM || property->data_value.type == KK_TSL_DATA_TYPE_BOOL){
INFO_PRINT("-----------------KK_TSL_DATA_TYPE_ENUM-------------------\n"); INFO_PRINT("-----------------KK_TSL_DATA_TYPE_ENUM-------------------\n");
cJSON_AddNumberToObject(params,property->identifier,propertyItem->valueint); cJSON_AddNumberToObject(params,property->identifier,propertyItem->valueint);
cJSON_DeleteItemFromObject(params, propertiesbuf[0]); cJSON_DeleteItemFromObject(params, propertiesbuf[0]);
} }
} }
} }
} }
...@@ -444,7 +444,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -444,7 +444,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
//ERROR_PRINT("ERROR !!!property->accessMode:%s\n",property->accessMode); //ERROR_PRINT("ERROR !!!property->accessMode:%s\n",property->accessMode);
//return INVALID_PARAMETER; //return INVALID_PARAMETER;
//} //}
//} //}
} }
...@@ -463,7 +463,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){ ...@@ -463,7 +463,7 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId) static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId)
{ {
int res = 0; int res = 0;
dm_mgr_dev_node_t *node = NULL; dm_mgr_dev_node_t *node = NULL;
dm_mgr_dev_node_t *gw_node = NULL; dm_mgr_dev_node_t *gw_node = NULL;
char msgId[MSG_MAX_LEN] = {0}; char msgId[MSG_MAX_LEN] = {0};
char sceneId[33] = {0}; char sceneId[33] = {0};
...@@ -474,7 +474,7 @@ static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId) ...@@ -474,7 +474,7 @@ static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId)
cJSON *payload = cJSON_CreateObject(); cJSON *payload = cJSON_CreateObject();
cJSON *paras = cJSON_CreateObject(); cJSON *paras = cJSON_CreateObject();
if(SUCCESS_RETURN!=dm_mgr_get_device_by_devicecode((char*)deviceCode,&node)){ if(SUCCESS_RETURN!=dm_mgr_get_device_by_devicecode((char*)deviceCode,&node)){
return -1; return -1;
} }
...@@ -512,7 +512,7 @@ static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId) ...@@ -512,7 +512,7 @@ static int kk_panel_bind_motor_delete(const char* deviceCode,int dummyId)
static int kk_panel_bind_motor_add_actions(const char* deviceCode,cJSON* actions,int dummyId) static int kk_panel_bind_motor_add_actions(const char* deviceCode,cJSON* actions,int dummyId)
{ {
int res = 0; int res = 0;
dm_mgr_dev_node_t *node = NULL; dm_mgr_dev_node_t *node = NULL;
dm_mgr_dev_node_t *gw_node = NULL; dm_mgr_dev_node_t *gw_node = NULL;
char msgId[MSG_MAX_LEN] = {0}; char msgId[MSG_MAX_LEN] = {0};
char sceneId[33] = {0}; char sceneId[33] = {0};
...@@ -522,7 +522,7 @@ static int kk_panel_bind_motor_add_actions(const char* deviceCode,cJSON* actions ...@@ -522,7 +522,7 @@ static int kk_panel_bind_motor_add_actions(const char* deviceCode,cJSON* actions
cJSON *info = cJSON_CreateObject(); cJSON *info = cJSON_CreateObject();
cJSON *payload = cJSON_CreateObject(); cJSON *payload = cJSON_CreateObject();
cJSON *paras = cJSON_CreateObject(); cJSON *paras = cJSON_CreateObject();
if(SUCCESS_RETURN!=dm_mgr_get_device_by_devicecode((char*)deviceCode,&node)){ if(SUCCESS_RETURN!=dm_mgr_get_device_by_devicecode((char*)deviceCode,&node)){
return -1; return -1;
} }
...@@ -563,7 +563,7 @@ static int kk_panel_bind_motor_add(const char* deviceCode,int epNum,int dummyId) ...@@ -563,7 +563,7 @@ static int kk_panel_bind_motor_add(const char* deviceCode,int epNum,int dummyId)
struct kk_motor_bind_info *info = (struct kk_motor_bind_info *)malloc(sizeof(struct kk_motor_bind_info)*KK_MOTOR_BIND_INFO_MAX); struct kk_motor_bind_info *info = (struct kk_motor_bind_info *)malloc(sizeof(struct kk_motor_bind_info)*KK_MOTOR_BIND_INFO_MAX);
int info_size = kk_motor_bind_db_find_ex(dummyId,info,KK_MOTOR_BIND_INFO_MAX); int info_size = kk_motor_bind_db_find_ex(dummyId,info,KK_MOTOR_BIND_INFO_MAX);
cJSON *actionsAry = cJSON_CreateArray(); cJSON *actionsAry = cJSON_CreateArray();
item = cJSON_CreateObject(); item = cJSON_CreateObject();
cJSON_AddStringToObject(item,"deviceCode",deviceCode); cJSON_AddStringToObject(item,"deviceCode",deviceCode);
...@@ -612,7 +612,7 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms ...@@ -612,7 +612,7 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms
} }
if((actions = cJSON_GetObjectItem(param,"actions"))==NULL|| if((actions = cJSON_GetObjectItem(param,"actions"))==NULL||
actions->type!=cJSON_Array){ actions->type!=cJSON_Array){
INFO_PRINT("[ERR] actions \n"); INFO_PRINT("[ERR] actions \n");
return -1; return -1;
} }
...@@ -627,10 +627,10 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms ...@@ -627,10 +627,10 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms
} }
free(info); free(info);
kk_motor_bind_db_delete_ex(panel_dCode->valuestring); kk_motor_bind_db_delete_ex(panel_dCode->valuestring);
} }
actionCnt = cJSON_GetArraySize(actions); actionCnt = cJSON_GetArraySize(actions);
for(i=0;i<actionCnt;i++){ for(i=0;i<actionCnt;i++){
actionItem = cJSON_GetArrayItem(actions,i); actionItem = cJSON_GetArrayItem(actions,i);
...@@ -638,7 +638,7 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms ...@@ -638,7 +638,7 @@ int kk_service_panel_bind_motor_handle(cJSON *deviceCode,cJSON *param,cJSON * ms
INFO_PRINT("[ERR] item \n"); INFO_PRINT("[ERR] item \n");
continue; continue;
} }
motor_dCode = cJSON_GetObjectItem(actionItem,"deviceCode"); motor_dCode = cJSON_GetObjectItem(actionItem,"deviceCode");
if(motor_dCode==NULL||motor_dCode->type!=cJSON_String){ if(motor_dCode==NULL||motor_dCode->type!=cJSON_String){
INFO_PRINT("[ERR] motor_dCode \n"); INFO_PRINT("[ERR] motor_dCode \n");
...@@ -689,9 +689,9 @@ int kk_service_query_bind_motor(cJSON *deviceCode,cJSON *param,struct kk_motor_b ...@@ -689,9 +689,9 @@ int kk_service_query_bind_motor(cJSON *deviceCode,cJSON *param,struct kk_motor_b
if(deviceCode==NULL||deviceCode->type!=cJSON_String){ if(deviceCode==NULL||deviceCode->type!=cJSON_String){
return -1; return -1;
} }
panel_dCode = deviceCode; panel_dCode = deviceCode;
if(param!=NULL){ if(param!=NULL){
if(param->type!=cJSON_Object){ if(param->type!=cJSON_Object){
return -1; return -1;
...@@ -707,7 +707,7 @@ int kk_service_query_bind_motor(cJSON *deviceCode,cJSON *param,struct kk_motor_b ...@@ -707,7 +707,7 @@ int kk_service_query_bind_motor(cJSON *deviceCode,cJSON *param,struct kk_motor_b
} }
info_size = kk_motor_bind_db_find(panel_dCode->valuestring,panel_ep,info,max); info_size = kk_motor_bind_db_find(panel_dCode->valuestring,panel_ep,info,max);
return info_size; return info_size;
} }
...@@ -727,22 +727,22 @@ int kk_dm_device_subdev_filter(char *data) ...@@ -727,22 +727,22 @@ int kk_dm_device_subdev_filter(char *data)
WARNING_PRINT("Error before: [%s]\n","cJSON_Parse"); WARNING_PRINT("Error before: [%s]\n","cJSON_Parse");
return -1; return -1;
} }
if((info_root = cJSON_GetObjectItem(json, "info")) == NULL) if((info_root = cJSON_GetObjectItem(json, "info")) == NULL)
return -1; return -1;
if((typeJson = cJSON_GetObjectItem(info_root, "msgtype"))== NULL) if((typeJson = cJSON_GetObjectItem(info_root, "msgtype"))== NULL)
return -1; return -1;
if((payload = cJSON_GetObjectItem(json, "payload")) == NULL) if((payload = cJSON_GetObjectItem(json, "payload")) == NULL)
return -1; return -1;
payload_Str = cJSON_Print(payload); payload_Str = cJSON_Print(payload);
if((deviceCode = cJSON_GetObjectItem(info_root, "deviceCode")) == NULL) if((deviceCode = cJSON_GetObjectItem(info_root, "deviceCode")) == NULL)
return -1; return -1;
if(strcmp(typeJson->valuestring,KK_THING_SERVICE_REBIND_MOTORS) == 0){ if(strcmp(typeJson->valuestring,KK_THING_SERVICE_REBIND_MOTORS) == 0){
INFO_PRINT("REBIND_MOTORS \n"); INFO_PRINT("REBIND_MOTORS \n");
cJSON *msgId = cJSON_GetObjectItem(payload, "msgId"); cJSON *msgId = cJSON_GetObjectItem(payload, "msgId");
cJSON *paramStr = cJSON_GetObjectItem(payload,"params"); cJSON *paramStr = cJSON_GetObjectItem(payload,"params");
kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_REBIND_MOTORS); kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_REBIND_MOTORS);
kk_service_common_reply(info_root,msgId,KK_THING_SERVICE_REBIND_MOTORS_REPLY); kk_service_common_reply(info_root,msgId,KK_THING_SERVICE_REBIND_MOTORS_REPLY);
} }
...@@ -750,7 +750,7 @@ int kk_dm_device_subdev_filter(char *data) ...@@ -750,7 +750,7 @@ int kk_dm_device_subdev_filter(char *data)
INFO_PRINT("ADDBIND_MOTOR \n"); INFO_PRINT("ADDBIND_MOTOR \n");
deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR); deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR);
cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID); cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID);
cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR); cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR);
kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_ADDBIND_MOTORS); kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_ADDBIND_MOTORS);
...@@ -759,14 +759,14 @@ int kk_dm_device_subdev_filter(char *data) ...@@ -759,14 +759,14 @@ int kk_dm_device_subdev_filter(char *data)
INFO_PRINT("UNBIND_MOTORS \n"); INFO_PRINT("UNBIND_MOTORS \n");
deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR); deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR);
cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID); cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID);
cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR); cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR);
kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_UNBIND_MOTORS); kk_service_panel_bind_motor_handle(deviceCode,paramStr,msgId,KK_SERVICE_UNBIND_MOTORS);
kk_service_common_reply(info_root,msgId,KK_THING_SERVICE_UNBIND_MOTORS_REPLY); kk_service_common_reply(info_root,msgId,KK_THING_SERVICE_UNBIND_MOTORS_REPLY);
}else if(strcmp(typeJson->valuestring,KK_THING_SERVICE_QUERY_BIND_MOTORS) == 0){ }else if(strcmp(typeJson->valuestring,KK_THING_SERVICE_QUERY_BIND_MOTORS) == 0){
INFO_PRINT("QUERY_BIND_MOTORS \n"); INFO_PRINT("QUERY_BIND_MOTORS \n");
cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID); cJSON *msgId = cJSON_GetObjectItem(payload, MSG_COMMON_MSGID);
cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR); cJSON *paramStr = cJSON_GetObjectItem(payload,MSG_PARAMS_STR);
struct kk_motor_bind_info *info = (struct kk_motor_bind_info *)malloc(sizeof(struct kk_motor_bind_info)*KK_MOTOR_BIND_INFO_MAX); struct kk_motor_bind_info *info = (struct kk_motor_bind_info *)malloc(sizeof(struct kk_motor_bind_info)*KK_MOTOR_BIND_INFO_MAX);
...@@ -782,11 +782,11 @@ int kk_dm_device_subdev_filter(char *data) ...@@ -782,11 +782,11 @@ int kk_dm_device_subdev_filter(char *data)
kk_service_common_reply_ex(info_root,msgId,KK_THING_SERVICE_QUERY_BIND_MOTORS_REPLY,ary); kk_service_common_reply_ex(info_root,msgId,KK_THING_SERVICE_QUERY_BIND_MOTORS_REPLY,ary);
free(info); free(info);
}else{ }else{
return -1; return -1;
} }
return 0; return 0;
} }
...@@ -800,7 +800,7 @@ static int kk_get_ccu_info_reply(cJSON *param,char *msgType) ...@@ -800,7 +800,7 @@ static int kk_get_ccu_info_reply(cJSON *param,char *msgType)
if(param == NULL){ if(param == NULL){
return INVALID_PARAMETER; return INVALID_PARAMETER;
} }
cJSON *info = cJSON_CreateObject(); cJSON *info = cJSON_CreateObject();
cJSON_AddStringToObject(info, MSG_TYPE_STR, msgType); cJSON_AddStringToObject(info, MSG_TYPE_STR, msgType);
char *infff=cJSON_Print(info); char *infff=cJSON_Print(info);
...@@ -848,7 +848,7 @@ void mid_cb(void* data, int len){ ...@@ -848,7 +848,7 @@ void mid_cb(void* data, int len){
} }
deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR); deviceCode = cJSON_GetObjectItem(info_root, MSG_DEVICE_CODE_STR);
type = cJSON_GetObjectItem(info_root, MSG_TYPE_STR); type = cJSON_GetObjectItem(info_root, MSG_TYPE_STR);
if (deviceCode == NULL || type == NULL){ if (deviceCode == NULL || type == NULL){
ERROR_PRINT(" params [%s] or [%s] can't find \n",MSG_DEVICE_CODE_STR, MSG_TYPE_STR); ERROR_PRINT(" params [%s] or [%s] can't find \n",MSG_DEVICE_CODE_STR, MSG_TYPE_STR);
cJSON_Delete(json); cJSON_Delete(json);
...@@ -860,7 +860,7 @@ void mid_cb(void* data, int len){ ...@@ -860,7 +860,7 @@ void mid_cb(void* data, int len){
cJSON_Delete(json); cJSON_Delete(json);
return; return;
} }
if (strcmp(type->valuestring, KK_THING_SERVICE_GET_CCU_INFO)==0){ if (strcmp(type->valuestring, KK_THING_SERVICE_GET_CCU_INFO)==0){
cJSON *param = dm_mgr_get_ccu_info(); cJSON *param = dm_mgr_get_ccu_info();
kk_get_ccu_info_reply(param,KK_THING_SERVICE_GET_CCU_INFO_REPLY); kk_get_ccu_info_reply(param,KK_THING_SERVICE_GET_CCU_INFO_REPLY);
...@@ -868,7 +868,7 @@ void mid_cb(void* data, int len){ ...@@ -868,7 +868,7 @@ void mid_cb(void* data, int len){
return; return;
} }
/*****属性设置需要先检测设置参数是否超出物模型给定范围*******/ /*****属性设置需要先检测设置参数是否超出物模型给定范围*******/
if (strcmp(type->valuestring, KK_THING_SERVICE_PROPERTY_SET)==0){ if (strcmp(type->valuestring, KK_THING_SERVICE_PROPERTY_SET)==0){
res = kk_property_set_data_check(payload,deviceCode->valuestring); res = kk_property_set_data_check(payload,deviceCode->valuestring);
...@@ -959,7 +959,7 @@ void mid2p_cb(void* data, int len, char* chalMark){ ...@@ -959,7 +959,7 @@ void mid2p_cb(void* data, int len, char* chalMark){
ERROR_PRINT("mid2p_cb malloc buf failed "); ERROR_PRINT("mid2p_cb malloc buf failed ");
return; return;
} }
memcpy(buf, data, len); memcpy(buf, data, len);
queue_msg->data = buf; queue_msg->data = buf;
memset(queue_msg->chalMark, 0, sizeof(queue_msg->chalMark)); memset(queue_msg->chalMark, 0, sizeof(queue_msg->chalMark));
...@@ -973,7 +973,7 @@ void mid2p_cb(void* data, int len, char* chalMark){ ...@@ -973,7 +973,7 @@ void mid2p_cb(void* data, int len, char* chalMark){
buf = NULL; buf = NULL;
return ; return ;
} }
//kk_ipc_send(IPC_MID2APP, data, len); //kk_ipc_send(IPC_MID2APP, data, len);
} }
} }
...@@ -1017,7 +1017,7 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char ...@@ -1017,7 +1017,7 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char
cJSON_AddStringToObject(info, MSG_TYPE_STR, "/thing/event/alarmNotify"); cJSON_AddStringToObject(info, MSG_TYPE_STR, "/thing/event/alarmNotify");
cJSON_AddStringToObject(info, MSG_DEVICE_CODE_STR, node->deviceCode); cJSON_AddStringToObject(info, MSG_DEVICE_CODE_STR, node->deviceCode);
cJSON_AddStringToObject(info, MSG_PRODUCT_CODE_STR, node->productCode); cJSON_AddStringToObject(info, MSG_PRODUCT_CODE_STR, node->productCode);
char *infff=cJSON_Print(info); char *infff=cJSON_Print(info);
cJSON *payload = cJSON_CreateObject(); cJSON *payload = cJSON_CreateObject();
cJSON_AddStringToObject(payload, "method", "thing.event.alarmNotify"); cJSON_AddStringToObject(payload, "method", "thing.event.alarmNotify");
...@@ -1025,11 +1025,11 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char ...@@ -1025,11 +1025,11 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char
cJSON_AddStringToObject(payload, "identifier", "alarmNotify"); cJSON_AddStringToObject(payload, "identifier", "alarmNotify");
char msgId[64] = {0}; char msgId[64] = {0};
iotx_report_id(msgId); iotx_report_id(msgId);
cJSON_AddStringToObject(payload, "msgId", msgId); cJSON_AddStringToObject(payload, "msgId", msgId);
//char timerStr[16] = {0}; //char timerStr[16] = {0};
//HAL_GetTime_s(timerStr); //HAL_GetTime_s(timerStr);
cJSON_AddNumberToObject(payload, "time", HAL_GetTime_ms()); cJSON_AddNumberToObject(payload, "time", HAL_GetTime_ms());
cJSON *param = cJSON_CreateObject(); cJSON *param = cJSON_CreateObject();
if(strcmp(identifier,"BatteryAlarm") == 0){ if(strcmp(identifier,"BatteryAlarm") == 0){
cJSON_AddStringToObject(param, "LowBatteryState", "1"); cJSON_AddStringToObject(param, "LowBatteryState", "1");
...@@ -1054,7 +1054,7 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char ...@@ -1054,7 +1054,7 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char
} }
else if(strcmp(identifier,"SmokeSensorState") == 0 && atoi(valueBuf) == 0){ else if(strcmp(identifier,"SmokeSensorState") == 0 && atoi(valueBuf) == 0){
cJSON_AddStringToObject(param, "CommonAlarmState", "0"); cJSON_AddStringToObject(param, "CommonAlarmState", "0");
} }
else if(strcmp(identifier,"GasSensorState") == 0 && atoi(valueBuf) == 0){ else if(strcmp(identifier,"GasSensorState") == 0 && atoi(valueBuf) == 0){
cJSON_AddStringToObject(param, "CommonAlarmState", "0"); cJSON_AddStringToObject(param, "CommonAlarmState", "0");
} }
...@@ -1108,14 +1108,14 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char ...@@ -1108,14 +1108,14 @@ static int kk_alarm_notify_handle(dm_mgr_dev_node_t *node,char *identifier,char
free(payload11); free(payload11);
free(infff); free(infff);
cJSON_Delete(payload); cJSON_Delete(payload);
cJSON_Delete(info); cJSON_Delete(info);
return 0; return 0;
} }
static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type) static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type)
{ {
dm_mgr_dev_node_t *node = NULL; dm_mgr_dev_node_t *node = NULL;
kk_tsl_data_t *property = NULL; kk_tsl_data_t *property = NULL;
cJSON *propertyItem = NULL; cJSON *propertyItem = NULL;
int res = 0; int res = 0;
int idx = 0; int idx = 0;
int epNumInt = 0; int epNumInt = 0;
...@@ -1124,11 +1124,11 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type) ...@@ -1124,11 +1124,11 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type)
cJSON *eps = cJSON_GetObjectItem(params, "eps"); cJSON *eps = cJSON_GetObjectItem(params, "eps");
if(eps == NULL || eps->type != cJSON_Array){ if(eps == NULL || eps->type != cJSON_Array){
return FAIL_RETURN; return FAIL_RETURN;
} }
res = dm_mgr_get_device_by_devicecode(deviceCode,&node); res = dm_mgr_get_device_by_devicecode(deviceCode,&node);
if (res < SUCCESS_RETURN) { if (res < SUCCESS_RETURN) {
return FAIL_RETURN; return FAIL_RETURN;
} }
cJSON *client_list = eps->child; cJSON *client_list = eps->child;
while(client_list != NULL){ while(client_list != NULL){
cJSON *epNum = cJSON_GetObjectItem(client_list, "epNum"); cJSON *epNum = cJSON_GetObjectItem(client_list, "epNum");
...@@ -1171,7 +1171,7 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type) ...@@ -1171,7 +1171,7 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type)
kk_subAirSwitch_db_update_value(deviceCode,property->identifier,valBuf,epNumInt); kk_subAirSwitch_db_update_value(deviceCode,property->identifier,valBuf,epNumInt);
}else if(type == 2){ }else if(type == 2){
kk_subFreshAir_db_update_value(deviceCode,property->identifier,valBuf,epNumInt); kk_subFreshAir_db_update_value(deviceCode,property->identifier,valBuf,epNumInt);
} }
}else if(property->data_value.type == KK_TSL_DATA_TYPE_TEXT ){ }else if(property->data_value.type == KK_TSL_DATA_TYPE_TEXT ){
if(type == 0){ if(type == 0){
kk_indoorAir_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt); kk_indoorAir_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt);
...@@ -1179,10 +1179,10 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type) ...@@ -1179,10 +1179,10 @@ static int kk_subDevice_property_save(cJSON *payload,char *deviceCode,int type)
kk_subAirSwitch_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt); kk_subAirSwitch_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt);
}else if(type == 2){ }else if(type == 2){
kk_subFreshAir_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt); kk_subFreshAir_db_update_value(deviceCode,property->identifier,propertyItem->valuestring,epNumInt);
} }
} }
} }
} }
client_list = client_list->next; client_list = client_list->next;
} }
...@@ -1233,7 +1233,7 @@ static int kk_indoorAir_online_handle(dm_mgr_dev_node_t *node ,char *deviceCode, ...@@ -1233,7 +1233,7 @@ static int kk_indoorAir_online_handle(dm_mgr_dev_node_t *node ,char *deviceCode,
continue; continue;
} }
kk_indoorAir_db_insert(deviceCode,property->identifier,property->data_value.type,epNum); kk_indoorAir_db_insert(deviceCode,property->identifier,property->data_value.type,epNum);
} }
gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息 gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息
if(gwExist){ if(gwExist){
char name[128] = {0}; char name[128] = {0};
...@@ -1261,7 +1261,7 @@ static int kk_subAirSwitch_online_handle(dm_mgr_dev_node_t *node ,char *deviceCo ...@@ -1261,7 +1261,7 @@ static int kk_subAirSwitch_online_handle(dm_mgr_dev_node_t *node ,char *deviceCo
continue; continue;
} }
kk_subAirSwitch_db_insert(deviceCode,property->identifier,property->data_value.type,epNum); kk_subAirSwitch_db_insert(deviceCode,property->identifier,property->data_value.type,epNum);
} }
gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息 gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息
if(gwExist){ if(gwExist){
char name[128] = {0}; char name[128] = {0};
...@@ -1289,7 +1289,7 @@ static int kk_subFreshair_online_handle(dm_mgr_dev_node_t *node ,char *deviceCod ...@@ -1289,7 +1289,7 @@ static int kk_subFreshair_online_handle(dm_mgr_dev_node_t *node ,char *deviceCod
continue; continue;
} }
kk_subFreshAir_db_insert(deviceCode,property->identifier,property->data_value.type,epNum); kk_subFreshAir_db_insert(deviceCode,property->identifier,property->data_value.type,epNum);
} }
gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息 gwExist = kk_get_device_roomInfo(deviceCode,1,roomName,roomId);//获取网关房间信息
if(gwExist){ if(gwExist){
char name[128] = {0}; char name[128] = {0};
...@@ -1330,18 +1330,18 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1330,18 +1330,18 @@ void kk_platMsg_handle(void* data, char* chalMark){
ERROR_PRINT("msgType info_dcode or jsonPay params are error\n"); ERROR_PRINT("msgType info_dcode or jsonPay params are error\n");
goto error; goto error;
} }
//if (chalMark != NULL){ //if (chalMark != NULL){
//if(strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){ //if(strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){
//dm_mgr_update_timestamp_by_devicecode(chalMark,HAL_Uptimes()); //dm_mgr_update_timestamp_by_devicecode(chalMark,HAL_Uptimes());
//} //}
//} //}
//printf("msgType->valuestring:%s [%s][%d]\n",msgType->valuestring,__FUNCTION__,__LINE__); //printf("msgType->valuestring:%s [%s][%d]\n",msgType->valuestring,__FUNCTION__,__LINE__);
if(strcmp(msgType->valuestring,"/thing/service/property/get_reply") != 0 && if(strcmp(msgType->valuestring,"/thing/service/property/get_reply") != 0 &&
strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){ strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){
dm_mgr_update_timestamp_by_devicecode(info_dcode->valuestring,HAL_Uptimes()); dm_mgr_update_timestamp_by_devicecode(info_dcode->valuestring,HAL_Uptimes());
} }
if (strcmp(msgType->valuestring, KK_THING_TOPO_ADD_MSG)==0){ if (strcmp(msgType->valuestring, KK_THING_TOPO_ADD_MSG)==0){
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR); jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error; if(jsonPay == NULL) goto error;
...@@ -1382,7 +1382,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1382,7 +1382,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&search_node); res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&search_node);
if (res < SUCCESS_RETURN) { if (res < SUCCESS_RETURN) {
goto error; goto error;
} }
if(strcmp(search_node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){ if(strcmp(search_node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){
cJSON *epNumJson = cJSON_GetObjectItem(jsonPay, "epNum"); cJSON *epNumJson = cJSON_GetObjectItem(jsonPay, "epNum");
if(epNumJson == NULL) goto error; if(epNumJson == NULL) goto error;
...@@ -1408,7 +1408,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1408,7 +1408,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&search_node); res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&search_node);
if (res < SUCCESS_RETURN) { if (res < SUCCESS_RETURN) {
goto error; goto error;
} }
if(strcmp(search_node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){ if(strcmp(search_node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){
cJSON *epNumJson = cJSON_GetObjectItem(jsonPay, "epNum"); cJSON *epNumJson = cJSON_GetObjectItem(jsonPay, "epNum");
if(epNumJson == NULL) goto error; if(epNumJson == NULL) goto error;
...@@ -1425,7 +1425,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1425,7 +1425,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
kk_subFreshAir_db_update_online((char*)search_node->deviceCode,0,epNumJson->valueint); kk_subFreshAir_db_update_online((char*)search_node->deviceCode,0,epNumJson->valueint);
_kk_subDevice_online_to_app(info,payload); _kk_subDevice_online_to_app(info,payload);
} }
} }
else if (strstr(msgType->valuestring, KK_THING_TOPO_BATCH_ADD_MSG) != NULL){ else if (strstr(msgType->valuestring, KK_THING_TOPO_BATCH_ADD_MSG) != NULL){
kk_ipc_send(IPC_MID2APP,data,strlen(data)); kk_ipc_send(IPC_MID2APP,data,strlen(data));
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR); jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
...@@ -1436,14 +1436,14 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1436,14 +1436,14 @@ void kk_platMsg_handle(void* data, char* chalMark){
while(item != NULL){ while(item != NULL){
char *deviceCode = cJSON_GetObjectItem(item,MSG_DEVICE_CODE_STR)->valuestring; char *deviceCode = cJSON_GetObjectItem(item,MSG_DEVICE_CODE_STR)->valuestring;
char *productCode = cJSON_GetObjectItem(item,MSG_PRODUCT_CODE_STR)->valuestring; char *productCode = cJSON_GetObjectItem(item,MSG_PRODUCT_CODE_STR)->valuestring;
char *mac_s = cJSON_GetObjectItem(item,MSG_DEVICE_MAC)->valuestring; char *mac_s = cJSON_GetObjectItem(item,MSG_DEVICE_MAC)->valuestring;
char *fatherMac = cJSON_GetObjectItem(item,MSG_DEVICE_PARENTCODE)->valuestring; char *fatherMac = cJSON_GetObjectItem(item,MSG_DEVICE_PARENTCODE)->valuestring;
version = cJSON_GetObjectItem(item, "version"); version = cJSON_GetObjectItem(item, "version");
if(version != NULL ){ if(version != NULL ){
memcpy(versionBuf,version->valuestring,strlen(version->valuestring)); memcpy(versionBuf,version->valuestring,strlen(version->valuestring));
}else{ }else{
memcpy(versionBuf,"1.1.0",strlen("1.1.0")); memcpy(versionBuf,"1.1.0",strlen("1.1.0"));
} }
kk_mid_subdev_batch_add(productCode,deviceCode,mac_s,fatherMac,versionBuf); kk_mid_subdev_batch_add(productCode,deviceCode,mac_s,fatherMac,versionBuf);
item = item->next; item = item->next;
} }
...@@ -1481,7 +1481,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1481,7 +1481,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
kk_tsl_property_set_by_shadow(search_node->dev_shadow, outstr, strlen(outstr)+1); kk_tsl_property_set_by_shadow(search_node->dev_shadow, outstr, strlen(outstr)+1);
proCode = cJSON_GetObjectItem(info, MSG_PRODUCT_CODE_STR); proCode = cJSON_GetObjectItem(info, MSG_PRODUCT_CODE_STR);
dm_msg_thing_property_post_by_identify(proCode->valuestring,info_dcode->valuestring,jsonPay); dm_msg_thing_property_post_by_identify(proCode->valuestring,info_dcode->valuestring,jsonPay);
//如果带version,代表的是快照信息,快照信息不需要触发iftt //如果带version,代表的是快照信息,快照信息不需要触发iftt
cJSON *version = cJSON_GetObjectItem(jsonPay, "version"); cJSON *version = cJSON_GetObjectItem(jsonPay, "version");
if(version == NULL && is_BodySensor_dev(proCode->valuestring)==0){ if(version == NULL && is_BodySensor_dev(proCode->valuestring)==0){
kk_scene_iftt_check(info_dcode->valuestring,jsonPay); kk_scene_iftt_check(info_dcode->valuestring,jsonPay);
...@@ -1497,13 +1497,13 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1497,13 +1497,13 @@ void kk_platMsg_handle(void* data, char* chalMark){
res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&node); res = dm_mgr_get_device_by_devicecode(devCode->valuestring,&node);
if (res < SUCCESS_RETURN) { if (res < SUCCESS_RETURN) {
goto error; goto error;
} }
printf("--------------------------------------->11111111111111111111113333\n"); printf("--------------------------------------->11111111111111111111113333\n");
dm_mgr_update_timestamp_by_devicecode(node->deviceCode,0); dm_mgr_update_timestamp_by_devicecode(node->deviceCode,0);
dm_mgr_set_dev_onoffline(node,1); dm_mgr_set_dev_onoffline(node,1);
//kk_ipc_send(IPC_MID2APP,data,strlen(data)+1); //kk_ipc_send(IPC_MID2APP,data,strlen(data)+1);
//dm_mgr_subdev_delete(devCode->valuestring); //dm_mgr_subdev_delete(devCode->valuestring);
}else if(strstr(msgType->valuestring, KK_THING_EVENT_MESSAGE) != NULL && \ }else if(strstr(msgType->valuestring, KK_THING_EVENT_MESSAGE) != NULL && \
strstr(msgType->valuestring, KK_THING_EVENT_POST) != NULL){ strstr(msgType->valuestring, KK_THING_EVENT_POST) != NULL){
dm_mgr_dev_node_t *node = NULL; dm_mgr_dev_node_t *node = NULL;
...@@ -1533,9 +1533,9 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1533,9 +1533,9 @@ void kk_platMsg_handle(void* data, char* chalMark){
if(buttonId == NULL || buttonId->type != cJSON_Number){ if(buttonId == NULL || buttonId->type != cJSON_Number){
ERROR_PRINT("DATA ERROR!!!\n"); ERROR_PRINT("DATA ERROR!!!\n");
goto error; goto error;
} }
sprintf(btnId,"%d",buttonId->valueint); sprintf(btnId,"%d",buttonId->valueint);
kk_scene_execute_quickpanel(btnId,info_dcode->valuestring); kk_scene_execute_quickpanel(btnId,info_dcode->valuestring);
} }
INFO_PRINT("-------------------kk_platMsg_handle event post enters \n"); INFO_PRINT("-------------------kk_platMsg_handle event post enters \n");
for(idx = 0; idx < node->dev_shadow->event_number; idx++){ for(idx = 0; idx < node->dev_shadow->event_number; idx++){
...@@ -1545,7 +1545,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1545,7 +1545,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
INFO_PRINT("eventItem->identifier = NULL\n"); INFO_PRINT("eventItem->identifier = NULL\n");
continue ; continue ;
} }
if(strcmp(eventItem->identifier,MSG_PROPERTY_STR) != 0 && if(strcmp(eventItem->identifier,MSG_PROPERTY_STR) != 0 &&
eventItem->output_data_number > 0){ eventItem->output_data_number > 0){
int index = 0; int index = 0;
...@@ -1555,7 +1555,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1555,7 +1555,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
} }
for(index = 0; index < eventItem->output_data_number;index++){ for(index = 0; index < eventItem->output_data_number;index++){
itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier); itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier);
itemData = eventItem->output_datas + index; itemData = eventItem->output_datas + index;
cJSON * itemDataIdentifier = cJSON_GetObjectItem(jsonPay, itemData->identifier); cJSON * itemDataIdentifier = cJSON_GetObjectItem(jsonPay, itemData->identifier);
if(itemDataIdentifier != NULL){ if(itemDataIdentifier != NULL){
memset(tmpStr,0x0,sizeof(tmpStr)); memset(tmpStr,0x0,sizeof(tmpStr));
...@@ -1564,7 +1564,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1564,7 +1564,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
itemData->data_value.type == KK_TSL_DATA_TYPE_ENUM|| itemData->data_value.type == KK_TSL_DATA_TYPE_ENUM||
itemData->data_value.type == KK_TSL_DATA_TYPE_BOOL){ itemData->data_value.type == KK_TSL_DATA_TYPE_BOOL){
sprintf(valueBuf,"%d",itemDataIdentifier->valueint); sprintf(valueBuf,"%d",itemDataIdentifier->valueint);
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemDataIdentifier->valueint,NULL); kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,&itemDataIdentifier->valueint,NULL);
} }
else if(itemData->data_value.type == KK_TSL_DATA_TYPE_FLOAT || else if(itemData->data_value.type == KK_TSL_DATA_TYPE_FLOAT ||
itemData->data_value.type == KK_TSL_DATA_TYPE_DOUBLE){ itemData->data_value.type == KK_TSL_DATA_TYPE_DOUBLE){
...@@ -1576,10 +1576,10 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1576,10 +1576,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
itemData->data_value.type == KK_TSL_DATA_TYPE_DATE){ itemData->data_value.type == KK_TSL_DATA_TYPE_DATE){
sprintf(valueBuf,"%s",itemDataIdentifier->valuestring); sprintf(valueBuf,"%s",itemDataIdentifier->valuestring);
kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,NULL,itemDataIdentifier->valuestring); kk_tsl_set_value(kk_tsl_set_event_output_value,node->dev_shadow,tmpStr,NULL,itemDataIdentifier->valuestring);
} }
if(sensorDev){ if(sensorDev){
kk_alarm_notify_handle(node,itemData->identifier,valueBuf);//告警信息处理 kk_alarm_notify_handle(node,itemData->identifier,valueBuf);//告警信息处理
} }
INFO_PRINT("kk_platMsg_handle data: event post\n"); INFO_PRINT("kk_platMsg_handle data: event post\n");
dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier,NULL); dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier,NULL);
kk_scene_iftt_check(info_dcode->valuestring,jsonPay); kk_scene_iftt_check(info_dcode->valuestring,jsonPay);
...@@ -1593,8 +1593,8 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1593,8 +1593,8 @@ void kk_platMsg_handle(void* data, char* chalMark){
if(itemStr != NULL){ if(itemStr != NULL){
if(sensorDev){ if(sensorDev){
//kk_history_insert_sensor_info(info_dcode->valuestring,eventItem->identifier,"",HAL_GetTime()); //kk_history_insert_sensor_info(info_dcode->valuestring,eventItem->identifier,"",HAL_GetTime());
} }
//kk_tsl_set_value(kk_tsl_set_event_output_value,dev_shadow,eventItem->identifier,&itemStr->valueint,NULL); //kk_tsl_set_value(kk_tsl_set_event_output_value,dev_shadow,eventItem->identifier,&itemStr->valueint,NULL);
dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier,NULL); dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier,NULL);
} }
...@@ -1605,15 +1605,15 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -1605,15 +1605,15 @@ void kk_platMsg_handle(void* data, char* chalMark){
else if(strstr(msgType->valuestring, KK_THING_TOPO_BATCH_DELETE_MSG) != NULL){ else if(strstr(msgType->valuestring, KK_THING_TOPO_BATCH_DELETE_MSG) != NULL){
kk_ipc_send(IPC_MID2APP,data,strlen(data)); kk_ipc_send(IPC_MID2APP,data,strlen(data));
jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR); jsonPay = cJSON_GetObjectItem(payload, MSG_PARAMS_STR);
if(jsonPay == NULL) goto error; if(jsonPay == NULL) goto error;
cJSON *devices = cJSON_GetObjectItem(jsonPay, MSG_TOPO_CHANGE_DEVICES_STR); cJSON *devices = cJSON_GetObjectItem(jsonPay, MSG_TOPO_CHANGE_DEVICES_STR);
cJSON * item = devices->child; cJSON * item = devices->child;
while(item != NULL){ while(item != NULL){
char *deviceCode = cJSON_GetObjectItem(item,MSG_DEVICE_CODE_STR)->valuestring; char *deviceCode = cJSON_GetObjectItem(item,MSG_DEVICE_CODE_STR)->valuestring;
dm_mgr_subdev_delete(deviceCode); dm_mgr_subdev_delete(deviceCode);
item = item->next; item = item->next;
} }
} }
else if(strstr(msgType->valuestring, KK_THING_SERVICE_PROPERTY_GET_REPLY) != NULL){ else if(strstr(msgType->valuestring, KK_THING_SERVICE_PROPERTY_GET_REPLY) != NULL){
INFO_PRINT("kk_platMsg_handle data: KK_THING_SERVICE_PROPERTY_GET_REPLY\n"); INFO_PRINT("kk_platMsg_handle data: KK_THING_SERVICE_PROPERTY_GET_REPLY\n");
...@@ -1679,11 +1679,11 @@ typedef struct { ...@@ -1679,11 +1679,11 @@ typedef struct {
int permit_join; int permit_join;
void *g_mid_dispatch_thread; void *g_mid_dispatch_thread;
void *g_ota_dispatch_thread; void *g_ota_dispatch_thread;
void *g_ccuProChg_dispatch_thread; void *g_ccuProChg_dispatch_thread;
void *g_udp_dispatch_thread; void *g_udp_dispatch_thread;
int g_mid_dispatch_thread_running; int g_mid_dispatch_thread_running;
int g_ota_dispatch_thread_running; int g_ota_dispatch_thread_running;
int g_ccuProChg_dispatch_thread_running; int g_ccuProChg_dispatch_thread_running;
int g_udp_dispatch_thread_running; int g_udp_dispatch_thread_running;
} mid_ctx_t; } mid_ctx_t;
#define MID_YIELD_TIMEOUT_MS (200) #define MID_YIELD_TIMEOUT_MS (200)
...@@ -1747,45 +1747,45 @@ void *ota_dispatch_yield(void *args) ...@@ -1747,45 +1747,45 @@ void *ota_dispatch_yield(void *args)
void *udp_dispatch_yield(void *args){ void *udp_dispatch_yield(void *args){
INFO_PRINT("udp_dispatch_yield udp thread create\n"); INFO_PRINT("udp_dispatch_yield udp thread create\n");
// 绑定地址 // 绑定地址
struct sockaddr_in addrto; struct sockaddr_in addrto;
bzero(&addrto, sizeof(struct sockaddr_in)); bzero(&addrto, sizeof(struct sockaddr_in));
addrto.sin_family = AF_INET; addrto.sin_family = AF_INET;
addrto.sin_addr.s_addr = htonl(INADDR_ANY); addrto.sin_addr.s_addr = htonl(INADDR_ANY);
addrto.sin_port = htons(UDP_LAN_PORT); addrto.sin_port = htons(UDP_LAN_PORT);
// 发送地址 // 发送地址
struct sockaddr_in addrto_host; struct sockaddr_in addrto_host;
bzero(&addrto_host, sizeof(struct sockaddr_in)); bzero(&addrto_host, sizeof(struct sockaddr_in));
addrto_host.sin_family = AF_INET; addrto_host.sin_family = AF_INET;
addrto_host.sin_addr.s_addr = htonl(INADDR_ANY); addrto_host.sin_addr.s_addr = htonl(INADDR_ANY);
//addrto_host.sin_port = htons(UDP_LAN_PORT); //addrto_host.sin_port = htons(UDP_LAN_PORT);
// 接收到的广播地址 // 接收到的广播地址
struct sockaddr_in from; struct sockaddr_in from;
bzero(&from, sizeof(struct sockaddr_in)); bzero(&from, sizeof(struct sockaddr_in));
int sock = -1; int sock = -1;
int sock_host = -1; int sock_host = -1;
if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
{ {
ERROR_PRINT("socket error\n"); ERROR_PRINT("socket error\n");
} }
if ((sock_host = socket(AF_INET, SOCK_DGRAM, 0)) == -1) if ((sock_host = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
{ {
ERROR_PRINT("socket error\n"); ERROR_PRINT("socket error\n");
} }
if(bind(sock,(struct sockaddr *)&(addrto), sizeof(struct sockaddr_in)) == -1) if(bind(sock,(struct sockaddr *)&(addrto), sizeof(struct sockaddr_in)) == -1)
{ {
ERROR_PRINT("bind error...\n"); ERROR_PRINT("bind error...\n");
} }
socklen_t len = sizeof(struct sockaddr_in); socklen_t len = sizeof(struct sockaddr_in);
char szOut[128] = {0}; char szOut[128] = {0};
char szDec[1024] = {0}; char szDec[1024] = {0};
char host_ip[32] = {0}; char host_ip[32] = {0};
char mac[32] = {0}; char mac[32] = {0};
char device_code[DEVICE_CODE_LEN] = {0}; char device_code[DEVICE_CODE_LEN] = {0};
...@@ -1803,17 +1803,17 @@ void *udp_dispatch_yield(void *args){ ...@@ -1803,17 +1803,17 @@ void *udp_dispatch_yield(void *args){
while(1) while(1)
{ {
//从广播地址接受消息 //从广播地址接受消息
memset(szDec, 0 , sizeof(szDec)); memset(szDec, 0 , sizeof(szDec));
int size=recvfrom(sock, szDec, sizeof(szDec), 0, (struct sockaddr*)&from,(socklen_t*)&len); int size=recvfrom(sock, szDec, sizeof(szDec), 0, (struct sockaddr*)&from,(socklen_t*)&len);
if(size<=0) if(size<=0)
{ {
WARNING_PRINT("read error....\n"); WARNING_PRINT("read error....\n");
} }
else else
{ {
DEBUG_PRINT("lan recmsg: %s\n", szDec); DEBUG_PRINT("lan recmsg: %s\n", szDec);
//DEBUG_PRINT("udp client ip:%s ,port is :%d htons(UDP_LAN_PORT)=%d \n",inet_ntoa(from.sin_addr),from.sin_port, htons(UDP_LAN_PORT)); //DEBUG_PRINT("udp client ip:%s ,port is :%d htons(UDP_LAN_PORT)=%d \n",inet_ntoa(from.sin_addr),from.sin_port, htons(UDP_LAN_PORT));
//"search_kk_ccu|deviceCode=1122334455667788;protocol=tcp" //"search_kk_ccu|deviceCode=1122334455667788;protocol=tcp"
if(strstr(szDec, "search_kk_ccu|") != NULL){ if(strstr(szDec, "search_kk_ccu|") != NULL){
char* getConnet = szDec + strlen("search_kk_ccu|"); char* getConnet = szDec + strlen("search_kk_ccu|");
...@@ -1876,23 +1876,23 @@ void *udp_dispatch_yield(void *args){ ...@@ -1876,23 +1876,23 @@ void *udp_dispatch_yield(void *args){
// printf("[%s][%d]host_ip:%s\n",__FUNCTION__,__LINE__,host_ip); // printf("[%s][%d]host_ip:%s\n",__FUNCTION__,__LINE__,host_ip);
// if(strcmp(inet_ntoa(from.sin_addr),host_ip) == 0){ // if(strcmp(inet_ntoa(from.sin_addr),host_ip) == 0){
sprintf(szOut,"search_kk_ccu_ack|deviceCode=%s;ip=%s;port=%d",device_code,host_ip,16565); sprintf(szOut,"search_kk_ccu_ack|deviceCode=%s;ip=%s;port=%d",device_code,host_ip,16565);
DEBUG_PRINT("szOut:%s\n",szOut); DEBUG_PRINT("szOut:%s\n",szOut);
DEBUG_PRINT("udp client ip:%s ,port is :%d \n",inet_ntoa(from.sin_addr),from.sin_port); DEBUG_PRINT("udp client ip:%s ,port is :%d \n",inet_ntoa(from.sin_addr),from.sin_port);
//sendto(sock, szOut, strlen(szOut), 0, (struct sockaddr*)&from,len); //sendto(sock, szOut, strlen(szOut), 0, (struct sockaddr*)&from,len);
addrto_host.sin_addr.s_addr = inet_addr(inet_ntoa(from.sin_addr)); addrto_host.sin_addr.s_addr = inet_addr(inet_ntoa(from.sin_addr));
if(strlen(portStr) > 0){ if(strlen(portStr) > 0){
addrto_host.sin_port = htons(atoi(portStr)); addrto_host.sin_port = htons(atoi(portStr));
}else{ }else{
addrto_host.sin_port = htons(UDP_LAN_PORT_HOST); addrto_host.sin_port = htons(UDP_LAN_PORT_HOST);
} }
//addrto_host.sin_port = from.sin_port; //addrto_host.sin_port = from.sin_port;
//if(strcmp(host_ip,inet_ntoa(from.sin_addr)) == 0) //if(strcmp(host_ip,inet_ntoa(from.sin_addr)) == 0)
//{ //{
sendto(sock_host, szOut, strlen(szOut), 0, (struct sockaddr*)&addrto_host,sizeof(addrto_host)); sendto(sock_host, szOut, strlen(szOut), 0, (struct sockaddr*)&addrto_host,sizeof(addrto_host));
//} //}
//else //else
//{ //{
...@@ -1901,7 +1901,7 @@ void *udp_dispatch_yield(void *args){ ...@@ -1901,7 +1901,7 @@ void *udp_dispatch_yield(void *args){
// } // }
} }
} }
usleep(100000); usleep(100000);
} }
close(sock); close(sock);
...@@ -1977,6 +1977,46 @@ int kk_sqlite_init(void) ...@@ -1977,6 +1977,46 @@ int kk_sqlite_init(void)
} }
return SUCCESS_RETURN; return SUCCESS_RETURN;
} }
/************************************************************
*功能描述:设置主机存储路径
*输入参数:存储path
*输出参数:int
*返 回 值: 0:成功;其他:失败
*其他说明:
*************************************************************/
#ifdef CONFIG_NDK
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#endif
/************************************************************ /************************************************************
*功能描述:midware 主任务 *功能描述:midware 主任务
*输入参数:argc:参数个数 *输入参数:argc:参数个数
...@@ -1985,7 +2025,11 @@ int kk_sqlite_init(void) ...@@ -1985,7 +2025,11 @@ int kk_sqlite_init(void)
*返 回 值: 无 *返 回 值: 无
*其他说明: *其他说明:
*************************************************************/ *************************************************************/
#ifdef CONFIG_NDK
int mid_main(char* path)
#else
int main(const int argc, const char **argv) int main(const int argc, const char **argv)
#endif
{ {
int res = 0; int res = 0;
//char *tsl_str; //char *tsl_str;
...@@ -1998,6 +2042,9 @@ int main(const int argc, const char **argv) ...@@ -1998,6 +2042,9 @@ int main(const int argc, const char **argv)
openlog("midware",LOG_PID,LOG_USER); openlog("midware",LOG_PID,LOG_USER);
memset(mid_ctx, 0, sizeof(mid_ctx_t)); memset(mid_ctx, 0, sizeof(mid_ctx_t));
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
HAL_Ccuid_version(); HAL_Ccuid_version();
kk_pid_init(); kk_pid_init();
res = HAL_Ccuid_init(); res = HAL_Ccuid_init();
...@@ -2013,7 +2060,7 @@ int main(const int argc, const char **argv) ...@@ -2013,7 +2060,7 @@ int main(const int argc, const char **argv)
kk_init_dmproc(); kk_init_dmproc();
kk_heartbeat_init(); kk_heartbeat_init();
kk_subDb_init(); kk_subDb_init();
kk_area_init(); kk_area_init();
kk_history_db_init(); kk_history_db_init();
kk_motor_bind_db_init(); kk_motor_bind_db_init();
kk_scene_init(); kk_scene_init();
...@@ -2026,7 +2073,7 @@ int main(const int argc, const char **argv) ...@@ -2026,7 +2073,7 @@ int main(const int argc, const char **argv)
//IOT_Linkkit_Close(mid_ctx->master_devid); //IOT_Linkkit_Close(mid_ctx->master_devid);
return -1; return -1;
} }
mid_ctx->g_ota_dispatch_thread_running = 1; mid_ctx->g_ota_dispatch_thread_running = 1;
res = pthread_create((pthread_t *)&mid_ctx->g_ota_dispatch_thread, NULL, ota_dispatch_yield, NULL); res = pthread_create((pthread_t *)&mid_ctx->g_ota_dispatch_thread, NULL, ota_dispatch_yield, NULL);
if (res < 0) { if (res < 0) {
...@@ -2042,7 +2089,7 @@ int main(const int argc, const char **argv) ...@@ -2042,7 +2089,7 @@ int main(const int argc, const char **argv)
//IOT_Linkkit_Close(mid_ctx->master_devid); //IOT_Linkkit_Close(mid_ctx->master_devid);
return -1; return -1;
} }
mid_ctx->g_ccuProChg_dispatch_thread_running = 1; mid_ctx->g_ccuProChg_dispatch_thread_running = 1;
res = pthread_create((pthread_t *)&mid_ctx->g_ccuProChg_dispatch_thread, NULL, ccu_property_monitor, NULL); res = pthread_create((pthread_t *)&mid_ctx->g_ccuProChg_dispatch_thread, NULL, ccu_property_monitor, NULL);
if (res < 0) { if (res < 0) {
...@@ -2050,7 +2097,7 @@ int main(const int argc, const char **argv) ...@@ -2050,7 +2097,7 @@ int main(const int argc, const char **argv)
return -1; return -1;
} }
//int ct = 0; //int ct = 0;
for (;;) { for (;;) {
...@@ -2059,6 +2106,6 @@ int main(const int argc, const char **argv) ...@@ -2059,6 +2106,6 @@ int main(const int argc, const char **argv)
BodySensorTrigger_check(); BodySensorTrigger_check();
} }
} }
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libtsl.so
else
LIBA_TARGET := libtsl.a LIBA_TARGET := libtsl.a
endif
CONFIG_ENV_CFLAGS += \
-Os -Wall\
-g3 --coverage \
-D_PLATFORM_IS_LINUX_ \
CONFIG_ENV_CFLAGS += \
-DWITH_MQTT_DYN_BUF=1 \
-DWITH_MEM_STATS=0 \
-DWITH_MEM_STATS_PER_MODULE=0 \
-DWITH_MQTT_JSON_FLOW=1 \
-DWITH_MQTT_ZIP_TOPIC=1 \
-DWITH_MQTT_SUB_SHORTCUT=1 \
-DSDK_TEAM_TEST \
-D_GNU_SOURCE \
CONFIG_ENV_CFLAGS += \
-DCONFIG_HTTP_AUTH_TIMEOUT=500 \
-DCONFIG_MID_HTTP_TIMEOUT=500 \
-DCONFIG_GUIDER_AUTH_TIMEOUT=500 \
-DCONFIG_MQTT_RX_MAXLEN=5000 \
-DCONFIG_MBEDTLS_DEBUG_LEVEL=0 \
-DCONFIG_A133_PLATFORM \
-DCONFIG_NDK \
CONFIG_ENV_CFLAGS += -rdynamic
CONFIG_ENV_CFLAGS += -Wno-unused -std=c99
CONFIG_ENV_LDFLAGS += -pthread
OVERRIDE_CC = arm-linux-androideabi-gcc
OVERRIDE_AR = arm-linux-androideabi-ar
OVERRIDE_LD = arm-linux-androideabi-ld
CROSS_PREFIX = arm-linux-androideabi-
OVERRIDE_STRIP := arm-linux-androideabi-strip
...@@ -271,6 +271,33 @@ package_a133: ...@@ -271,6 +271,33 @@ package_a133:
cp -rf $(TOP_DIR)/nx5_soc_gw/smarthome_z3gw_a133 $(TOP_DIR)/kk_a133/bin/smarthome_z3gw cp -rf $(TOP_DIR)/nx5_soc_gw/smarthome_z3gw_a133 $(TOP_DIR)/kk_a133/bin/smarthome_z3gw
cp -rf $(TOP_DIR)/nx5_soc_gw/kk_device_def.json $(TOP_DIR)/kk_a133/etc/ cp -rf $(TOP_DIR)/nx5_soc_gw/kk_device_def.json $(TOP_DIR)/kk_a133/etc/
package_a133_ndk:
@echo "$(buildDate)"
echo "kk_a133_ndk"
rm -rf kk_a133_ndk
mkdir -p kk_a133_ndk/lib
mkdir -p kk_a133_ndk/assets/kk
mkdir -p kk_a133_ndk/assets/kk/map
mkdir -p kk_a133_ndk/assets/kk/etc
cp -rf $(TOP_DIR)/VERSION $(TOP_DIR)/kk_a133_ndk/assets/kk/etc
cp -rf $(TOP_DIR)/output/release/lib/*.so $(TOP_DIR)/kk_a133_ndk/lib
cp -rf $(TOP_DIR)/common/ev/libev_a133.so $(TOP_DIR)/kk_a133_ndk/lib/libev.so
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libnanomsg.so
cp -rf $(TOP_DIR)/common/curl/libcurl_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libcurl.so
cp -rf $(TOP_DIR)/common/curl/libcrypto_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libcrypto.so
cp -rf $(TOP_DIR)/common/curl/libssl_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libssl.so
#zigbee gateway lib
cp -rf $(TOP_DIR)/nx5_soc_gw/smarthome_z3gw_a133_ndk_lib*.so $(TOP_DIR)/kk_a133_ndk/lib
cp -rf $(TOP_DIR)/opcodeMapCfg/* $(TOP_DIR)/kk_a133_ndk/assets/kk/map
cp -rf $(TOP_DIR)/config/* $(TOP_DIR)/kk_a133_ndk/assets/kk/
cp -rf $(TOP_DIR)/tsl $(TOP_DIR)/kk_a133_ndk/assets/kk/
cp -rf $(TOP_DIR)/nx5_soc_gw/kk_device_def.json $(TOP_DIR)/kk_a133_ndk/assets/kk/
squashfs: package squashfs: package
@echo "build squashfs" @echo "build squashfs"
......
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