Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
k-sdk
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈伟灿
k-sdk
Commits
3ee908ac
Commit
3ee908ac
authored
Aug 28, 2020
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】1,修改有可能出现子设备的topic没有订阅的问题;2,代码优化
【提交人】陈伟灿
parent
b7d58b33
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
144 additions
and
55 deletions
+144
-55
midware/midware/dm/kk_dm_api.c
midware/midware/dm/kk_dm_api.c
+10
-3
midware/midware/dm/kk_dm_queue.c
midware/midware/dm/kk_dm_queue.c
+106
-0
midware/midware/dm/kk_dm_queue.h
midware/midware/dm/kk_dm_queue.h
+2
-0
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+13
-8
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+2
-2
midware/midware/midware.c
midware/midware/midware.c
+2
-34
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
+9
-8
No files found.
midware/midware/dm/kk_dm_api.c
View file @
3ee908ac
...
@@ -188,11 +188,14 @@ void iotx_dm_dispatch(void)
...
@@ -188,11 +188,14 @@ void iotx_dm_dispatch(void)
if
(
ctx
->
event_callback
)
{
if
(
ctx
->
event_callback
)
{
ctx
->
event_callback
(
1
,
data
);
ctx
->
event_callback
(
1
,
data
);
}
}
free
(
data
);
free
(
data
);
data
=
NULL
;
data
=
NULL
;
}
else
{
}
else
if
(
kk_get_cloudstatus
()
&&
dm_queue_msg_next4
(
&
data
)
==
SUCCESS_RETURN
){
kk_ipc_send
(
IPC_MID2APP
,
data
,
strlen
(
data
));
free
(
data
);
data
=
NULL
;
}
else
{
break
;
break
;
}
}
}
}
...
@@ -324,8 +327,12 @@ int iotx_dm_subscribe(_IN_ int devid)
...
@@ -324,8 +327,12 @@ int iotx_dm_subscribe(_IN_ int devid)
if
(
buf
){
if
(
buf
){
HAL_Snprintf
(
buf
,
len
,
subscribe_cmd
,
node
->
productCode
,
node
->
deviceCode
);
HAL_Snprintf
(
buf
,
len
,
subscribe_cmd
,
node
->
productCode
,
node
->
deviceCode
);
#if 0
kk_ipc_send(IPC_MID2APP, buf, len);
kk_ipc_send(IPC_MID2APP, buf, len);
free(buf);
free(buf);
#else
dm_queue_msg_insert4
(
buf
);
#endif
}
else
{
}
else
{
ERROR_PRINT
(
"
\n
[%d][%s] malloc faild kk_ipc_send
\n
"
,
__LINE__
,
__FUNCTION__
);
ERROR_PRINT
(
"
\n
[%d][%s] malloc faild kk_ipc_send
\n
"
,
__LINE__
,
__FUNCTION__
);
...
...
midware/midware/dm/kk_dm_queue.c
View file @
3ee908ac
...
@@ -39,6 +39,13 @@ static void _dm_queue_lock3(void)
...
@@ -39,6 +39,13 @@ static void _dm_queue_lock3(void)
}
}
}
}
static
void
_dm_queue_lock4
(
void
)
{
dm_queue_t
*
ctx
=
_dm_queue_get_ctx
();
if
(
ctx
->
mutex4
)
{
HAL_MutexLock
(
ctx
->
mutex4
);
}
}
static
void
_dm_queue_unlock
(
void
)
static
void
_dm_queue_unlock
(
void
)
...
@@ -63,6 +70,13 @@ static void _dm_queue_unlock3(void)
...
@@ -63,6 +70,13 @@ static void _dm_queue_unlock3(void)
HAL_MutexUnlock
(
ctx
->
mutex3
);
HAL_MutexUnlock
(
ctx
->
mutex3
);
}
}
}
}
static
void
_dm_queue_unlock4
(
void
)
{
dm_queue_t
*
ctx
=
_dm_queue_get_ctx
();
if
(
ctx
->
mutex4
)
{
HAL_MutexUnlock
(
ctx
->
mutex4
);
}
}
...
@@ -90,6 +104,12 @@ int dm_queue_init(int max_size)
...
@@ -90,6 +104,12 @@ int dm_queue_init(int max_size)
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
/* Create Mutex */
ctx
->
mutex4
=
HAL_MutexCreate
();
if
(
ctx
->
mutex4
==
NULL
)
{
return
INVALID_PARAMETER
;
}
/* Init List */
/* Init List */
ctx
->
msg_list
.
max_size
=
max_size
;
ctx
->
msg_list
.
max_size
=
max_size
;
INIT_LIST_HEAD
(
&
ctx
->
msg_list
.
message_list
);
INIT_LIST_HEAD
(
&
ctx
->
msg_list
.
message_list
);
...
@@ -97,6 +117,8 @@ int dm_queue_init(int max_size)
...
@@ -97,6 +117,8 @@ int dm_queue_init(int max_size)
INIT_LIST_HEAD
(
&
ctx
->
msg_list2
.
message_list
);
INIT_LIST_HEAD
(
&
ctx
->
msg_list2
.
message_list
);
ctx
->
msg_list3
.
max_size
=
max_size
;
ctx
->
msg_list3
.
max_size
=
max_size
;
INIT_LIST_HEAD
(
&
ctx
->
msg_list3
.
message_list
);
INIT_LIST_HEAD
(
&
ctx
->
msg_list3
.
message_list
);
ctx
->
msg_list4
.
max_size
=
max_size
;
INIT_LIST_HEAD
(
&
ctx
->
msg_list4
.
message_list
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -116,6 +138,14 @@ void dm_queue_deinit(void)
...
@@ -116,6 +138,14 @@ void dm_queue_deinit(void)
HAL_MutexDestroy
(
ctx
->
mutex2
);
HAL_MutexDestroy
(
ctx
->
mutex2
);
}
}
if
(
ctx
->
mutex3
)
{
HAL_MutexDestroy
(
ctx
->
mutex3
);
}
if
(
ctx
->
mutex4
)
{
HAL_MutexDestroy
(
ctx
->
mutex4
);
}
list_for_each_entry_safe
(
del_node
,
next_node
,
&
ctx
->
msg_list
.
message_list
,
linked_list
,
dm_queue_msg_node_t
)
{
list_for_each_entry_safe
(
del_node
,
next_node
,
&
ctx
->
msg_list
.
message_list
,
linked_list
,
dm_queue_msg_node_t
)
{
/* Free Message */
/* Free Message */
del_msg
=
(
dm_queue_msg_t
*
)
del_node
->
data
;
del_msg
=
(
dm_queue_msg_t
*
)
del_node
->
data
;
...
@@ -163,6 +193,23 @@ void dm_queue_deinit(void)
...
@@ -163,6 +193,23 @@ void dm_queue_deinit(void)
list_del
(
&
del_node
->
linked_list
);
list_del
(
&
del_node
->
linked_list
);
free
(
del_node
);
free
(
del_node
);
}
}
del_node
=
NULL
;
next_node
=
NULL
;
del_msg
=
NULL
;
list_for_each_entry_safe
(
del_node
,
next_node
,
&
ctx
->
msg_list4
.
message_list
,
linked_list
,
dm_queue_msg_node_t
)
{
/* Free Message */
del_msg
=
(
dm_queue_msg_t
*
)
del_node
->
data
;
if
(
del_msg
->
data
)
{
free
(
del_msg
->
data
);
}
free
(
del_msg
);
del_msg
=
NULL
;
/* Free Node */
list_del
(
&
del_node
->
linked_list
);
free
(
del_node
);
}
}
}
...
@@ -348,4 +395,63 @@ int dm_queue_msg_next3(void **data)
...
@@ -348,4 +395,63 @@ int dm_queue_msg_next3(void **data)
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
dm_queue_msg_insert4
(
void
*
data
)
{
dm_queue_t
*
ctx
=
_dm_queue_get_ctx
();
dm_queue_msg_node_t
*
node
=
NULL
;
if
(
data
==
NULL
)
{
return
INVALID_PARAMETER
;
}
_dm_queue_lock4
();
printf
(
"dm msg list size: %d, max size: %d"
,
ctx
->
msg_list4
.
size
,
ctx
->
msg_list4
.
max_size
);
if
(
ctx
->
msg_list4
.
size
>=
ctx
->
msg_list4
.
max_size
)
{
printf
(
"dm queue list full"
);
_dm_queue_unlock4
();
return
FAIL_RETURN
;
}
node
=
malloc
(
sizeof
(
dm_queue_msg_node_t
));
if
(
node
==
NULL
)
{
_dm_queue_unlock4
();
return
MEMORY_NOT_ENOUGH
;
}
memset
(
node
,
0
,
sizeof
(
dm_queue_msg_node_t
));
node
->
data
=
data
;
INIT_LIST_HEAD
(
&
node
->
linked_list
);
ctx
->
msg_list4
.
size
++
;
list_add_tail
(
&
node
->
linked_list
,
&
ctx
->
msg_list4
.
message_list
);
_dm_queue_unlock4
();
return
SUCCESS_RETURN
;
}
int
dm_queue_msg_next4
(
void
**
data
)
{
dm_queue_t
*
ctx
=
_dm_queue_get_ctx
();
dm_queue_msg_node_t
*
node
=
NULL
;
if
(
data
==
NULL
||
*
data
!=
NULL
)
{
return
INVALID_PARAMETER
;
}
_dm_queue_lock4
();
if
(
list_empty
(
&
ctx
->
msg_list4
.
message_list
))
{
_dm_queue_unlock4
();
return
FAIL_RETURN
;
}
node
=
list_first_entry
(
&
ctx
->
msg_list4
.
message_list
,
dm_queue_msg_node_t
,
linked_list
);
list_del
(
&
node
->
linked_list
);
ctx
->
msg_list4
.
size
--
;
*
data
=
node
->
data
;
free
(
node
);
_dm_queue_unlock4
();
return
SUCCESS_RETURN
;
}
midware/midware/dm/kk_dm_queue.h
View file @
3ee908ac
...
@@ -31,9 +31,11 @@ typedef struct {
...
@@ -31,9 +31,11 @@ typedef struct {
void
*
mutex
;
void
*
mutex
;
void
*
mutex2
;
void
*
mutex2
;
void
*
mutex3
;
void
*
mutex3
;
void
*
mutex4
;
dm_queue_msg_list_t
msg_list
;
dm_queue_msg_list_t
msg_list
;
dm_queue_msg_list_t
msg_list2
;
dm_queue_msg_list_t
msg_list2
;
dm_queue_msg_list_t
msg_list3
;
dm_queue_msg_list_t
msg_list3
;
dm_queue_msg_list_t
msg_list4
;
}
dm_queue_t
;
}
dm_queue_t
;
int
dm_queue_init
(
int
max_size
);
int
dm_queue_init
(
int
max_size
);
...
...
midware/midware/dm/kk_linkkit.c
View file @
3ee908ac
...
@@ -224,7 +224,10 @@ static void _iotx_linkkit_upstream_callback_remove(int msgid, int code)
...
@@ -224,7 +224,10 @@ static void _iotx_linkkit_upstream_callback_remove(int msgid, int code)
#ifdef ALCS_ENABLED
#ifdef ALCS_ENABLED
extern
void
dm_server_free_context
(
_IN_
void
*
ctx
);
extern
void
dm_server_free_context
(
_IN_
void
*
ctx
);
#endif
#endif
static
int
s_CloudStatus
=
0
;
int
kk_get_cloudstatus
(
void
){
return
s_CloudStatus
;
}
static
void
_iotx_linkkit_event_callback
(
iotx_dm_event_types_t
type
,
char
*
data
)
static
void
_iotx_linkkit_event_callback
(
iotx_dm_event_types_t
type
,
char
*
data
)
{
{
INFO_PRINT
(
"_iotx_linkkit_event_callback ================== [%s]
\n
"
,
data
);
INFO_PRINT
(
"_iotx_linkkit_event_callback ================== [%s]
\n
"
,
data
);
...
@@ -293,21 +296,23 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -293,21 +296,23 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_CLOUDSTATE_MSG
)){
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_CLOUDSTATE_MSG
)){
INFO_PRINT
(
"cloud state notify
\n
"
);
INFO_PRINT
(
"cloud state notify
\n
"
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
cJSON
*
state
=
cJSON_GetObjectItem
(
paramStr
,
"IOTCloudState"
);
cJSON
*
state
=
cJSON_GetObjectItem
(
paramStr
,
MSG_IOTClOUDSTATE_STR
);
int
state_int
=
atoi
(
state
->
valuestring
);
s_CloudStatus
=
atoi
(
state
->
valuestring
);
res
=
kk_tsl_set_value
(
kk_tsl_set_property_value
,
0
,
KK_TSL_CCU_WANSTATE_IDENTIFIER
,
&
s
tate_int
,
NULL
);
res
=
kk_tsl_set_value
(
kk_tsl_set_property_value
,
0
,
KK_TSL_CCU_WANSTATE_IDENTIFIER
,
&
s
_CloudStatus
,
NULL
);
if
(
res
!=
SUCCESS_RETURN
)
if
(
res
!=
SUCCESS_RETURN
)
{
{
ERROR_PRINT
(
"[%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
ERROR_PRINT
(
"[%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
}
}
res
=
kk_tsl_set_value
(
kk_tsl_set_property_value
,
0
,
KK_TSL_CCU_IOTCLOUD_IDENTIFIER
,
&
s
tate_int
,
NULL
);
res
=
kk_tsl_set_value
(
kk_tsl_set_property_value
,
0
,
KK_TSL_CCU_IOTCLOUD_IDENTIFIER
,
&
s
_CloudStatus
,
NULL
);
if
(
res
!=
SUCCESS_RETURN
)
if
(
res
!=
SUCCESS_RETURN
)
{
{
ERROR_PRINT
(
"[%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
ERROR_PRINT
(
"[%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
}
}
iotx_dm_dev_online
(
0
);
//first online,report the online status
if
(
s_CloudStatus
){
usleep
(
200000
);
iotx_dm_dev_online
(
0
);
//first online,report the online status
kk_tsl_post_property
(
0
,
NULL
);
usleep
(
200000
);
kk_tsl_post_property
(
0
,
NULL
);
}
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_OTA_DEVICE_UPGRADE
)){
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_OTA_DEVICE_UPGRADE
)){
INFO_PRINT
(
"ota upgrade...
\n
"
);
INFO_PRINT
(
"ota upgrade...
\n
"
);
kk_dm_ota_send
(
data
,
strlen
(
data
)
+
1
);
kk_dm_ota_send
(
data
,
strlen
(
data
)
+
1
);
...
...
midware/midware/dm/kk_sub_db.c
View file @
3ee908ac
...
@@ -237,7 +237,7 @@ int kk_subDev_update_offline(int isOffline,const char *deviceCode)
...
@@ -237,7 +237,7 @@ int kk_subDev_update_offline(int isOffline,const char *deviceCode)
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SubDeviceInfo SET isOffline=%d WHERE deviceCode=
%s
"
,
isOffline
,
deviceCode
);
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SubDeviceInfo SET isOffline=%d WHERE deviceCode=
'%s'
"
,
isOffline
,
deviceCode
);
INFO_PRINT
(
"kk_subDev_update_offline sqlCmd:%s
\n
"
,
sqlCmd
);
INFO_PRINT
(
"kk_subDev_update_offline sqlCmd:%s
\n
"
,
sqlCmd
);
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
){
...
@@ -259,7 +259,7 @@ int kk_subDev_update_auth(int isAuth,const char *deviceCode)
...
@@ -259,7 +259,7 @@ int kk_subDev_update_auth(int isAuth,const char *deviceCode)
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SubDeviceInfo SET isAuth=%d WHERE deviceCode=
%s
"
,
isAuth
,
deviceCode
);
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SubDeviceInfo SET isAuth=%d WHERE deviceCode=
'%s'
"
,
isAuth
,
deviceCode
);
INFO_PRINT
(
"kk_subDev_update_auth sqlCmd:%s
\n
"
,
sqlCmd
);
INFO_PRINT
(
"kk_subDev_update_auth sqlCmd:%s
\n
"
,
sqlCmd
);
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
){
...
...
midware/midware/midware.c
View file @
3ee908ac
...
@@ -560,10 +560,8 @@ void *ccu_property_monitor(void *args)
...
@@ -560,10 +560,8 @@ void *ccu_property_monitor(void *args)
char
*
s_IP_TSL
=
NULL
;
char
*
s_IP_TSL
=
NULL
;
int
res
=
0
;
int
res
=
0
;
int
needReport
=
0
;
int
needReport
=
0
;
static
int
s_cloudStatus
=
0
;
int
cloudState
=
0
;
int
time_second
=
60
;
int
time_second
=
60
;
static
int
alreadyRepord
=
0
;
while
(
mid_ctx
->
g_ccuProChg_dispatch_thread_running
)
{
while
(
mid_ctx
->
g_ccuProChg_dispatch_thread_running
)
{
//dm_ota_yield(MID_YIELD_TIMEOUT_MS);
//dm_ota_yield(MID_YIELD_TIMEOUT_MS);
HAL_Get_IP
(
s_IP
,
NULL
);
HAL_Get_IP
(
s_IP
,
NULL
);
...
@@ -577,31 +575,13 @@ void *ccu_property_monitor(void *args)
...
@@ -577,31 +575,13 @@ void *ccu_property_monitor(void *args)
INFO_PRINT
(
"current ip:%s,db ip:%s
\n
"
,
s_IP
,
s_IP_TSL
);
INFO_PRINT
(
"current ip:%s,db ip:%s
\n
"
,
s_IP
,
s_IP_TSL
);
needReport
=
1
;
needReport
=
1
;
}
}
}
res
=
kk_tsl_get_value
(
kk_tsl_get_property_value
,
0
,
KK_TSL_CCU_IOTCLOUD_IDENTIFIER
,
&
cloudState
,
NULL
);
if
(
res
!=
SUCCESS_RETURN
){
ERROR_PRINT
(
"kk_tsl_get_value Failed
\n
"
);
}
else
{
if
(
s_cloudStatus
==
cloudState
){
}
else
{
s_cloudStatus
=
cloudState
;
INFO_PRINT
(
"cloudState:%d,s_cloudStatus:%d
\n
"
,
cloudState
,
s_cloudStatus
);
needReport
=
1
;
}
}
}
if
(
needReport
&&
(
cloudState
==
1
)){
if
(
needReport
&&
(
kk_get_cloudstatus
()
==
1
)){
//kk_tsl_post_property(0,NULL);
needReport
=
0
;
needReport
=
0
;
kk_tsl_post_property
(
0
,
NULL
);
kk_tsl_post_property
(
0
,
NULL
);
}
}
INFO_PRINT
(
"time_second:%d,s_cloudStatus:%d
\n
"
,
time_second
,
s_cloudStatus
);
sleep
(
time_second
);
sleep
(
time_second
);
}
}
return
NULL
;
return
NULL
;
}
}
...
@@ -631,18 +611,6 @@ int main(const int argc, const char **argv)
...
@@ -631,18 +611,6 @@ int main(const int argc, const char **argv)
kk_ipc_init
(
IPC_MID2APP
,
mid_cb
,
NULL
,
NULL
);
kk_ipc_init
(
IPC_MID2APP
,
mid_cb
,
NULL
,
NULL
);
kk_ipc_init
(
IPC_MID2PLAT
,
mid2p_cb
,
NULL
,
"*"
);
kk_ipc_init
(
IPC_MID2PLAT
,
mid2p_cb
,
NULL
,
"*"
);
//DB_Init();
//test_tcp();
/* when Connect to app and platfrom */
/*do {
res = IOT_Linkkit_Connect(user_example_ctx->master_devid);
if (res < 0) {
EXAMPLE_TRACE("IOT_Linkkit_Connect failed, retry after 5s...\n");
HAL_SleepMs(5000);
}
} while (res < 0);*/
kk_init_dmproc
();
kk_init_dmproc
();
kk_subDb_init
();
kk_subDb_init
();
kk_heartbeat_init
();
kk_heartbeat_init
();
...
...
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
View file @
3ee908ac
...
@@ -65,7 +65,7 @@ typedef struct{
...
@@ -65,7 +65,7 @@ typedef struct{
void
kk_rpc_reportLeftDevices
(
EmberEUI64
mac
)
void
kk_rpc_reportLeftDevices
(
EmberEUI64
mac
)
{
{
cJSON
*
devicesJson
;
cJSON
*
devicesJson
;
EmberEUI64
testMac
=
{
0x4A
,
0x83
,
0xD3
,
0xFE
,
0xFF
,
0x81
,
0x8E
,
0x58
};
//
EmberEUI64 testMac = {0x4A,0x83,0xD3,0xFE,0xFF,0x81,0x8E,0x58};
EmberEUI64
testMac_GW
=
{
0x88
,
0x77
,
0x66
,
0x55
,
0x44
,
0x33
,
0x22
,
0x11
};
EmberEUI64
testMac_GW
=
{
0x88
,
0x77
,
0x66
,
0x55
,
0x44
,
0x33
,
0x22
,
0x11
};
char
macString
[
RPC_EUI64_STRING_LENGTH
];
char
macString
[
RPC_EUI64_STRING_LENGTH
];
...
@@ -92,15 +92,16 @@ int kk_sendData2CCU(char* data, int len){
...
@@ -92,15 +92,16 @@ int kk_sendData2CCU(char* data, int len){
void
kk_rpc_reportDevices
(
EmberEUI64
mac
)
void
kk_rpc_reportDevices
(
EmberEUI64
mac
)
{
{
cJSON
*
devicesJson
;
cJSON
*
devicesJson
;
EmberEUI64
testMac
=
{
0x4A
,
0x83
,
0xD3
,
0xFE
,
0xFF
,
0x81
,
0x8E
,
0x58
};
//
EmberEUI64 testMac = {0x4A,0x83,0xD3,0xFE,0xFF,0x81,0x8E,0x58};
EmberEUI64
testMac_GW
=
{
0x88
,
0x77
,
0x66
,
0x55
,
0x44
,
0x33
,
0x22
,
0x11
};
EmberEUI64
testMac_GW
=
{
0x88
,
0x77
,
0x66
,
0x55
,
0x44
,
0x33
,
0x22
,
0x11
};
char
macString
[
19
]
=
{
0
};
devicesJson
=
rpc_cJSON_CreateObject
();
devicesJson
=
rpc_cJSON_CreateObject
();
rpc_eui64ToString
(
mac
,
macString
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productCode"
,
TEST_PRODUCT_CODE
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productCode"
,
TEST_PRODUCT_CODE
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceCode"
,
"588E81FFFED3834A"
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceCode"
,
macString
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"mac"
,
"588E81FFFED3834A"
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"mac"
,
macString
);
kk_sub_tsl_add
(
testM
ac
,
TEST_PRODUCT_CODE
);
kk_sub_tsl_add
(
m
ac
,
TEST_PRODUCT_CODE
);
kk_rpc_report_devices
(
devicesJson
,
testMac_GW
);
kk_rpc_report_devices
(
devicesJson
,
testMac_GW
);
}
}
int
kk_rpc_report_LightStatus
(
EmberEUI64
mac
,
int
status
,
uint16_t
clusterId
,
uint16_t
attributeId
)
int
kk_rpc_report_LightStatus
(
EmberEUI64
mac
,
int
status
,
uint16_t
clusterId
,
uint16_t
attributeId
)
...
@@ -390,7 +391,7 @@ void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64)
...
@@ -390,7 +391,7 @@ void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64)
return
;
return
;
}
}
//
EmberAfPluginDeviceTableEntry *deviceTable = emberAfDeviceTablePointer();
EmberAfPluginDeviceTableEntry
*
deviceTable
=
emberAfDeviceTablePointer
();
//cJSON* nodeJson = rpc_reportDeviceState("joined",deviceTable[deviceTableIndex].eui64);
//cJSON* nodeJson = rpc_reportDeviceState("joined",deviceTable[deviceTableIndex].eui64);
//rpc_printfJSON("joined",nodeJson);
//rpc_printfJSON("joined",nodeJson);
...
@@ -402,6 +403,6 @@ void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64)
...
@@ -402,6 +403,6 @@ void emberAfPluginDeviceTableNewDeviceCallback(EmberEUI64 nodeEui64)
//device.mac = nodeEui64;
//device.mac = nodeEui64;
//device.AppVersion = 0x10;
//device.AppVersion = 0x10;
//memcpy(device.mac,nodeEui64,EUI64_SIZE);
//memcpy(device.mac,nodeEui64,EUI64_SIZE);
kk_rpc_reportDevices
(
nodeE
ui64
);
kk_rpc_reportDevices
(
deviceTable
[
deviceTableIndex
].
e
ui64
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment