Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Telin_Zigbee_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
Merge Requests
0
Merge Requests
0
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
limm
Telin_Zigbee_SDK
Commits
219e237b
Commit
219e237b
authored
Jun 13, 2022
by
hanxu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
telin_zigbee_sdk-1.1.2
parent
d9011729
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
112 additions
and
1 deletion
+112
-1
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-opt-tunnel.c
...bee_sdk/apps/common/00ikonke_app/general/ikk-opt-tunnel.c
+1
-1
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.c
...igbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.c
+99
-0
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.h
...igbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.h
+12
-0
No files found.
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-opt-tunnel.c
View file @
219e237b
...
...
@@ -549,7 +549,7 @@ bool kOptTunnelTrytoWriteInstallCode(void)
iKonkeAfSelfPrint
(
"!!!MAC_address:
\r\n
"
);
iKonkeAfSelfPrintBuffer
(
mac_address
,
16
);
for
(
uint8_t
i
=
0
;
i
<
1
5
;
i
++
)
for
(
uint8_t
i
=
0
;
i
<
1
6
;
i
++
)
mac_address
[
i
]
=
HexToASCII
(
mac_address
[
i
]);
INSTALL_CODE_TOKEN_SET
(
mac_address
,
16
);
}
...
...
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.c
0 → 100644
View file @
219e237b
#include "../../../../zigbee/zcl/zcl_include.h"
#include "ikk-debug.h"
#include "ikk-sequence.h"
#define SEQUENCE_MAX_LEN 20
typedef
struct
{
uint8_t
endpoint
;
uint8_t
sequence
;
uint16_t
nodeId
;
}
SequenceSt
;
//
SequenceSt
g_stSequnceBuffer
[
SEQUENCE_MAX_LEN
];
uint8_t
g_u8SequenceLen
=
0
;
uint8_t
kSequenceFindByNodeidAndEp
(
uint16_t
nodeId
,
uint8_t
endpoint
,
uint8_t
*
index
)
{
for
(
uint8_t
i
=
0
;
i
<
SEQUENCE_MAX_LEN
;
i
++
){
if
(
g_stSequnceBuffer
[
i
].
nodeId
==
nodeId
&&
g_stSequnceBuffer
[
i
].
endpoint
==
endpoint
){
*
index
=
i
;
// iKonkeAfSelfPrint("\r\n#####kSequenceFindByNodeid nodeId(%02x) seq(%x) index(%d)\r\n", nodeId, g_stSequnceBuffer[i].sequence, *index);
return
g_stSequnceBuffer
[
i
].
sequence
;
}
else
iKonkeAfSelfPrint
(
"!!!nodeId(%02x)(%02x) endpoint(%d)(%d)
\r\n
"
,
\
g_stSequnceBuffer
[
i
].
nodeId
,
nodeId
,
g_stSequnceBuffer
[
i
].
endpoint
,
endpoint
);
}
return
UNKNOW_SEQUENCE
;
}
uint8_t
kSequenceFindEarliestIndex
(
void
)
{
uint8_t
index
=
0
;
uint8_t
sequence
=
0
;
for
(
uint8_t
i
=
0
;
i
<
SEQUENCE_MAX_LEN
;
i
++
){
if
(
g_stSequnceBuffer
[
i
].
sequence
!=
UNKNOW_SEQUENCE
){
if
(
sequence
>
g_stSequnceBuffer
[
i
].
sequence
){
sequence
=
g_stSequnceBuffer
[
i
].
sequence
;
index
=
i
;
}
}
}
return
index
;
}
static
ev_timer_event_t
*
kDelayClearSequence
=
NULL
;
static
s32
kDelayClearSequenceEventHandler
(
void
*
arg
)
{
iKonkeAfSelfPrint
(
"kDelayClearSequenceEventHandler111111111111
\r\n
"
);
memset
(
g_stSequnceBuffer
,
0xFF
,
sizeof
(
g_stSequnceBuffer
));
g_u8SequenceLen
=
0
;
return
-
1
;
}
void
kSequenceAdd
(
uint16_t
nodeId
,
uint8_t
endpoint
,
uint8_t
sequence
)
{
//gateway sender is not added
if
(
nodeId
==
0x0000
){
return
;
}
if
(
nodeId
!=
UNKNOW_NODEID
&&
sequence
!=
UNKNOW_SEQUENCE
){
uint8_t
index
=
0
;
if
(
kSequenceFindByNodeidAndEp
(
nodeId
,
endpoint
,
&
index
)
!=
UNKNOW_SEQUENCE
){
//replace sequence by node id, make sure one sequence one node id.
iKonkeAfSelfPrint
(
"
\r\n
#####Existed ep(%d) node id = 0x%02x sequence = 0x%x index(%d)
\r\n
"
,
endpoint
,
nodeId
,
sequence
,
index
);
//if (sequence > g_stSequnceBuffer[index].sequence){
g_stSequnceBuffer
[
index
].
nodeId
=
nodeId
;
g_stSequnceBuffer
[
index
].
sequence
=
sequence
;
g_stSequnceBuffer
[
index
].
endpoint
=
endpoint
;
//}
}
else
{
if
(
g_u8SequenceLen
>=
SEQUENCE_MAX_LEN
){
index
=
kSequenceFindEarliestIndex
();
g_stSequnceBuffer
[
index
].
nodeId
=
nodeId
;
g_stSequnceBuffer
[
index
].
sequence
=
sequence
;
g_stSequnceBuffer
[
index
].
endpoint
=
endpoint
;
iKonkeAfSelfPrint
(
"
\r\n
nodeid is full , delete earliest node id by sequence
\r\n
"
);
}
else
{
iKonkeAfSelfPrint
(
"#####kSequenceAdd111111 ep(%d) nodeId(0x%02x), seq(0x%x) len(%d)
\r\n
"
,
endpoint
,
nodeId
,
sequence
,
g_u8SequenceLen
);
g_stSequnceBuffer
[
g_u8SequenceLen
].
nodeId
=
nodeId
;
g_stSequnceBuffer
[
g_u8SequenceLen
].
sequence
=
sequence
;
g_stSequnceBuffer
[
g_u8SequenceLen
].
endpoint
=
endpoint
;
g_u8SequenceLen
++
;
}
// iKonkeAfSelfPrint("2222#####node id = 0x%02x sequence = 0x%x index(%d)\r\n", nodeId, sequence, index );
}
}
if
(
kDelayClearSequence
)
TL_ZB_TIMER_CANCEL
(
&
kDelayClearSequence
);
kDelayClearSequence
=
TL_ZB_TIMER_SCHEDULE
(
kDelayClearSequenceEventHandler
,
NULL
,
DELAY_CLEAR_SEQUENCE_TIME_MS
);
}
tl_zigbee_sdk/apps/common/00ikonke_app/general/ikk-sequence.h
0 → 100644
View file @
219e237b
#ifndef __IKONKE_MODULE_SEQ_H_______________________
#define __IKONKE_MODULE_SEQ_H_______________________
#define UNKNOW_NODEID 0xFFFF
#define UNKNOW_SEQUENCE 0xFF
#define DELAY_CLEAR_SEQUENCE_TIME_MS (10 * 1000)
uint8_t
kSequenceFindByNodeidAndEp
(
uint16_t
nodeId
,
uint8_t
endpoint
,
uint8_t
*
index
);
void
kSequenceAdd
(
uint16_t
nodeId
,
uint8_t
endpoint
,
uint8_t
sequence
);
#endif
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