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
eea97e5a
Commit
eea97e5a
authored
Aug 28, 2020
by
尹佳钦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改窗帘OperationMode控制
parent
ccdb5dab
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
112 additions
and
1 deletion
+112
-1
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
+53
-0
platform/zigbee/app/builder/Z3GatewayHost/kk_test.h
platform/zigbee/app/builder/Z3GatewayHost/kk_test.h
+2
-0
platform/zigbee/app/builder/Z3GatewayHost/kk_tsl_zigbee_map.c
...form/zigbee/app/builder/Z3GatewayHost/kk_tsl_zigbee_map.c
+1
-1
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/inc/rpc_onoff.h
.../zigbee/app/builder/Z3GatewayHost/rpc_api/inc/rpc_onoff.h
+3
-0
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/src/rpc_global_cmd.c
...ee/app/builder/Z3GatewayHost/rpc_api/src/rpc_global_cmd.c
+23
-0
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/src/rpc_onoff.c
.../zigbee/app/builder/Z3GatewayHost/rpc_api/src/rpc_onoff.c
+30
-0
No files found.
platform/zigbee/app/builder/Z3GatewayHost/kk_test.c
View file @
eea97e5a
...
...
@@ -195,6 +195,59 @@ int kk_zcl_onoff_set(jrpc_context * ctx,const char *mac,unsigned char ep,void* d
error_return:
return
-
1
;
}
//EmberStatus WindowCover_UpOpen(uint16_t node,uint8_t ep);
//EmberStatus WindowCover_DownClose(uint16_t node,uint8_t ep);
//EmberStatus WindowCover_Stop(uint16_t node,uint8_t ep);
int
kk_zcl_windowCovering_OperationMode_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
)
{
uint8_t
eui64
[
EUI64_SIZE
];
uint8_t
Operation
=
0
;
EmberStatus
status
=
0
;
EmberNodeId
node
=
0xffff
;
Operation
=
*
(
uint8_t
*
)
data
;
bool
macMatch
=
rpc_get_mac
(
mac
,
eui64
);
emberAfCorePrintBuffer
(
eui64
,
EUI64_SIZE
,
true
);
for
(
int
i
=
0
;
i
<
EUI64_SIZE
;
i
++
){
emberAfCorePrintln
(
"i=%d,val=%02x"
,
i
,
eui64
[
i
]);
}
if
(
macMatch
){
node
=
emberAfDeviceTableGetNodeIdFromEui64
(
eui64
);
if
(
node
==
0xffff
){
emberAfCorePrintln
(
"
\r\n
not find device by node!
\r\n
"
);
if
(
ctx
)
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
emberAfCorePrintln
(
"
\r\n
node=0x%02X,ep=%d,OnOffStatus=%d
\r\n
"
,
node
,
ep
,
OnOffStatus
);
if
(
Operation
==
0
){
status
=
WindowCover_UpOpen
(
node
,
ep
);
emberAfCorePrintln
(
"
\r\n
Up/Open,status=0x%x
\r\n
"
,
status
);
}
else
if
(
Operation
==
1
){
status
=
WindowCover_DownClose
(
node
,
ep
);
emberAfCorePrintln
(
"
\r\n
Down/Close,status=0x%x
\r\n
"
,
status
);
}
else
if
(
Operation
==
2
){
status
=
WindowCover_Stop
(
node
,
ep
);
emberAfCorePrintln
(
"
\r\n
Stop,status=0x%x
\r\n
"
,
status
);
}
else
{
if
(
ctx
)
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
}
else
{
emberAfCorePrintln
(
"
\r\n
not find device by mac!
\r\n
"
);
if
(
ctx
)
set_json_error_type
(
ctx
,
JRPC_INVALID_PARAMS
,
MSG_INVALID_PARAMS
);
goto
error_return
;
}
return
status
;
error_return:
return
-
1
;
}
int
kk_zcl_windowCovering_mode_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
)
{
...
...
platform/zigbee/app/builder/Z3GatewayHost/kk_test.h
View file @
eea97e5a
...
...
@@ -35,6 +35,8 @@
cJSON
*
rpc_Control
(
jrpc_context
*
ctx
,
cJSON
*
params
,
cJSON
*
id
,
cJSON
*
mac
);
cJSON
*
rpc_read_attribue
(
jrpc_context
*
ctx
,
cJSON
*
params
,
cJSON
*
id
,
cJSON
*
mac
);
int
kk_zcl_onoff_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
);
int
kk_zcl_windowCovering_OperationMode_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
);
int
kk_zcl_windowCovering_mode_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
);
int
kk_zcl_windowCovering_position_set
(
jrpc_context
*
ctx
,
const
char
*
mac
,
unsigned
char
ep
,
void
*
data
);
...
...
platform/zigbee/app/builder/Z3GatewayHost/kk_tsl_zigbee_map.c
View file @
eea97e5a
...
...
@@ -16,7 +16,7 @@ kk_tsl_zigbee_map_t g_tsl_zigbee_map [] = {
TEST_PRODUCT_CODE
,
3
,
{
{
KK_TSL_DATA_TYPE_TEXT
,
"OperationMode"
,
KK_PRIMARY_EP
,
kk_zcl_
onoff
_set
,
ZCL_ON_OFF_CLUSTER_ID
,
ZCL_ON_OFF_ATTRIBUTE_ID
},
//开
{
KK_TSL_DATA_TYPE_TEXT
,
"OperationMode"
,
KK_PRIMARY_EP
,
kk_zcl_
windowCovering_OperationMode
_set
,
ZCL_ON_OFF_CLUSTER_ID
,
ZCL_ON_OFF_ATTRIBUTE_ID
},
//开
{
KK_TSL_DATA_TYPE_TEXT
,
"WorkMode"
,
KK_PRIMARY_EP
,
kk_zcl_windowCovering_mode_set
,
ZCL_WINDOW_COVERING_CLUSTER_ID
,
ZCL_MODE_ATTRIBUTE_ID
},
{
KK_TSL_DATA_TYPE_TEXT
,
"Position"
,
KK_PRIMARY_EP
,
kk_zcl_windowCovering_position_set
,
ZCL_WINDOW_COVERING_CLUSTER_ID
,
ZCL_CURRENT_LIFT_ATTRIBUTE_ID
},
}
...
...
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/inc/rpc_onoff.h
View file @
eea97e5a
...
...
@@ -3,6 +3,9 @@
#include "RPC_API.h"
EmberStatus
WindowCover_UpOpen
(
uint16_t
node
,
uint8_t
ep
);
EmberStatus
WindowCover_DownClose
(
uint16_t
node
,
uint8_t
ep
);
EmberStatus
WindowCover_Stop
(
uint16_t
node
,
uint8_t
ep
);
EmberStatus
WindowCover_GotoLiftPercentage
(
uint16_t
node
,
uint8_t
ep
,
uint8_t
position
);
EmberStatus
zclOnOff_On
(
uint16_t
node
,
uint8_t
ep
);
...
...
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/src/rpc_global_cmd.c
View file @
eea97e5a
...
...
@@ -73,6 +73,29 @@ EmberStatus zclGRead(uint16_t node,
return
status
;
}
EmberStatus
zclGWrite
(
uint16_t
node
,
uint8_t
srcEP
,
uint8_t
dstEP
,
bool
multicast
,
uint16_t
clusterId
,
uint16_t
attrId
,
bool
svr
)
{
EmberStatus
status
;
zclBufferSetup
(
ZCL_GLOBAL_COMMAND
|
((
svr
==
true
)
?
ZCL_FRAME_CONTROL_CLIENT_TO_SERVER
:
ZCL_FRAME_CONTROL_SERVER_TO_CLIENT
),
clusterId
,
ZCL_WRITE_ATTRIBUTES_COMMAND_ID
);
zclBufferAddByte
(
LOW_BYTE
(
attrId
));
zclBufferAddByte
(
HIGH_BYTE
(
attrId
));
rpcBufferPrint
();
status
=
rpcSendCommand
(
node
,
srcEP
,
dstEP
,
multicast
);
return
status
;
}
...
...
platform/zigbee/app/builder/Z3GatewayHost/rpc_api/src/rpc_onoff.c
View file @
eea97e5a
...
...
@@ -2,6 +2,36 @@
#include "rpc_onoff.h"
EmberStatus
WindowCover_UpOpen
(
uint16_t
node
,
uint8_t
ep
)
{
EmberStatus
status
;
zcl_clu_client_cmd_buffer_setup
(
ZCL_WINDOW_COVERING_CLUSTER_ID
,
ZCL_WINDOW_COVERING_UP_OPEN_COMMAND_ID
);
status
=
rpcSendCommand
(
node
,
1
,
ep
,
false
);
kk_print_debug
(
"[Up/Open]node=0x%02X,ep=%d,status=0x%02X
\n
"
,
node
,
ep
,
status
);
return
status
;
}
EmberStatus
WindowCover_DownClose
(
uint16_t
node
,
uint8_t
ep
)
{
EmberStatus
status
;
zcl_clu_client_cmd_buffer_setup
(
ZCL_WINDOW_COVERING_CLUSTER_ID
,
ZCL_WINDOW_COVERING_DOWN_CLOSE_COMMAND_ID
);
status
=
rpcSendCommand
(
node
,
1
,
ep
,
false
);
kk_print_debug
(
"[Down/Close]node=0x%02X,ep=%d,status=0x%02X
\n
"
,
node
,
ep
,
status
);
return
status
;
}
EmberStatus
WindowCover_Stop
(
uint16_t
node
,
uint8_t
ep
)
{
EmberStatus
status
;
zcl_clu_client_cmd_buffer_setup
(
ZCL_WINDOW_COVERING_CLUSTER_ID
,
ZCL_WINDOW_COVERING_STOP_COMMAND_ID
);
status
=
rpcSendCommand
(
node
,
1
,
ep
,
false
);
kk_print_debug
(
"[Stop]node=0x%02X,ep=%d,status=0x%02X
\n
"
,
node
,
ep
,
status
);
return
status
;
}
EmberStatus
WindowCover_GotoLiftPercentage
(
uint16_t
node
,
uint8_t
ep
,
uint8_t
position
)
{
...
...
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