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
8db89644
Commit
8db89644
authored
Aug 10, 2020
by
尹佳钦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add kk_test.c
parent
cd1c0c55
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
403 additions
and
229 deletions
+403
-229
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
+190
-0
platform/zigbee/protocol/zigbee/app/framework/plugin-host/gateway-relay-mqtt/gateway-relay-mqtt.c
...ework/plugin-host/gateway-relay-mqtt/gateway-relay-mqtt.c
+12
-27
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering-cli.c
.../framework/plugin/network-steering/network-steering-cli.c
+4
-4
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering-soc.c
.../framework/plugin/network-steering/network-steering-soc.c
+4
-4
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering.c
.../app/framework/plugin/network-steering/network-steering.c
+187
-188
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering.h
.../app/framework/plugin/network-steering/network-steering.h
+3
-3
platform/zigbee/protocol/zigbee/app/framework/plugin/update-tc-link-key/update-tc-link-key.c
.../framework/plugin/update-tc-link-key/update-tc-link-key.c
+3
-3
No files found.
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
0 → 100644
View file @
8db89644
#include "kk_test.h"
static
void
kk_rpc_send_message
(
cJSON
*
data
,
char
*
method
,
EmberEUI64
mac
)
{
static
uint16_t
msgid
;
cJSON
*
item
=
rpc_cJSON_CreateObject
();
char
msgIdString
[
10
];
sprintf
(
msgIdString
,
"%d"
,
++
msgid
);
rpc_cJSON_AddStringToObject
(
item
,
"msgId"
,
msgIdString
);
rpc_cJSON_AddStringToObject
(
item
,
"version"
,
KK_IPC_VERSION
);
if
(
mac
!=
NULL
){
rpc_cJSON_AddMACToObject
(
item
,
mac
);
}
rpc_cJSON_AddStringToObject
(
item
,
"method"
,
method
);
rpc_cJSON_AddItemToObject
(
item
,
"params"
,
data
);
char
*
p
=
rpc_cJSON_Print
(
item
);
emberAfAppPrintln
(
"send json:
\n
%s
\n
"
,
p
);
free
(
p
);
jrpc_send_msg
(
item
);
}
void
kk_rpc_report_devices
(
cJSON
*
data
,
EmberEUI64
mac
)
{
kk_rpc_send_message
(
data
,
KK_REPORT_DEVICE_JOINED_METHOD
,
mac
);
}
void
kk_rpc_report_status
(
cJSON
*
data
,
EmberEUI64
mac
)
{
kk_rpc_send_message
(
data
,
KK_REPORT_ATTRIBUTE_METHOD
,
mac
);
}
typedef
struct
{
EmberEUI64
mac
;
uint8_t
AppVersion
;
uint8_t
deviceType
;
uint8_t
deviceCode
;
uint8_t
productType
;
uint8_t
productCode
;
}
kk_report_device_s
;
void
kk_rpc_reportDevices
(
kk_report_device_s
device
)
{
cJSON
*
devicesJson
;
devicesJson
=
rpc_cJSON_CreateObject
();
rpc_cJSON_AddAppVersionToObject
(
devicesJson
,
device
.
AppVersion
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceType"
,
"1"
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceCode"
,
"2"
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productType"
,
"3"
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productCode"
,
"4"
);
kk_rpc_report_devices
(
devicesJson
,
device
.
mac
);
}
bool
kk_rpc_report_LightStatus
(
EmberEUI64
mac
,
bool
LightStatus
)
{
cJSON
*
root
;
root
=
rpc_cJSON_CreateObject
();
if
(
LightStatus
==
true
){
rpc_cJSON_AddStringToObject
(
root
,
"LightStatus"
,
"1"
);
}
else
{
rpc_cJSON_AddStringToObject
(
root
,
"LightStatus"
,
"0"
);
}
kk_rpc_report_status
(
root
,
mac
);
}
cJSON
*
rpc_Control
(
jrpc_context
*
ctx
,
cJSON
*
params
,
cJSON
*
id
)
{
rpc_nwk_info_s
info
;
EmberStatus
status
;
if
(
params
==
NULL
){
emberAfCorePrintln
(
"
\r\n
params == NULL
\r\n
"
);
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
else
{
cJSON
*
mac_item
=
rpc_cJSON_GetObjectItem
(
params
,
"mac"
);
cJSON
*
LightStatus_item
=
rpc_cJSON_GetObjectItem
(
params
,
"LightStatus"
);
uint8_t
LightStatus
=
rpc_get_u8
(
LightStatus_item
->
valuestring
);
uint8_t
mac
[
EUI64_SIZE
];
bool
flag
=
rpc_get_mac
(
mac_item
->
valuestring
,
mac
);
emberAfCorePrintBuffer
(
mac
,
EUI64_SIZE
,
true
);
for
(
int
i
=
0
;
i
<
EUI64_SIZE
;
i
++
){
emberAfCorePrintln
(
"i=%d,val=%02x"
,
i
,
mac
[
i
]);
}
EmberNodeId
node
=
emberAfDeviceTableGetNodeIdFromEui64
(
mac
);
if
(
node
==
0xffff
){
emberAfCorePrintln
(
"
\r\n
not find device!
\r\n
"
);
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
emberAfCorePrintln
(
"
\r\n
node=0x%02X,LightStatus=%d
\r\n
"
,
node
,
LightStatus
);
if
(
flag
){
EmberStatus
status
;
if
(
LightStatus
==
1
){
status
=
zclOnOff_On
(
node
,
1
);
emberAfCorePrintln
(
"
\r\n
zclOnOff_On
\r\n
"
);
}
else
if
(
LightStatus
==
0
){
status
=
zclOnOff_Off
(
node
,
1
);
emberAfCorePrintln
(
"
\r\n
zclOnOff_Off
\r\n
"
);
}
else
{
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
}
else
{
emberAfCorePrintln
(
"
\r\n
22222
\r\n
"
);
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
return
rpc_cJSON_CreateNumber
(
status
);
}
error_return:
return
rpc_cJSON_CreateNull
();
}
cJSON
*
rpc_nwkPermitJoin
(
jrpc_context
*
ctx
,
cJSON
*
params
,
cJSON
*
id
)
{
cJSON
*
OpenOrClose
;
EmberStatus
status
;
uint8_t
isEnable
;
if
(
params
==
NULL
){
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
else
if
(
params
->
type
==
cJSON_Object
){
OpenOrClose
=
rpc_cJSON_GetObjectItem
(
params
,
"NetChannelState"
);
}
else
{
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
isEnable
=
rpc_get_u8
(
OpenOrClose
->
valuestring
);
if
(
isEnable
==
0
){
status
=
nwkPermitJoinCMD
(
FALSE
);
emberAfCorePrintln
(
"Disable Permit join
\r\n
"
);
}
else
if
(
isEnable
==
1
){
status
=
nwkPermitJoinCMD
(
TRUE
);
emberAfCorePrintln
(
"Enable Permit join 180s
\r\n
"
);
}
else
{
emberAfCorePrintln
(
"item type error[%d]
\r\n
"
,
OpenOrClose
->
type
);
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
return
rpc_cJSON_CreateNumber
(
status
);
error_return:
return
rpc_cJSON_CreateNull
();
}
void
emberAfPluginDeviceTableNewDeviceCallback
(
EmberEUI64
nodeEui64
)
{
uint16_t
deviceTableIndex
=
emberAfDeviceTableGetFirstIndexFromEui64
(
nodeEui64
);
if
(
deviceTableIndex
==
0xffff
){
kk_print_info
(
"not find item!"
);
return
;
}
//EmberAfPluginDeviceTableEntry *deviceTable = emberAfDeviceTablePointer();
//cJSON* nodeJson = rpc_reportDeviceState("joined",deviceTable[deviceTableIndex].eui64);
//rpc_printfJSON("joined",nodeJson);
//rpc_send_message(nodeJson,"device joined");
//rpc_add_device(deviceTable[deviceTableIndex].nodeId);
kk_report_device_s
device
;
//device.mac = nodeEui64;
device
.
AppVersion
=
0x10
;
memcpy
(
device
.
mac
,
nodeEui64
,
EUI64_SIZE
);
kk_rpc_reportDevices
(
device
);
}
platform/zigbee/protocol/zigbee/app/framework/plugin-host/gateway-relay-mqtt/gateway-relay-mqtt.c
View file @
8db89644
...
...
@@ -505,20 +505,21 @@ static void publishMqttDeviceStateChange(EmberEUI64 eui64,
cJSON_AddStringToObject
(
stateChangeJson
,
"eui64"
,
euiString
);
cJSON_AddIntegerToObject
(
stateChangeJson
,
"deviceState"
,
state
);
publishMqttTopic
(
"devicestatechange"
,
stateChangeJson
);
}
static
void
publishMqttDeviceJoined
(
EmberEUI64
eui64
)
{
//This function call breaks simulation test, mask it out
//at this point as Mqtt messages are actually not included
//in simluation test. It works normally with the real devices.
//This function call breaks simulation test, mask it out
//at this point as Mqtt messages are actually not included
//in simluation test. It works normally with the real devices.
#ifndef EMBER_TEST
uint16_t
deviceTableIndex
;
cJSON
*
nodeJson
;
uint16_t
deviceTableIndex
;
cJSON
*
nodeJson
;
deviceTableIndex
=
emberAfDeviceTableGetFirstIndexFromEui64
(
eui64
);
nodeJson
=
buildNodeJson
(
deviceTableIndex
);
publishMqttTopic
(
"devicejoined"
,
nodeJson
);
deviceTableIndex
=
emberAfDeviceTableGetFirstIndexFromEui64
(
eui64
);
nodeJson
=
buildNodeJson
(
deviceTableIndex
);
publishMqttTopic
(
"devicejoined"
,
nodeJson
);
#endif //EMBER_TEST
}
...
...
@@ -1260,28 +1261,10 @@ void emberAfPluginOtaServerUpdateStartedCallback(uint16_t manufacturerId,
&
firmwareVersion
);
}
void
emberAfPluginDeviceTableNewDeviceCallback
(
EmberEUI64
nodeEui64
)
{
publishMqttDeviceJoined
(
nodeEui64
);
}
void
emberAfPluginDeviceTableDeviceLeftCallback
(
EmberEUI64
nodeEui64
)
{
publishMqttDeviceLeft
(
nodeEui64
);
}
void
emberAfPluginDeviceTableRejoinDeviceCallback
(
EmberEUI64
nodeEui64
)
{
publishMqttDeviceJoined
(
nodeEui64
);
}
void
emberAfPluginDeviceTableStateChangeCallback
(
EmberNodeId
nodeId
,
uint8_t
state
)
{
EmberEUI64
nodeEui64
;
emberAfDeviceTableGetEui64FromNodeId
(
nodeId
,
nodeEui64
);
publishMqttDeviceStateChange
(
nodeEui64
,
state
);
}
void
emberAfPluginDeviceTableClearedCallback
(
void
)
{
...
...
@@ -1702,6 +1685,8 @@ void emberAfPluginGatewayRelayMqttStateUpdateEventHandler(void)
publishMqttSettings
();
publishMqttRelays
();
publishMqttDevices
();
extern
void
rpc_reportDevices
(
void
);
rpc_reportDevices
();
}
void
emberAfPluginGatewayRelayMqttProcessCommandEventHandler
(
void
)
...
...
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering-cli.c
View file @
8db89644
...
...
@@ -111,10 +111,10 @@ void emberAfPluginNetworkSteeringStartCommand(void)
void
emberAfPluginNetworkSteeringStopCommand
(
void
)
{
emberAfCorePrintln
(
"%p: %p: 0x%X"
,
emAfNetworkSteeringPluginName
,
"Stop"
,
emberAfPluginNetworkSteeringStop
());
emberAfCorePrintln
(
"%p: %p: 0x%X"
,
emAfNetworkSteeringPluginName
,
"Stop"
,
emberAfPluginNetworkSteeringStop
());
}
#endif
/*
...
...
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering-soc.c
View file @
8db89644
...
...
@@ -27,10 +27,10 @@ uint8_t emAfPluginNetworkSteeringGetMaxPossiblePanIds(void)
void
emAfPluginNetworkSteeringClearStoredPanIds
(
void
)
{
if
(
storedNetworks
!=
EMBER_NULL_MESSAGE_BUFFER
)
{
emberReleaseMessageBuffer
(
storedNetworks
);
storedNetworks
=
EMBER_NULL_MESSAGE_BUFFER
;
}
if
(
storedNetworks
!=
EMBER_NULL_MESSAGE_BUFFER
)
{
emberReleaseMessageBuffer
(
storedNetworks
);
storedNetworks
=
EMBER_NULL_MESSAGE_BUFFER
;
}
}
uint16_t
*
emAfPluginNetworkSteeringGetStoredPanIdPointer
(
uint8_t
index
)
...
...
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering.c
View file @
8db89644
This diff is collapsed.
Click to expand it.
platform/zigbee/protocol/zigbee/app/framework/plugin/network-steering/network-steering.h
View file @
8db89644
...
...
@@ -12,7 +12,7 @@ extern PGM uint8_t emAfNetworkSteeringPluginName[];
// Types
enum
{
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_NONE
=
0x00
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_NONE
=
0x00
,
// These next two states are only run if explicitly configured to do so
// See emAfPluginNetworkSteeringSetConfiguredKey()
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CONFIGURED
=
0x01
,
...
...
@@ -22,8 +22,8 @@ enum {
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CENTRALIZED
=
0x05
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED
=
0x06
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_DISTRIBUTED
=
0x07
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED
=
0x08
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_FINISHED
=
0x09
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED
=
0x08
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_FINISHED
=
0x09
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_UPDATE_TCLK
=
0x10
,
EMBER_AF_PLUGIN_NETWORK_STEERING_STATE_VERIFY_TCLK
=
0x20
,
...
...
platform/zigbee/protocol/zigbee/app/framework/plugin/update-tc-link-key/update-tc-link-key.c
View file @
8db89644
...
...
@@ -65,11 +65,11 @@ EmberStatus emberAfPluginUpdateTcLinkKeyStart(void)
bool
emberAfPluginUpdateTcLinkKeyStop
(
void
)
{
uint8_t
oldState
=
state
;
uint8_t
oldState
=
state
;
state
=
STATE_NONE
;
state
=
STATE_NONE
;
return
(
oldState
!=
STATE_NONE
);
return
(
oldState
!=
STATE_NONE
);
}
void
emberAfPluginUpdateTcLinkKeySetDelay
(
uint32_t
delayMs
)
...
...
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