Commit a8ec59b6 authored by 尹佳钦's avatar 尹佳钦

去除编译警告,离线语音面板接入空调,新风,线控器,窗帘

parent 23221610
...@@ -464,6 +464,7 @@ int kk_lan_get_msg_id_str(char *msgId,int size) ...@@ -464,6 +464,7 @@ int kk_lan_get_msg_id_str(char *msgId,int size)
{ {
memset(msgId,0,size); memset(msgId,0,size);
snprintf(msgId,size,"%d",kk_lan_get_msg_id()); snprintf(msgId,size,"%d",kk_lan_get_msg_id());
return 0;
} }
...@@ -495,7 +496,7 @@ int kk_lan_add_val_to_obj(cJSON *obj,cJSON *val,const char *id) ...@@ -495,7 +496,7 @@ int kk_lan_add_val_to_obj(cJSON *obj,cJSON *val,const char *id)
}else if(val->type==cJSON_String){ }else if(val->type==cJSON_String){
cJSON_AddStringToObject(obj,id,val->valuestring); cJSON_AddStringToObject(obj,id,val->valuestring);
}else{ }else{
debug_log(LOG_DEBUG_LEVEL,"[err] nonsupport type(%s).\n",val->type); debug_log(LOG_DEBUG_LEVEL,"[err] nonsupport type(%d).\n",val->type);
return -1; return -1;
} }
return 0; return 0;
...@@ -525,7 +526,7 @@ int kk_lan_replace_val_to_obj(cJSON *obj,cJSON *val,const char *id) ...@@ -525,7 +526,7 @@ int kk_lan_replace_val_to_obj(cJSON *obj,cJSON *val,const char *id)
}else if(val->type==cJSON_String){ }else if(val->type==cJSON_String){
cJSON_ReplaceItemInObject(obj, id, cJSON_CreateString(val->valuestring)); cJSON_ReplaceItemInObject(obj, id, cJSON_CreateString(val->valuestring));
}else{ }else{
debug_log(LOG_DEBUG_LEVEL,"[err] nonsupport type(%s).\n",val->type); debug_log(LOG_DEBUG_LEVEL,"[err] nonsupport type(%d).\n",val->type);
return -1; return -1;
} }
return 0; return 0;
......
...@@ -18,8 +18,10 @@ ...@@ -18,8 +18,10 @@
#include "kk_lan_ctrl.h" #include "kk_lan_ctrl.h"
#include "kk_lan_sync.h" #include "kk_lan_sync.h"
#include "kk_lan_debug.h" #include "kk_lan_debug.h"
#include "kk_findccu_handle.h"
#include "kk_voice_panel_handle.h" #include "kk_voice_panel_handle.h"
#include "kk_lan_node_db.h"
#include "kk_oldccu_msg.h"
const char DM_MSG_TO_MIDDWARE[] = "{\"msgtype\":\"%s\",\"productCode\":\"%s\",\"deviceCode\":\"%s\"}"; const char DM_MSG_TO_MIDDWARE[] = "{\"msgtype\":\"%s\",\"productCode\":\"%s\",\"deviceCode\":\"%s\"}";
...@@ -219,7 +221,7 @@ static int kk_loginccu_ack(cJSON *arg,int sockfd) ...@@ -219,7 +221,7 @@ static int kk_loginccu_ack(cJSON *arg,int sockfd)
} }
//构建hw信息 //构建hw信息
static cJSON *kk_zb_dev_hw_info_build(const char *deviceCode,cJSON * productCode,int online,const char *hw_ver,const char *sw_ver) static cJSON *kk_zb_dev_hw_info_build(const char *deviceCode,const char *productCode,int online,const char *hw_ver,const char *sw_ver)
{ {
cJSON *item; cJSON *item;
char mac[32] = {0}; char mac[32] = {0};
......
...@@ -7,4 +7,10 @@ ...@@ -7,4 +7,10 @@
int kk_data_handle(cJSON *json,int sockfd); int kk_data_handle(cJSON *json,int sockfd);
void kk_handle_sync_info(void); void kk_handle_sync_info(void);
void KK_Data_FromMid(void* str,int len); void KK_Data_FromMid(void* str,int len);
int kk_lan_property_syn_deal(const char *deviceCode,cJSON *properties);
int send_msg_to_module(cJSON *root);
void device_add_sync(cJSON *payload);
void kk_handle_sync_push_info(void);
#endif #endif
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "kk_data_mng.h" #include "kk_data_mng.h"
#include "kk_lan_node_db.h" #include "kk_lan_node_db.h"
#include "kk_oldccu_msg.h" #include "kk_oldccu_msg.h"
#include "kk_utils.h"
static kk_map_dev_ctx g_map_dev_mgr = {0}; static kk_map_dev_ctx g_map_dev_mgr = {0};
...@@ -192,7 +192,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create_ex(const char *deviceCode,const ...@@ -192,7 +192,7 @@ static kk_map_dev_node_t *kk_map_dev_node_create_ex(const char *deviceCode,const
} }
static char *kk_open_lan_cfg_file(char *deviceCode) static char *kk_open_lan_cfg_file(const char *deviceCode)
{ {
char path[128] = {0}; char path[128] = {0};
unsigned int filesize; unsigned int filesize;
...@@ -226,7 +226,7 @@ static char *kk_open_lan_cfg_file(char *deviceCode) ...@@ -226,7 +226,7 @@ static char *kk_open_lan_cfg_file(char *deviceCode)
return buf; return buf;
} }
//todo: //todo:
int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId,int operate_type) int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId)
{ {
static int next = 1; static int next = 1;
int node=-1; int node=-1;
...@@ -245,7 +245,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId,int operate_type ...@@ -245,7 +245,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId,int operate_type
while(kk_check_lan_node(next)){ while(kk_check_lan_node(next)){
++next; ++next;
} }
if(0==kk_lan_db_node_insert(deviceCode,channel,next,operate_type)){ if(0==kk_lan_db_node_insert(deviceCode,channel,next)){
node=next; node=next;
} }
} }
...@@ -264,7 +264,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId,int operate_type ...@@ -264,7 +264,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId,int operate_type
static char* kk_value_int_map_string(char *opcodemap,kk_map_dev_node_t *node,int idx) static char* kk_value_int_map_string(char *opcodemap,kk_map_dev_node_t *node,int idx)
{ {
if(opcodemap == NULL || node == NULL){ if(opcodemap == NULL || node == NULL){
return -1; return "";
} }
cJSON * oldccuItem = node->oldccu->child; cJSON * oldccuItem = node->oldccu->child;
while(oldccuItem != NULL){ while(oldccuItem != NULL){
...@@ -321,7 +321,7 @@ int mac_switchto_deviceCode(char *mac,char * deviceCode) ...@@ -321,7 +321,7 @@ int mac_switchto_deviceCode(char *mac,char * deviceCode)
deviceCode[j]='\0'; /*在串s结尾加结束标志*/ deviceCode[j]='\0'; /*在串s结尾加结束标志*/
return 0; return 0;
} }
int _deviceCode_switchto_mac(char * deviceCode,char *mac) int _deviceCode_switchto_mac(const char * deviceCode,char *mac)
{ {
char deviceCode_bak[33] = {0}; char deviceCode_bak[33] = {0};
int i, j; int i, j;
...@@ -435,7 +435,7 @@ int kk_map_dev_update_int_value_by_devicecode(char *deviceCode,char *identifier, ...@@ -435,7 +435,7 @@ int kk_map_dev_update_int_value_by_devicecode(char *deviceCode,char *identifier,
} }
int kk_map_dev_search_by_deviceCode(char *deviceCode, kk_map_dev_node_t **node) int kk_map_dev_search_by_deviceCode(const char *deviceCode, kk_map_dev_node_t **node)
{ {
kk_map_dev_ctx *ctx = _kk_map_dev_ctx(); kk_map_dev_ctx *ctx = _kk_map_dev_ctx();
kk_map_dev_node_t *search_node = NULL; kk_map_dev_node_t *search_node = NULL;
......
...@@ -31,11 +31,18 @@ typedef struct { ...@@ -31,11 +31,18 @@ typedef struct {
kk_map_dev_node_t *kk_map_dev_node_add(const char *deviceCode,const char *productCode,const char *gwdeviceCode,const char *onlineStatus); kk_map_dev_node_t *kk_map_dev_node_add(const char *deviceCode,const char *productCode,const char *gwdeviceCode,const char *onlineStatus);
int kk_create_devicestatus_to_sdk(cJSON *root); int kk_create_devicestatus_to_sdk(cJSON *root);
int kk_create_devices_to_sdk(cJSON *root); int kk_create_devices_to_sdk(cJSON *root);
int _deviceCode_switchto_mac(char * deviceCode,char *mac); int _deviceCode_switchto_mac(const char * deviceCode,char *mac);
int mac_switchto_deviceCode(char *mac,char * deviceCode); int mac_switchto_deviceCode(char *mac,char * deviceCode);
int kk_map_dev_search_by_deviceCode(char *deviceCode, kk_map_dev_node_t **node); int kk_map_dev_search_by_deviceCode(const char *deviceCode, kk_map_dev_node_t **node);
kk_map_dev_ctx *_kk_map_dev_ctx(void); kk_map_dev_ctx *_kk_map_dev_ctx(void);
int kk_map_dev_init(void); int kk_map_dev_init(void);
int kk_map_dev_search_by_productCode(char *productCode, kk_map_dev_node_t **node); int kk_map_dev_search_by_productCode(char *productCode, kk_map_dev_node_t **node);
void _kk_map_dev_mutex_lock(void);
void _kk_map_dev_mutex_unlock(void);
void kk_map_dev_deinit(void);
int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId);
#endif #endif
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "kk_hal.h" #include "kk_hal.h"
#include "cJSON.h" #include "cJSON.h"
static int kk_findccu_ack(int sockfd,struct sockaddr_in *addr){ static int kk_findccu_ack(int sockfd,struct sockaddr_in *addr){
cJSON *json = NULL,*args = NULL; cJSON *json = NULL,*args = NULL;
cJSON *ccu = NULL; cJSON *ccu = NULL;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#define FINDCCU_LOCAL_PORT 8989 #define FINDCCU_LOCAL_PORT 8989
int kk_lan_get_ccuid(_OU_ char *device_code);
int kk_findccu_handle_init(void); int kk_findccu_handle_init(void);
#endif #endif
\ No newline at end of file
...@@ -10,8 +10,9 @@ ...@@ -10,8 +10,9 @@
#include "kk_ccu_msg.h" #include "kk_ccu_msg.h"
#include "kk_oldccu_msg.h" #include "kk_oldccu_msg.h"
#include "kk_newccu_msg.h" #include "kk_newccu_msg.h"
#include "kk_lan_node_db.h"
extern int kk_lan_get_ccuid(_OU_ char *device_code);
int match_opcode_pos(cJSON *array,const char *opcode,int ch) int match_opcode_pos(cJSON *array,const char *opcode,int ch)
...@@ -320,8 +321,12 @@ int kk_ccu_opcode_handle(cJSON *root) ...@@ -320,8 +321,12 @@ int kk_ccu_opcode_handle(cJSON *root)
WARNING_PRINT("[requester]%s\n",requester->valuestring); WARNING_PRINT("[requester]%s\n",requester->valuestring);
if(strcmp(requester->valuestring,"HJ_CentralAC") == 0 && if(strcmp(requester->valuestring,"HJ_CentralAC") == 0 &&
strcmp(opcode->valuestring,"CENTRAL_AC_INDOOR_UNIT_SETTING") == 0){ strcmp(opcode->valuestring,"CENTRAL_AC_INDOOR_UNIT_SETTING") == 0){
int channel = -1;
char epNum[8] = {0};
kk_indoorAir_ctrl_handle(nodeId->valuestring,arg); kk_lan_db_channel_get(atoi(nodeId->valuestring),&channel);
snprintf(epNum,sizeof(epNum),"%d",channel);
kk_indoorAir_ctrl_handle(epNum,arg);
return 0; return 0;
}else if(strcmp(requester->valuestring,"HJ_Server") == 0){ }else if(strcmp(requester->valuestring,"HJ_Server") == 0){
if(strcmp(opcode->valuestring,"ARMING_IN_HOME") == 0){ if(strcmp(opcode->valuestring,"ARMING_IN_HOME") == 0){
......
...@@ -49,8 +49,15 @@ ...@@ -49,8 +49,15 @@
printf("%s%s [%s:%d(%s)] "format"\033[m", LOG_LEVEL_(level),buff,__FILE__,__LINE__,__func__,##__VA_ARGS__); \ printf("%s%s [%s:%d(%s)] "format"\033[m", LOG_LEVEL_(level),buff,__FILE__,__LINE__,__func__,##__VA_ARGS__); \
} \ } \
}while(0) }while(0)
#define _debug_log(level,format,...) do { \
if( level >= LOG_LEVEL && level <= LOG_CRITICAL_LEVEL) { \
printf("%s"format"\033[m", LOG_LEVEL_(level),##__VA_ARGS__); \
} \
}while(0)
#else #else
#define debug_log(level,format,...) #define debug_log(level,format,...)
#define _debug_log(level,format,...)
#endif #endif
......
...@@ -59,8 +59,8 @@ static void kk_lan_ccuid_init(void) ...@@ -59,8 +59,8 @@ static void kk_lan_ccuid_init(void)
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);
if(ccuid_len > 0 && ccuid_len <= DEVICE_CODE_LEN){ if(ccuid_len > 0 && ccuid_len <= DEVICE_CODE_LEN){
sprintf(ccuidTmp,"CCU_%s",ccuid); sprintf((char *)ccuidTmp,"CCU_%s",ccuid);
_setDevice_Code(ccuidTmp,strlen(ccuidTmp)-1); _setDevice_Code((char *)ccuidTmp,strlen((char *)ccuidTmp)-1);
}else{ }else{
_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID)); _setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
} }
...@@ -132,10 +132,10 @@ int main(int argc, char* argv[]) ...@@ -132,10 +132,10 @@ int main(int argc, char* argv[])
open("kk_lan",LOG_PID,LOG_USER); open("kk_lan",LOG_PID,LOG_USER);
//if(prg_run_singleton(argv[0])<0){ if(prg_run_singleton(argv[0])<0){
//debug_log(LOG_CRITICAL_LEVEL,"[%s]run singleton fail!\n",argv[0]); debug_log(LOG_CRITICAL_LEVEL,"[%s]run singleton fail!\n",argv[0]);
//return -1; return -1;
//} }
kk_lan_ccuid_init(); kk_lan_ccuid_init();
...@@ -144,7 +144,9 @@ int main(int argc, char* argv[]) ...@@ -144,7 +144,9 @@ int main(int argc, char* argv[])
kk_findccu_handle_init(); kk_findccu_handle_init();
kk_map_dev_init(); kk_map_dev_init();
kk_login_init(); kk_login_init();
//kk_voice_panel_init(argc,argv);
kk_voice_panel_init(argc,argv);
//lan_queue_init(); //lan_queue_init();
kk_lan_db_node_init(); kk_lan_db_node_init();
......
...@@ -33,8 +33,8 @@ static cJSON * _new_central_ac_gw_indoor_build(void* arg); ...@@ -33,8 +33,8 @@ static cJSON * _new_central_ac_gw_indoor_build(void* arg);
static cJSON * _new_youzhuan_music_controllers_build(void* arg); static cJSON * _new_youzhuan_music_controllers_build(void* arg);
typedef cJSON *(*build_func)(void** items); typedef cJSON *(*build_func)(void* arg);
typedef struct { typedef struct BUILD_FUNC{
#define NEW_DEVICES_BUILD_TYPE 0 #define NEW_DEVICES_BUILD_TYPE 0
#define NEW_HUE_LIGHTS_BUILD_TYPE 1 #define NEW_HUE_LIGHTS_BUILD_TYPE 1
...@@ -74,13 +74,13 @@ static BUILD_FUNC new_dev_build_table[]={ ...@@ -74,13 +74,13 @@ static BUILD_FUNC new_dev_build_table[]={
{NEW_YOUZHUAN_MUSIC_CONTROLLERS_BUILD_TYPE,_new_youzhuan_music_controllers_build}, {NEW_YOUZHUAN_MUSIC_CONTROLLERS_BUILD_TYPE,_new_youzhuan_music_controllers_build},
}; };
build_func* find_build_func(int type) build_func find_build_func(int type)
{ {
int i,size; int i,size;
BUILD_FUNC*func = NULL; BUILD_FUNC*func = NULL;
size = sizeof(new_dev_build_table)/sizeof(BUILD_FUNC); size = sizeof(new_dev_build_table)/sizeof(BUILD_FUNC);
func = &new_dev_build_table; func = (BUILD_FUNC *)&new_dev_build_table;
for(i=0;i<size;i++,func++){ for(i=0;i<size;i++,func++){
if(func->type==type){ if(func->type==type){
...@@ -353,7 +353,7 @@ static cJSON *new_devices_build_gw(int count) ...@@ -353,7 +353,7 @@ static cJSON *new_devices_build_gw(int count)
} }
return ary; return ary;
} }
static cJSON *new_devices_build_indoor(int count) cJSON *new_devices_build_indoor(int count)
{ {
int i = 0; int i = 0;
cJSON *ary = cJSON_CreateArray(); cJSON *ary = cJSON_CreateArray();
......
#ifndef __KK_LAN_NEW_DEV_NOTIFY_H #ifndef __KK_LAN_NEW_DEV_NOTIFY_H
#define __KK_LAN_NEW_DEV_NOTIFY_H #define __KK_LAN_NEW_DEV_NOTIFY_H
#include "kk_ccu_msg.h" #include "kk_ccu_msg.h"
#include "kk_lan_sync.h"
#include <stdbool.h> #include <stdbool.h>
typedef struct { typedef struct {
cJSON *new_device_count; cJSON *new_device_count;
...@@ -135,9 +136,11 @@ typedef struct{ ...@@ -135,9 +136,11 @@ typedef struct{
}CENTRAL_AC_INDOOR_STATUS; }CENTRAL_AC_INDOOR_STATUS;
typedef struct{ typedef struct{
char id[4]; char id[AIR_AC_INDOOR_ID_SIZE];
char indooruint_addr[4]; char indooruint_addr[AIR_AC_INDOOR_ADDR_SIZE];
char nodeid[8]; char nodeid[AIR_AC_INDOOR_ID_SIZE];
char dev_name[AIR_AC_INDOOR_NAME_SIZE];
char room_id[AIR_AC_INDOOR_ROOM_ID_SIZE];
CENTRAL_AC_INDOOR_STATUS ac_gw_status; CENTRAL_AC_INDOOR_STATUS ac_gw_status;
}CENTRAL_AC_INDOOR_ITEM; }CENTRAL_AC_INDOOR_ITEM;
...@@ -150,6 +153,10 @@ typedef struct{ ...@@ -150,6 +153,10 @@ typedef struct{
char *music_controller_status; char *music_controller_status;
}YOUZHUAN_MC_CTRL_ITEM; }YOUZHUAN_MC_CTRL_ITEM;
void kk_clear_indoor_data();
void kk_new_device_send();
#endif #endif
......
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
extern void HAL_MutexLock(_IN_ void *mutex);
extern void HAL_MutexUnlock(_IN_ void *mutex);
extern void *HAL_MutexCreate(void);
static sqlite3 *g_lan_pDb; static sqlite3 *g_lan_pDb;
...@@ -46,8 +49,7 @@ static int _kk_lan_node_db_Init(void) ...@@ -46,8 +49,7 @@ static int _kk_lan_node_db_Init(void)
idx INTEGER PRIMARY KEY, \ idx INTEGER PRIMARY KEY, \
deviceCode varchar(33), \ deviceCode varchar(33), \
channel INTEGER, \ channel INTEGER, \
nodeId INTEGER, \ nodeId INTEGER)";
operate_type INTEGER)";
char *pcErr; char *pcErr;
...@@ -105,7 +107,7 @@ int kk_check_lan_node(int nodeId) ...@@ -105,7 +107,7 @@ int kk_check_lan_node(int nodeId)
{ {
int isExist = 0; int isExist = 0;
sqlite3_stmt *stmt; sqlite3_stmt *stmt;
char *pDeviceCode = NULL; unsigned char *pDeviceCode = NULL;
int node = 0; int node = 0;
kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx(); kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx();
const char *searchCmd = "select * from Map2Node;"; const char *searchCmd = "select * from Map2Node;";
...@@ -140,7 +142,7 @@ int kk_check_lan_node_exist(const char* deviceCode,int channel) ...@@ -140,7 +142,7 @@ int kk_check_lan_node_exist(const char* deviceCode,int channel)
{ {
int isExist = 0; int isExist = 0;
sqlite3_stmt *stmt; sqlite3_stmt *stmt;
char *pDeviceCode = NULL; const unsigned char *pDeviceCode = NULL;
int ch = 0; int ch = 0;
int node = 0; int node = 0;
kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx(); kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx();
...@@ -151,7 +153,7 @@ int kk_check_lan_node_exist(const char* deviceCode,int channel) ...@@ -151,7 +153,7 @@ int kk_check_lan_node_exist(const char* deviceCode,int channel)
while(sqlite3_step(stmt) == SQLITE_ROW){ while(sqlite3_step(stmt) == SQLITE_ROW){
pDeviceCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE); pDeviceCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE);
ch = sqlite3_column_int(stmt, LAN_DB_CHANNEL); ch = sqlite3_column_int(stmt, LAN_DB_CHANNEL);
if(!strcmp(deviceCode,pDeviceCode) && ch==channel) if(!strcmp(deviceCode,(const char *)pDeviceCode) && ch==channel)
{ {
isExist = 1; isExist = 1;
break; break;
...@@ -166,7 +168,7 @@ static int _kk_check_lan_node_same(const char* deviceCode,int channel,int nodeId ...@@ -166,7 +168,7 @@ static int _kk_check_lan_node_same(const char* deviceCode,int channel,int nodeId
{ {
int same = 0; int same = 0;
sqlite3_stmt *stmt; sqlite3_stmt *stmt;
char *pDeviceCode = NULL; const unsigned char *pDeviceCode = NULL;
int ch = 0; int ch = 0;
int node = 0; int node = 0;
kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx(); kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx();
...@@ -178,7 +180,7 @@ static int _kk_check_lan_node_same(const char* deviceCode,int channel,int nodeId ...@@ -178,7 +180,7 @@ static int _kk_check_lan_node_same(const char* deviceCode,int channel,int nodeId
pDeviceCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE); pDeviceCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE);
ch = sqlite3_column_int(stmt, LAN_DB_CHANNEL); ch = sqlite3_column_int(stmt, LAN_DB_CHANNEL);
node = sqlite3_column_int(stmt, LAN_DB_NODE); node = sqlite3_column_int(stmt, LAN_DB_NODE);
if(!strcmp(deviceCode,pDeviceCode) && ch==channel &&node==nodeId) if(!strcmp(deviceCode,(const char *)pDeviceCode) && ch==channel &&node==nodeId)
{ {
same = 1; same = 1;
break; break;
...@@ -234,10 +236,10 @@ static int kk_lan_db_node_update(const char *deviceCode,int channel,int node) ...@@ -234,10 +236,10 @@ static int kk_lan_db_node_update(const char *deviceCode,int channel,int node)
*返 回 值: 0:成功;其他:失败 *返 回 值: 0:成功;其他:失败
*其他说明:属性的值插入的时候先置空,后续再update *其他说明:属性的值插入的时候先置空,后续再update
*************************************************************/ *************************************************************/
int kk_lan_db_node_insert(const char *deviceCode,int channel,int node,int operate_type) int kk_lan_db_node_insert(const char *deviceCode,int channel,int node)
{ {
const char *insertCmd = "insert into Map2Node (deviceCode,channel,nodeId,operate_type) \ const char *insertCmd = "insert into Map2Node (deviceCode,channel,nodeId) \
values ('%s','%d','%d','%d');"; values ('%s','%d','%d');";
char *sqlCmd = NULL; char *sqlCmd = NULL;
int rc = 0; int rc = 0;
char *zErrMsg = 0; char *zErrMsg = 0;
...@@ -251,7 +253,7 @@ int kk_lan_db_node_insert(const char *deviceCode,int channel,int node,int operat ...@@ -251,7 +253,7 @@ int kk_lan_db_node_insert(const char *deviceCode,int channel,int node,int operat
} }
_kk_lan_node_db_lock(); _kk_lan_node_db_lock();
sqlCmd = sqlite3_mprintf(insertCmd,deviceCode,channel,node,operate_type); sqlCmd = sqlite3_mprintf(insertCmd,deviceCode,channel,node);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg); rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){ if( rc != SQLITE_OK ){
...@@ -355,7 +357,7 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel) ...@@ -355,7 +357,7 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel)
char *zErrMsg = 0; char *zErrMsg = 0;
sqlite3_stmt *stmt; sqlite3_stmt *stmt;
kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx(); kk_lan_node_db_ctx_t *ctx = _kk_lan_node_db_get_ctx();
char *dCode = 0; const unsigned char *dCode = 0;
_kk_lan_node_db_lock(); _kk_lan_node_db_lock();
sqlCmd = sqlite3_mprintf("select * from Map2Node WHERE nodeId= '%d' ",node); sqlCmd = sqlite3_mprintf("select * from Map2Node WHERE nodeId= '%d' ",node);
...@@ -363,7 +365,7 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel) ...@@ -363,7 +365,7 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel)
while(sqlite3_step(stmt) == SQLITE_ROW){ while(sqlite3_step(stmt) == SQLITE_ROW){
if(deviceCode!=NULL){ if(deviceCode!=NULL){
dCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE); dCode = sqlite3_column_text(stmt, LAN_DB_DEVICECODE);
memcpy(deviceCode,dCode,strlen(dCode)); memcpy(deviceCode,(char *)dCode,strlen((char *)dCode));
} }
if(channel!=NULL){ if(channel!=NULL){
...@@ -379,12 +381,12 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel) ...@@ -379,12 +381,12 @@ int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel)
} }
int kk_lan_db_channel_get(int node,int *channel) int kk_lan_db_channel_get(int node,int *channel)
{ {
kk_lan_db_get_item_by_node(node,NULL,channel); return kk_lan_db_get_item_by_node(node,NULL,channel);
} }
int kk_lan_db_deviceCode_get(int node,char *deviceCode) int kk_lan_db_deviceCode_get(int node,char *deviceCode)
{ {
kk_lan_db_get_item_by_node(node,deviceCode,NULL); return kk_lan_db_get_item_by_node(node,deviceCode,NULL);
} }
...@@ -396,7 +398,7 @@ int kk_lan_db_deviceCode_get(int node,char *deviceCode) ...@@ -396,7 +398,7 @@ int kk_lan_db_deviceCode_get(int node,char *deviceCode)
*返 回 值: 0:成功;其他:失败 *返 回 值: 0:成功;其他:失败
*其他说明: *其他说明:
*************************************************************/ *************************************************************/
int kk_lan_db_node_delete(char *deviceCode) int kk_lan_db_node_delete(const char *deviceCode)
{ {
const char *deleteCmd = "delete from Map2Node where deviceCode = '%s';"; const char *deleteCmd = "delete from Map2Node where deviceCode = '%s';";
char *sqlCmd = NULL; char *sqlCmd = NULL;
......
...@@ -18,7 +18,7 @@ enum{ ...@@ -18,7 +18,7 @@ enum{
}; };
int kk_lan_db_node_init(void); int kk_lan_db_node_init(void);
int kk_lan_db_node_insert(const char *deviceCode,int channel,int node,int operate_type); int kk_lan_db_node_insert(const char *deviceCode,int channel,int node);
int kk_lan_db_node_get(const char *deviceCode,int channel); int kk_lan_db_node_get(const char *deviceCode,int channel);
int kk_lan_db_node_get_all(const char *deviceCode,int *nodes); int kk_lan_db_node_get_all(const char *deviceCode,int *nodes);
...@@ -26,7 +26,7 @@ int kk_lan_db_deviceCode_get(int node,char *deviceCode); ...@@ -26,7 +26,7 @@ int kk_lan_db_deviceCode_get(int node,char *deviceCode);
int kk_lan_db_channel_get(int node,int *channel); int kk_lan_db_channel_get(int node,int *channel);
int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel); int kk_lan_db_get_item_by_node(int node,char *deviceCode,int *channel);
int kk_lan_db_node_delete(char *deviceCode); int kk_lan_db_node_delete(const char *deviceCode);
int kk_check_lan_node_exist(const char* deviceCode,int channel); int kk_check_lan_node_exist(const char* deviceCode,int channel);
int kk_check_lan_node(int nodeId); int kk_check_lan_node(int nodeId);
......
...@@ -38,7 +38,6 @@ static int _lan_queue_init(LAN_QUEUE_ENUM ix,int max_size) ...@@ -38,7 +38,6 @@ static int _lan_queue_init(LAN_QUEUE_ENUM ix,int max_size)
ctx->mutex = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t)); ctx->mutex = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
if (ctx->mutex == NULL) { if (ctx->mutex == NULL) {
WARNING_PRINT("\nmalloc queue mutex[%d] failed: - '%s' (%d)\n",ix, strerror(err_num), err_num);
return -1; return -1;
} }
...@@ -59,7 +58,7 @@ static int _lan_queue_init(LAN_QUEUE_ENUM ix,int max_size) ...@@ -59,7 +58,7 @@ static int _lan_queue_init(LAN_QUEUE_ENUM ix,int max_size)
int lan_queue_init(void) int lan_queue_init(void)
{ {
_lan_queue_init(NODE_MAP,LAN_QUEUE_SIZE(1)); return _lan_queue_init(NODE_MAP,LAN_QUEUE_SIZE(1));
} }
void lan_queue_deinit(void) void lan_queue_deinit(void)
{ {
......
This diff is collapsed.
...@@ -4,6 +4,16 @@ ...@@ -4,6 +4,16 @@
#include "cJSON.h" #include "cJSON.h"
#define AIR_AC_INDOOR_ID_SIZE 8
#define AIR_AC_INDOOR_ROOM_ID_SIZE 24
#define AIR_AC_INDOOR_NAME_SIZE 32
#define AIR_AC_INDOOR_ADDR_SIZE 8
typedef struct{ typedef struct{
char *floor_id; char *floor_id;
char *room_id; char *room_id;
...@@ -48,7 +58,8 @@ int kk_sync_devices_status_to_sdk(cJSON *root); ...@@ -48,7 +58,8 @@ int kk_sync_devices_status_to_sdk(cJSON *root);
int kk_create_syncinfo_to_sdk(cJSON *payload,int push); int kk_create_syncinfo_to_sdk(cJSON *payload,int push);
int kk_send_indoorAir_status(cJSON *info); int kk_send_indoorAir_status(cJSON *info,const char *deviceCode);
cJSON * val_conver_new2old(cJSON *newccuItem,cJSON *oldccuItem,int syn_type);
......
...@@ -83,6 +83,7 @@ static void *kk_vp_uart_thread(void *arg) ...@@ -83,6 +83,7 @@ static void *kk_vp_uart_thread(void *arg)
} }
ERROR_PRINT("[%s]thread end...\n",__FUNCTION__); ERROR_PRINT("[%s]thread end...\n",__FUNCTION__);
return 0;
} }
...@@ -118,7 +119,7 @@ char *vp_file_load(const char *path) ...@@ -118,7 +119,7 @@ char *vp_file_load(const char *path)
fp = fopen (path,"r"); fp = fopen (path,"r");
if(fp==NULL){ if(fp==NULL){
printf("open err.\n"); debug_log(LOG_WARNING_LEVEL,"[%s]fopen err!\n",path);
return NULL; return NULL;
} }
...@@ -175,6 +176,7 @@ static int _vp_config_file_version_load(void) ...@@ -175,6 +176,7 @@ static int _vp_config_file_version_load(void)
cJSON_Delete(json); cJSON_Delete(json);
free(pFile); free(pFile);
return 1;
} }
void kk_vp_set_updateFlag(int flag) void kk_vp_set_updateFlag(int flag)
...@@ -208,7 +210,7 @@ void kk_vp_set_state_machine(int state) ...@@ -208,7 +210,7 @@ void kk_vp_set_state_machine(int state)
} }
} }
void kk_vp_get_config_file_version(int ver) int kk_vp_get_config_file_version(void)
{ {
return vp_mag.cfg_info.next_ver; return vp_mag.cfg_info.next_ver;
} }
...@@ -341,6 +343,7 @@ void *kk_vp_manage_thread(void *arg) ...@@ -341,6 +343,7 @@ void *kk_vp_manage_thread(void *arg)
usleep(50*1000); usleep(50*1000);
} }
ERROR_PRINT("[%s]thread end...\n",__FUNCTION__); ERROR_PRINT("[%s]thread end...\n",__FUNCTION__);
return 0;
} }
...@@ -375,6 +378,15 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[]) ...@@ -375,6 +378,15 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[])
debug_log(LOG_FOCUS_LEVEL,"serialDev=%s\n",serialDev); debug_log(LOG_FOCUS_LEVEL,"serialDev=%s\n",serialDev);
} }
static int kk_vp_cfg_file_dir_create(void){
char cmd[128] = {0};
snprintf(cmd,sizeof(cmd),"mkdir -p %s",VP_VP_CONFIG_FILE_DIR);
return system(cmd);
}
int kk_voice_panel_init(int argc, char* argv[]) int kk_voice_panel_init(int argc, char* argv[])
{ {
size_t s = 1500; size_t s = 1500;
...@@ -387,9 +399,13 @@ int kk_voice_panel_init(int argc, char* argv[]) ...@@ -387,9 +399,13 @@ int kk_voice_panel_init(int argc, char* argv[])
kk_voice_panel_uart_dev_chose(argc,argv); kk_voice_panel_uart_dev_chose(argc,argv);
kk_vp_cfg_file_dir_create();
pthread_attr_setstacksize(&attr, s); pthread_attr_setstacksize(&attr, s);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
kk_vp_ac_mutex_init();
if (pthread_mutex_init(&v_mux, NULL) != 0) { if (pthread_mutex_init(&v_mux, NULL) != 0) {
pthread_attr_destroy(&attr); pthread_attr_destroy(&attr);
ERROR_PRINT("pthread_mutex_init v_mux fail.\n"); ERROR_PRINT("pthread_mutex_init v_mux fail.\n");
...@@ -407,12 +423,6 @@ int kk_voice_panel_init(int argc, char* argv[]) ...@@ -407,12 +423,6 @@ int kk_voice_panel_init(int argc, char* argv[])
return -3; return -3;
} }
/*if((pthread_create(&tid3, NULL, kk_voice_panel_333, NULL))!= 0 ) {
ERROR_PRINT("pthread_create kk_voice_panel fail\n");
return -4;
}*/
return 0; return 0;
} }
......
This diff is collapsed.
...@@ -44,7 +44,60 @@ ...@@ -44,7 +44,60 @@
void kk_lan_vp_control(uint8_t num,uint32_t nodeIdAry[],uint8_t *arg);
//SKILL TYPE(0x12)----------------------------------------->WINDSPEED
#define VP_SKILLTYPE_12_WINDSPEED_LOW 0x01
#define VP_SKILLTYPE_12_WINDSPEED_MID 0x02
#define VP_SKILLTYPE_12_WINDSPEED_HIGH 0x03
#define VP_SKILLTYPE_12_WINDSPEED_AUTO 0x04
//SKILL TYPE(0X1C)----------------------------------------->WORKMODE
#define VP_SKILLTYPE_1C_WORKMODE_AUTO 0x01
#define VP_SKILLTYPE_1C_WORKMODE_MANUAL 0x02
#define VP_SKILLTYPE_1C_WORKMODE_COLD 0x03
#define VP_SKILLTYPE_1C_WORKMODE_HEATING 0x04
#define VP_SKILLTYPE_1C_WORKMODE_ENERGY 0x05
#define VP_SKILLTYPE_1C_WORKMODE_COMFORT 0x06
#define VP_SKILLTYPE_1C_WORKMODE_FAN 0x07
#define VP_SKILLTYPE_1C_WORKMODE_DEHUM 0x08
#define AIR_CONDITIONER_DEV_PID {\
3062\
}
//DEVICE PID DEFINE
//3001,3002,3003,3022,3023,3024
#define LIGHT_DEV_PID {\
3024\
}
//3005,3006,3007,3008,3009,3010,3011,3026,3027,3067
#define CURTAIN_DEV_PID {\
3027\
}
//3019,3020,3037,3038
#define OUTLET_DEV_PID {\
3019,3020,3037,3038\
}
#define FRESHAIR_DEV_PID {\
3032\
}
#define FANCOILSWITCH_DEV_PID {\
3034\
}
int kk_lan_vp_control(uint8_t num,uint32_t nodeIdAry[],uint8_t *arg,uint8_t arg_len);
......
...@@ -52,15 +52,18 @@ int kk_send_data_to_sdk(char *buf) ...@@ -52,15 +52,18 @@ int kk_send_data_to_sdk(char *buf)
INFO_PRINT("tmpBuf:%s\n",tmpBuf); INFO_PRINT("tmpBuf:%s\n",tmpBuf);
for(i = 0; i < LISTEN_MAX; i++){ for(i = 0; i < LISTEN_MAX; i++){
tcp_data_mutex_lock(); tcp_data_mutex_lock();
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
if(s_ConnInfo[i].socketfd != -1){ if(s_ConnInfo[i].socketfd != -1){
send(s_ConnInfo[i].socketfd, tmpBuf, strlen(tmpBuf), 0); send(s_ConnInfo[i].socketfd, tmpBuf, strlen(tmpBuf), 0);
} }
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
tcp_data_mutex_unlock(); tcp_data_mutex_unlock();
} }
free(tmpBuf); free(tmpBuf);
printf("[%s][%d]\n",__FUNCTION__,__LINE__);
return 0; return 0;
} }
static int _kk_handle_data(char *buf,int sockfd){ static int _kk_handle_data(char *buf,int sockfd){
...@@ -83,6 +86,7 @@ static int _kk_handle_data(char *buf,int sockfd){ ...@@ -83,6 +86,7 @@ static int _kk_handle_data(char *buf,int sockfd){
kk_data_handle(json,sockfd); kk_data_handle(json,sockfd);
cJSON_Delete(json); cJSON_Delete(json);
} }
return 0;
} }
static void PrintMesg(int i , char buf[]) static void PrintMesg(int i , char buf[])
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "kk_newccu_msg.h" #include "kk_newccu_msg.h"
#include "kk_product.h" #include "kk_product.h"
#include "kk_lan_node_db.h"
static pthread_mutex_t *mutex = NULL; static pthread_mutex_t *mutex = NULL;
...@@ -83,6 +84,8 @@ cJSON * property_report(const char *productCode,const char *deviceCode,const cha ...@@ -83,6 +84,8 @@ cJSON * property_report(const char *productCode,const char *deviceCode,const cha
} }
extern int kk_lan_get_ccuid(_OU_ char *device_code);
cJSON *scene_payload_build(const char*method,const char *msgId,cJSON *params) cJSON *scene_payload_build(const char*method,const char *msgId,cJSON *params)
{ {
char ccuid[33] = {0}; char ccuid[33] = {0};
...@@ -141,7 +144,7 @@ int kk_ipc_send_json(cJSON *root) ...@@ -141,7 +144,7 @@ int kk_ipc_send_json(cJSON *root)
} }
msg=cJSON_Print(root); msg=cJSON_Print(root);
printf("[lan->midware]json:\n%s\n",msg); debug_log(LOG_NORMAL_LEVEL,"[lan->midware]json:\n%s\n",msg);
cJSON_Minify(msg); cJSON_Minify(msg);
pthread_mutex_lock(mutex); pthread_mutex_lock(mutex);
......
...@@ -13,10 +13,9 @@ ...@@ -13,10 +13,9 @@
#include "kk_lan_ctrl.h" #include "kk_lan_ctrl.h"
#include "kk_data_mng.h" #include "kk_data_mng.h"
#include "kk_oldccu_msg.h" #include "kk_oldccu_msg.h"
#include "kk_lan_sync.h"
#include "kk_data_mng.h"
#include "kk_data_handle.h"
cJSON *old_ccu_msg_build_json(const char* nodeid,const char* opcode,const char* status,cJSON * arg) cJSON *old_ccu_msg_build_json(const char* nodeid,const char* opcode,const char* status,cJSON * arg)
{ {
...@@ -382,7 +381,7 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev ...@@ -382,7 +381,7 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
static int attr_indoorAir_report(cJSON *params) static int attr_indoorAir_report(cJSON *params,const char *deviceCode)
{ {
int k = 0; int k = 0;
if(params == NULL){ if(params == NULL){
...@@ -390,14 +389,18 @@ static int attr_indoorAir_report(cJSON *params) ...@@ -390,14 +389,18 @@ static int attr_indoorAir_report(cJSON *params)
} }
cJSON *epsAry = cJSON_GetObjectItem(params,"eps"); cJSON *epsAry = cJSON_GetObjectItem(params,"eps");
if(epsAry == NULL){ if(epsAry == NULL){
kk_send_indoorAir_status(params,deviceCode);
return -1; return -1;
} }else{
int epsize = cJSON_GetArraySize(epsAry); int epsize = cJSON_GetArraySize(epsAry);
for(k = 0; k < epsize; k++){ for(k = 0; k < epsize; k++){
char tmpIdx[4] = {0}; char tmpIdx[4] = {0};
cJSON *infoItem = cJSON_GetArrayItem(epsAry,k); cJSON *infoItem = cJSON_GetArrayItem(epsAry,k);
if(infoItem == NULL) continue; if(infoItem == NULL) continue;
kk_send_indoorAir_status(infoItem);
kk_send_indoorAir_status(infoItem,deviceCode);
}
} }
return 0; return 0;
} }
...@@ -413,8 +416,11 @@ int kk_lan_property_post_deal(const char *deviceCode,cJSON *payload) ...@@ -413,8 +416,11 @@ int kk_lan_property_post_deal(const char *deviceCode,cJSON *payload)
params = cJSON_GetObjectItem(payload,"params"); params = cJSON_GetObjectItem(payload,"params");
if(strcmp(dev->productCode,"3062") == 0){ if(strcmp(dev->productCode,"3062") == 0){
attr_indoorAir_report(params); debug_log(LOG_CRITICAL_LEVEL,"mark\n");
attr_indoorAir_report(params,deviceCode);
debug_log(LOG_CRITICAL_LEVEL,"mark\n");
}else{ }else{
debug_log(LOG_CRITICAL_LEVEL,"mark\n");
return kk_lan_property_convert(deviceCode,dev,params); return kk_lan_property_convert(deviceCode,dev,params);
} }
}else{ }else{
......
...@@ -25,6 +25,10 @@ int kk_lan_device_delete_notify(cJSON *payload); ...@@ -25,6 +25,10 @@ int kk_lan_device_delete_notify(cJSON *payload);
cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node);
int kk_send_indoorAir_status(cJSON *info,const char *deviceCode);
#endif #endif
......
This diff is collapsed.
...@@ -34,12 +34,12 @@ typedef struct{ ...@@ -34,12 +34,12 @@ typedef struct{
typedef struct{ typedef struct{
char *ac_gw_nodeId; char ac_gw_nodeId[8];
char *addr; char addr[8];
char *nodeId; char nodeId[8];
char *name; char name[32];
char *operateType; char operateType[8];
char *room; char room[32];
int online; int online;
}VP_AC_INDOOR_ITEM; }VP_AC_INDOOR_ITEM;
...@@ -64,7 +64,9 @@ typedef struct{ ...@@ -64,7 +64,9 @@ typedef struct{
int kk_vp_cfg_init(void); void kk_vp_ac_mutex_init(void);
int is_ac_gw_pid(int pid);
_OUT int kk_vp_syncinfo(_IN cJSON *payload,_IN int ver,_OUT cJSON **root); _OUT int kk_vp_syncinfo(_IN cJSON *payload,_IN int ver,_OUT cJSON **root);
......
This diff is collapsed.
...@@ -5,12 +5,11 @@ ...@@ -5,12 +5,11 @@
#include "kk_lan_voice_panel.h" #include "kk_lan_voice_panel.h"
#include "kk_voice_panel_cfg.h" #include "kk_voice_panel_cfg.h"
#define VP_VP_CONFIG_FILE_DIR "/etc/smarthome"
#define VP_CONFIG_FILE "/etc/smarthome/voice_data.json" #define VP_CONFIG_FILE "/etc/smarthome/voice_data.json"
#define VP_CONFIG_FILE_MD5 "/data/kk/voice_data.MD5" #define VP_CONFIG_FILE_MD5 "/data/kk/voice_data.MD5"
#define VP_CONFIG_FILE_TAR_GZ "/data/kk/voice_data.tar.gz" #define VP_CONFIG_FILE_TAR_GZ "/data/kk/voice_data.tar.gz"
#define OPCODE_8009_SNAPSHOOT 0x1000 #define OPCODE_8009_SNAPSHOOT 0x1000
#define OPCODE_SNAPSHOOT 0x1001 #define OPCODE_SNAPSHOOT 0x1001
#define OPCODE_SCENE_ID_NOTIFY 0x1003 #define OPCODE_SCENE_ID_NOTIFY 0x1003
...@@ -22,16 +21,7 @@ ...@@ -22,16 +21,7 @@
#define OPCODE_CONFIG_FILE_UPDATE_STOP 0x100E #define OPCODE_CONFIG_FILE_UPDATE_STOP 0x100E
#define OPCODE_CONFIG_FILE_INFO_GET 0x100F #define OPCODE_CONFIG_FILE_INFO_GET 0x100F
#define OPCODE_CONFIG_FILE_UPDATE_STATUS 0x1010 #define OPCODE_CONFIG_FILE_UPDATE_STATUS 0x1010
#define OPCODE_VOICE_CONTROL_NOTIFY 0x1022
#define EXECUTE_CMD(cmd) do {\
printf("\n[%s][%d]------------------execte cmd------------------\n",__FUNCTION__,__LINE__);\
printf("%s\n",cmd);\
}while(0)
#define VP_SEND_PRINT(format,...) printf("\n\033[33;32m"format"\033[0m\n",##__VA_ARGS__)
#define VP_RECV_PRINT(format,...) printf("\n\033[33;34m"format"\033[0m\n",##__VA_ARGS__)
typedef void (*vp_handle_func)(pro_data_t *pro_data); typedef void (*vp_handle_func)(pro_data_t *pro_data);
typedef struct typedef struct
...@@ -68,8 +58,13 @@ void kk_vp_get_8009_snapshoot(void); ...@@ -68,8 +58,13 @@ void kk_vp_get_8009_snapshoot(void);
void kk_vp_syncinfo_handle(_IN cJSON *payload); void kk_vp_syncinfo_handle(_IN cJSON *payload);
int kk_vp_opcode_handle(_IN pro_data_t *pro_data); int kk_vp_opcode_handle(_IN pro_data_t *pro_data);
int kk_vp_get_config_file_version(void);
void vp_scene_id_map_deinit(void);
int vp_scene_id_item_add(int scene_id);
int vp_scene_id_item_load(int scene_id,uint16_t map_id);
int vp_scene_id_map_save(void);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include <unistd.h> #include <unistd.h>
#include "Serial.h" #include "Serial.h"
#include "main.h"
//#include "common.h" //#include "common.h"
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
//#include "net_handle.h" //#include "net_handle.h"
#include "uart_proto.h" #include "uart_proto.h"
#include "kk_lan_debug.h"
uart_data_t g_uart_data; uart_data_t g_uart_data;
...@@ -464,23 +464,23 @@ void dev_send_uart(uint8_t *data, uint16_t data_len) ...@@ -464,23 +464,23 @@ void dev_send_uart(uint8_t *data, uint16_t data_len)
static void uart_protocol_print(pro_data_t *pro_data) static void uart_protocol_print(pro_data_t *pro_data)
{ {
_debug_log(LOG_DEBUG_LEVEL,"\n[VP->LAN]\n");
printf("seq %02X\n", pro_data->seq); _debug_log(LOG_DEBUG_LEVEL,"seq:\t\t%02X\n", pro_data->seq);
printf("channel %02X\n", pro_data->ch); _debug_log(LOG_DEBUG_LEVEL,"channel:\t%02X\n", pro_data->ch);
printf("opcode %04X\n", pro_data->opcode); _debug_log(LOG_DEBUG_LEVEL,"opcode:\t\t%04X\n", pro_data->opcode);
printf("args_len: %d\n", pro_data->args_len); _debug_log(LOG_DEBUG_LEVEL,"args_len:\t%d\n", pro_data->args_len);
char print_buf[512] = {0}; char print_buf[512] = {0};
int i = 0; int i = 0;
snprintf(print_buf, sizeof(print_buf), "args: "); snprintf(print_buf, sizeof(print_buf), "args:\t\t");
for (i = 0; i < pro_data->args_len; i ++) for (i = 0; i < pro_data->args_len; i ++)
{ {
snprintf(print_buf + strlen(print_buf), sizeof(print_buf), "%02X ", pro_data->arg[i]); snprintf(print_buf + strlen(print_buf), sizeof(print_buf), "%02X ", pro_data->arg[i]);
} }
printf("%s\n", print_buf); _debug_log(LOG_DEBUG_LEVEL,"%s\n\n", print_buf);
} }
...@@ -875,7 +875,6 @@ extern void kk_vp_opcode_handle(pro_data_t *pro_data); ...@@ -875,7 +875,6 @@ extern void kk_vp_opcode_handle(pro_data_t *pro_data);
void uart_frame_handle() void uart_frame_handle()
{ {
GW_LOG_DBG("uart_frame_handle\n");
uint8_t *data = g_uart_data.data; uint8_t *data = g_uart_data.data;
uint8_t data_len = g_uart_data.data_len; uint8_t data_len = g_uart_data.data_len;
pro_data_t pro_data; pro_data_t pro_data;
......
...@@ -105,11 +105,11 @@ static cJSON * kk_get_room_devices(const char *roomId) ...@@ -105,11 +105,11 @@ static cJSON * kk_get_room_devices(const char *roomId)
if(kk_check_multi_ep_num(deviceCode)){ if(kk_check_multi_ep_num(deviceCode)){
cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum); cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum);
}else if(strcmp(node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){ }else if(strcmp(node->productType,KK_DM_AIR_GATEWAY_TYPE) == 0){
if(atoi(epNum) == 1){//epNum为1的是空调网关 //if(atoi(epNum) == 1){//epNum为1的是空调网关
continue; // continue;
}else{ //}else{
cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum); cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum);
} //}
} }
cJSON_AddStringToObject(dev,KK_SYNC_DEVICECODE_STR,deviceCode); cJSON_AddStringToObject(dev,KK_SYNC_DEVICECODE_STR,deviceCode);
//cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum); //cJSON_AddStringToObject(dev,KK_SYNC_SCENE_EPNUM_STR,epNum);
...@@ -761,6 +761,7 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id) ...@@ -761,6 +761,7 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
char *propertyName = NULL; char *propertyName = NULL;
char *propertyValue = NULL; char *propertyValue = NULL;
char room_name[64] = {0}; char room_name[64] = {0};
cJSON *prtyObj = NULL;
char *type = NULL; char *type = NULL;
int delay = 0,epNum = 0,scene_id=0; int delay = 0,epNum = 0,scene_id=0;
...@@ -807,7 +808,13 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id) ...@@ -807,7 +808,13 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
//cJSON_AddNumberToObject(actionItem, KK_SYNC_SCENE_EPNUM_STR, epNum); //cJSON_AddNumberToObject(actionItem, KK_SYNC_SCENE_EPNUM_STR, epNum);
cJSON_AddStringToObject(actionItem, KK_SYNC_SCENE_TYPE_STR, type); cJSON_AddStringToObject(actionItem, KK_SYNC_SCENE_TYPE_STR, type);
if((prtyObj=cJSON_Parse(propertyValue))==NULL){
cJSON_AddStringToObject(actionItem, KK_SYNC_SCENE_PROPERTYVALUE_STR, propertyValue); cJSON_AddStringToObject(actionItem, KK_SYNC_SCENE_PROPERTYVALUE_STR, propertyValue);
}else{
cJSON_AddItemToObject(actionItem, KK_SYNC_SCENE_PROPERTYVALUE_STR, prtyObj);
}
cJSON_AddStringToObject(actionItem, KK_SYNC_ROOMID_STR, room_name); cJSON_AddStringToObject(actionItem, KK_SYNC_ROOMID_STR, room_name);
cJSON_AddItemToArray(actionArray, actionItem); cJSON_AddItemToArray(actionArray, actionItem);
} }
......
...@@ -640,6 +640,9 @@ int kk_scene_insert_scene_action(const char* type,const char* deviceCode,int epN ...@@ -640,6 +640,9 @@ int kk_scene_insert_scene_action(const char* type,const char* deviceCode,int epN
char *sqlCmd = NULL; char *sqlCmd = NULL;
char *zErrMsg = 0; char *zErrMsg = 0;
printf("----->kk_scene_insert_scene_action\n"); printf("----->kk_scene_insert_scene_action\n");
printf("propertyValue----->%s\n",propertyValue);
const char *insertCmd = "insert into SceneActionInfo (type, deviceCode,epNum,propertyName,propertyValue,delay,sceneId,gwdeviceCode) \ const char *insertCmd = "insert into SceneActionInfo (type, deviceCode,epNum,propertyName,propertyValue,delay,sceneId,gwdeviceCode) \
values ('%s','%s','%d','%s','%s','%d','%s','%s');"; values ('%s','%s','%d','%s','%s','%d','%s','%s');";
......
...@@ -510,6 +510,7 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac ...@@ -510,6 +510,7 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac
cJSON *array; cJSON *array;
cJSON *info; cJSON *info;
char *out; char *out;
cJSON *prtyObj = NULL;
kk_scene_action_t *ptr = p_kk_scene_action; kk_scene_action_t *ptr = p_kk_scene_action;
kk_scene_action_info_ex_t *ptmp = NULL; kk_scene_action_info_ex_t *ptmp = NULL;
if(ptr == NULL){ if(ptr == NULL){
...@@ -524,7 +525,13 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac ...@@ -524,7 +525,13 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac
info=cJSON_CreateObject(); info=cJSON_CreateObject();
cJSON_AddStringToObject(info,MSG_DEVICE_CODE_STR,ptr->actionInfo->info.deviceCode); cJSON_AddStringToObject(info,MSG_DEVICE_CODE_STR,ptr->actionInfo->info.deviceCode);
cJSON_AddStringToObject(info,MSG_SCENE_PROPERTYNAME,ptr->actionInfo->info.propertyName); cJSON_AddStringToObject(info,MSG_SCENE_PROPERTYNAME,ptr->actionInfo->info.propertyName);
if((prtyObj = cJSON_Parse(ptr->actionInfo->info.propertyValue))==NULL){
cJSON_AddStringToObject(info,MSG_SCENE_PROPERTYVALUE,ptr->actionInfo->info.propertyValue); cJSON_AddStringToObject(info,MSG_SCENE_PROPERTYVALUE,ptr->actionInfo->info.propertyValue);
}else{
cJSON_AddItemToObject(info, MSG_SCENE_PROPERTYVALUE, prtyObj);
}
cJSON_AddNumberToObject(info,MSG_SCENE_DELAY,ptr->actionInfo->info.delay); cJSON_AddNumberToObject(info,MSG_SCENE_DELAY,ptr->actionInfo->info.delay);
cJSON_AddNumberToObject(info,MSG_SCENE_EPNUM,ptr->actionInfo->info.epNum); cJSON_AddNumberToObject(info,MSG_SCENE_EPNUM,ptr->actionInfo->info.epNum);
cJSON_AddItemToArray(array,info); cJSON_AddItemToArray(array,info);
...@@ -949,8 +956,20 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat ...@@ -949,8 +956,20 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
delay = cJSON_GetObjectItem(item,MSG_SCENE_DELAY); delay = cJSON_GetObjectItem(item,MSG_SCENE_DELAY);
if(delay == NULL) return FAIL_RETURN; if(delay == NULL) return FAIL_RETURN;
int idelay = delay->valueint; int idelay = delay->valueint;
if(propertyValue->type==cJSON_String){
kk_subDev_set_action_by_productType(productType->valuestring,sceneId,propertyName->valuestring, kk_subDev_set_action_by_productType(productType->valuestring,sceneId,propertyName->valuestring,
propertyValue->valuestring,type->valuestring,idelay); propertyValue->valuestring,type->valuestring,idelay);
}else{
printf("1111\r\n");
char *str = cJSON_PrintUnformatted(propertyValue);
printf("222\r\n");
kk_subDev_set_action_by_productType(productType->valuestring,sceneId,propertyName->valuestring,
str,type->valuestring,idelay);
printf("333\r\n");
free(str);
printf("4444\r\n");
}
} }
else{ else{
memset(propertyValueStr,0x0,sizeof(propertyValueStr)); memset(propertyValueStr,0x0,sizeof(propertyValueStr));
...@@ -989,8 +1008,20 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat ...@@ -989,8 +1008,20 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
kk_scene_action_detail_t info = {0}; kk_scene_action_detail_t info = {0};
memcpy(info.deviceCode,node->deviceCode,strlen(node->deviceCode)); memcpy(info.deviceCode,node->deviceCode,strlen(node->deviceCode));
memcpy(info.propertyValue,propertyValueStr,strlen(propertyValueStr));
memcpy(info.propertyName,propertyName->valuestring,strlen(propertyName->valuestring)); memcpy(info.propertyName,propertyName->valuestring,strlen(propertyName->valuestring));
if(propertyValue->type==cJSON_Number){
memset(propertyValueStr,0,sizeof(propertyValueStr));
snprintf(propertyValueStr,sizeof(propertyValueStr),"%d",propertyValue->valueint);
}else if(propertyValue->type==cJSON_String){
snprintf(propertyValueStr,sizeof(propertyValueStr),"%s",propertyValue->valuestring);
}else{
char *str = cJSON_PrintUnformatted(propertyValue);
snprintf(propertyValueStr,sizeof(propertyValueStr),"%s",str);
free(str);
}
memcpy(info.propertyValue,propertyValueStr,strlen(propertyValueStr));
info.epNum = iepnum; info.epNum = iepnum;
info.delay = idelay; info.delay = idelay;
...@@ -2135,3 +2166,4 @@ int kk_scene_execute_quickpanel(const char *buttonId,char *deviceCode) ...@@ -2135,3 +2166,4 @@ int kk_scene_execute_quickpanel(const char *buttonId,char *deviceCode)
INFO_PRINT("[%d]kk_scene_execute_quickpanel called!!!\n",__LINE__); INFO_PRINT("[%d]kk_scene_execute_quickpanel called!!!\n",__LINE__);
return res; return res;
} }
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define DM_UTILS_UINT32_STRLEN (10) #define DM_UTILS_UINT32_STRLEN (10)
#define DM_UTILS_UINT64_STRLEN (20) #define DM_UTILS_UINT64_STRLEN (20)
#define DEVICE_PROPERTY_NAME_MAX (64+1) #define DEVICE_PROPERTY_NAME_MAX (64+1)
#define DEVICE_PROPERTY_VALUE_MAX (64+1) #define DEVICE_PROPERTY_VALUE_MAX (255+1)
#define DEVICE_PROPERTY_NUM_MAX (16) #define DEVICE_PROPERTY_NUM_MAX (16)
#define KK_TSL_KEY_SCHEMA "schema" #define KK_TSL_KEY_SCHEMA "schema"
......
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