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
f9cfef42
Commit
f9cfef42
authored
Oct 09, 2020
by
陈伟灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'cwc' into 'master'
【修改内容】增加物模型中heartbeat的解析 See merge request chenweican/k-sdk!38
parents
08dd429e
048c4aa3
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
79 additions
and
40 deletions
+79
-40
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+16
-10
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+6
-6
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+8
-7
midware/midware/dm/kk_sub_db.h
midware/midware/dm/kk_sub_db.h
+15
-15
midware/midware/midware.c
midware/midware/midware.c
+4
-1
midware/tsl/tsl_handle/kk_tsl_api.c
midware/tsl/tsl_handle/kk_tsl_api.c
+3
-0
midware/tsl/tsl_handle/kk_tsl_common.h
midware/tsl/tsl_handle/kk_tsl_common.h
+2
-0
midware/tsl/tsl_handle/kk_tsl_parse.c
midware/tsl/tsl_handle/kk_tsl_parse.c
+25
-1
No files found.
midware/midware/dm/kk_dm_mng.c
View file @
f9cfef42
...
@@ -202,7 +202,7 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
...
@@ -202,7 +202,7 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
}
}
}
}
int
dm_mgr_device_create
(
_IN_
int
dev_type
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
int
dm_mgr_device_create
(
_IN_
int
dev_type
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
)
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
,
_OU_
int
*
heartbeat
)
{
{
int
res
=
0
;
int
res
=
0
;
dm_mgr_ctx
*
ctx
=
_dm_mgr_get_ctx
();
dm_mgr_ctx
*
ctx
=
_dm_mgr_get_ctx
();
...
@@ -253,11 +253,13 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
...
@@ -253,11 +253,13 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
if
(
tsl_str
!=
NULL
)
if
(
tsl_str
!=
NULL
)
{
{
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
);
int
heartbeat
=
0
;
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
,
&
heartbeat
);
free
(
tsl_str
);
free
(
tsl_str
);
if
(
res
!=
0
){
if
(
res
!=
0
){
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
node
->
hb_timeout
=
heartbeat
;
}
}
else
{
else
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -273,6 +275,9 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
...
@@ -273,6 +275,9 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
if
(
devid
)
{
if
(
devid
)
{
*
devid
=
node
->
devid
;
*
devid
=
node
->
devid
;
}
}
if
(
heartbeat
){
*
heartbeat
=
node
->
hb_timeout
;
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -390,7 +395,10 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
...
@@ -390,7 +395,10 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_CCU
){
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_CCU
){
continue
;
continue
;
}
}
if
((
timestamp
-
search_node
->
timestamp
)
>=
TEST_TIMEOUT
/*search_node->hb_timeout*/
){
if
(
search_node
->
hb_timeout
==
0
){
search_node
->
hb_timeout
=
TEST_TIMEOUT
;
}
if
((
timestamp
-
search_node
->
timestamp
)
>=
search_node
->
hb_timeout
/*search_node->hb_timeout*/
){
if
(
search_node
->
isOffline
==
0
){
if
(
search_node
->
isOffline
==
0
){
INFO_PRINT
(
"---------->dev timeout,send offline
\n
"
);
INFO_PRINT
(
"---------->dev timeout,send offline
\n
"
);
...
@@ -399,8 +407,6 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
...
@@ -399,8 +407,6 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
kk_subDev_update_offline
(
search_node
->
isOffline
,
search_node
->
deviceCode
);
kk_subDev_update_offline
(
search_node
->
isOffline
,
search_node
->
deviceCode
);
}
}
//_dm_mgr_mutex_unlock();
//return DEVICE_HEARTBEAT_TIMEOUT;
}
}
else
{
else
{
if
(
search_node
->
isOffline
==
1
&&
search_node
->
timestamp
!=
0
)
{
//need send online
if
(
search_node
->
isOffline
==
1
&&
search_node
->
timestamp
!=
0
)
{
//need send online
...
@@ -458,7 +464,7 @@ int dm_mgr_init(void)
...
@@ -458,7 +464,7 @@ int dm_mgr_init(void)
char
productCode
[
PRODUCT_CODE_MAXLEN
]
=
{
0
};
char
productCode
[
PRODUCT_CODE_MAXLEN
]
=
{
0
};
char
deviceCode
[
DEVICE_CODE_MAXLEN
]
=
{
0
};
char
deviceCode
[
DEVICE_CODE_MAXLEN
]
=
{
0
};
char
mac
[
DEVICE_MAC_MAXLEN
]
=
{
0
};
char
mac
[
DEVICE_MAC_MAXLEN
]
=
{
0
};
int
devId
=
0
;
int
devId
=
0
,
heartbeat
=
0
;
memset
(
ctx
,
0
,
sizeof
(
dm_mgr_ctx
));
memset
(
ctx
,
0
,
sizeof
(
dm_mgr_ctx
));
/* Create Mutex */
/* Create Mutex */
...
@@ -474,7 +480,7 @@ int dm_mgr_init(void)
...
@@ -474,7 +480,7 @@ int dm_mgr_init(void)
HAL_Get_mac
(
mac
);
HAL_Get_mac
(
mac
);
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
"CCU_66666"
,
mac
,
""
,
0
,
&
devId
);
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
"CCU_66666"
,
mac
,
""
,
0
,
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
goto
ERROR
;
goto
ERROR
;
}
}
...
@@ -1415,10 +1421,10 @@ int dm_mgr_ota_report_version(_IN_ int devid, char *version)
...
@@ -1415,10 +1421,10 @@ int dm_mgr_ota_report_version(_IN_ int devid, char *version)
int
dm_mgr_subdev_create
(
int
devtype
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
int
dm_mgr_subdev_create
(
int
devtype
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
){
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
,
_OU_
int
*
heartbeat
){
int
res
=
0
;
int
res
=
0
;
res
=
dm_mgr_device_create
(
devtype
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
isOffline
,
devid
);
res
=
dm_mgr_device_create
(
devtype
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
isOffline
,
devid
,
heartbeat
);
if
(
TSL_ALREADY_EXIST
==
res
)
if
(
TSL_ALREADY_EXIST
==
res
)
{
{
ERROR_PRINT
(
"SUBDEV ALREADY EXIST!!!
\n
"
);
ERROR_PRINT
(
"SUBDEV ALREADY EXIST!!!
\n
"
);
...
...
midware/midware/dm/kk_linkkit.c
View file @
f9cfef42
...
@@ -2029,8 +2029,8 @@ int iot_linkkit_subdev_query_id(char product_key[IOTX_PRODUCT_KEY_LEN + 1], char
...
@@ -2029,8 +2029,8 @@ int iot_linkkit_subdev_query_id(char product_key[IOTX_PRODUCT_KEY_LEN + 1], char
int
kk_mid_subdev_add
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
kk_mid_subdev_add
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
res
=
0
;
int
res
=
0
;
int
devid
=
0
;
int
devid
=
0
;
int
heartbeat
=
0
;
res
=
dm_mgr_subdev_create
(
devType
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
);
res
=
dm_mgr_subdev_create
(
devType
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
ERROR_PRINT
(
"subdev create Failed
\n
"
);
ERROR_PRINT
(
"subdev create Failed
\n
"
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -2040,7 +2040,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2040,7 +2040,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
if
(
TSL_ALREADY_EXIST
==
res
){
if
(
TSL_ALREADY_EXIST
==
res
){
//todo
//todo
}
else
{
}
else
{
res
=
kk_subDev_insert_db
(
devType
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
);
res
=
kk_subDev_insert_db
(
devType
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
,
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
...
@@ -2065,8 +2065,8 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2065,8 +2065,8 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
int
kk_mid_subdev_batch_add
(
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
kk_mid_subdev_batch_add
(
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
res
=
0
;
int
res
=
0
;
int
devid
=
0
;
int
devid
=
0
;
int
heartbeat
=
0
;
res
=
dm_mgr_subdev_create
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
);
res
=
dm_mgr_subdev_create
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
ERROR_PRINT
(
"subdev create Failed
\n
"
);
ERROR_PRINT
(
"subdev create Failed
\n
"
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -2076,7 +2076,7 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
...
@@ -2076,7 +2076,7 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
if
(
TSL_ALREADY_EXIST
==
res
){
if
(
TSL_ALREADY_EXIST
==
res
){
//todo
//todo
}
else
{
}
else
{
res
=
kk_subDev_insert_db
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
);
res
=
kk_subDev_insert_db
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
,
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
...
...
midware/midware/dm/kk_sub_db.c
View file @
f9cfef42
...
@@ -72,7 +72,8 @@ static int kk_subDev_db_Init(void)
...
@@ -72,7 +72,8 @@ static int kk_subDev_db_Init(void)
fatherDeviceCode varchar(33), \
fatherDeviceCode varchar(33), \
version varchar(33), \
version varchar(33), \
isAuth INTEGER, \
isAuth INTEGER, \
devType INTEGER)"
;
devType INTEGER, \
heartbeat INTEGER)"
;
char
*
pcErr
;
char
*
pcErr
;
...
@@ -98,7 +99,7 @@ static int _kk_load_subDevice(void)
...
@@ -98,7 +99,7 @@ static int _kk_load_subDevice(void)
const
char
*
searchCmd
=
"select * from SubDeviceInfo;"
;
const
char
*
searchCmd
=
"select * from SubDeviceInfo;"
;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
int
devId
=
0
;
int
devId
=
0
,
heartbeat
=
0
;
int
res
=
0
;
int
res
=
0
;
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
...
@@ -108,7 +109,7 @@ static int _kk_load_subDevice(void)
...
@@ -108,7 +109,7 @@ static int _kk_load_subDevice(void)
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_int
(
stmt
,
DB_ONLINE
),
&
devId
);
sqlite3_column_int
(
stmt
,
DB_ONLINE
),
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
ERROR_PRINT
(
"[%s][%d]dm_mgr_subdev_create FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
ERROR_PRINT
(
"[%s][%d]dm_mgr_subdev_create FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
...
@@ -181,10 +182,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
...
@@ -181,10 +182,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
}
}
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
])
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
,
int
heartbeat
)
{
{
const
char
*
insertCmd
=
"insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType) \
const
char
*
insertCmd
=
"insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType
,heartbeat
) \
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d');"
;
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d'
,'%d'
);"
;
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
int
rc
=
0
;
int
rc
=
0
;
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
...
@@ -197,7 +198,7 @@ int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
...
@@ -197,7 +198,7 @@ int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
ctx
->
subDevNum
,
0
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
version
,
0
,
devType
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
ctx
->
subDevNum
,
0
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
version
,
0
,
devType
,
heartbeat
);
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/dm/kk_sub_db.h
View file @
f9cfef42
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
int
kk_subDb_init
(
void
);
int
kk_subDb_init
(
void
);
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherMac
[
DEVICE_MAC_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
);
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherMac
[
DEVICE_MAC_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
,
int
heartbeat
);
int
kk_subDev_delete_byMac
(
char
device_mac
[
DEVICE_MAC_MAXLEN
]);
int
kk_subDev_delete_byMac
(
char
device_mac
[
DEVICE_MAC_MAXLEN
]);
...
...
midware/midware/midware.c
View file @
f9cfef42
...
@@ -374,7 +374,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -374,7 +374,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
int
idx
=
0
;
int
idx
=
0
;
kk_tsl_event_t
*
eventItem
=
NULL
;
kk_tsl_event_t
*
eventItem
=
NULL
;
char
tmpStr
[
128
]
=
{
0
};
char
tmpStr
[
128
]
=
{
0
};
dm_mgr_get_device_shadow_by_devicecode
(
info_dcode
->
valuestring
,
&
dev_shadow
);
res
=
dm_mgr_get_device_shadow_by_devicecode
(
info_dcode
->
valuestring
,
&
dev_shadow
);
if
(
res
<
SUCCESS_RETURN
)
{
goto
error
;
}
for
(
idx
=
0
;
idx
<
dev_shadow
->
event_number
;
idx
++
){
for
(
idx
=
0
;
idx
<
dev_shadow
->
event_number
;
idx
++
){
eventItem
=
dev_shadow
->
events
+
idx
;
eventItem
=
dev_shadow
->
events
+
idx
;
if
(
eventItem
!=
NULL
){
if
(
eventItem
!=
NULL
){
...
...
midware/tsl/tsl_handle/kk_tsl_api.c
View file @
f9cfef42
...
@@ -233,6 +233,9 @@ static int _kk_msg_set_numberOrStr(kk_msg_set_type_t type, kk_tsl_t *dev_shadow,
...
@@ -233,6 +233,9 @@ static int _kk_msg_set_numberOrStr(kk_msg_set_type_t type, kk_tsl_t *dev_shadow,
}
}
break
;
break
;
case
KK_TSL_DATA_TYPE_DOUBLE
:
{
case
KK_TSL_DATA_TYPE_DOUBLE
:
{
if
(
root
->
type
==
cJSON_String
&&
root
->
value_length
>
0
){
root
->
value_double
=
atof
(
root
->
value
);
}
res
=
set_shadow_data_func
(
dev_shadow
,
key
,
strlen
(
key
),
&
root
->
value_double
,
0
);
res
=
set_shadow_data_func
(
dev_shadow
,
key
,
strlen
(
key
),
&
root
->
value_double
,
0
);
}
}
break
;
break
;
...
...
midware/tsl/tsl_handle/kk_tsl_common.h
View file @
f9cfef42
...
@@ -53,6 +53,8 @@
...
@@ -53,6 +53,8 @@
#define KK_TSL_KEY_LENGTH "length"
#define KK_TSL_KEY_LENGTH "length"
#define KK_TSL_KEY_SIZE "size"
#define KK_TSL_KEY_SIZE "size"
#define KK_TSL_KEY_ITEM "item"
#define KK_TSL_KEY_ITEM "item"
#define KK_TSL_KEY_HEARTBEAT "heartbeat"
#define KK_MSG_KEY_DELIMITER '.'
#define KK_MSG_KEY_DELIMITER '.'
#define KK_URI_SERVICE_DELIMITER '/'
#define KK_URI_SERVICE_DELIMITER '/'
#define KK_URI_OFFSET 0
#define KK_URI_OFFSET 0
...
...
midware/tsl/tsl_handle/kk_tsl_parse.c
View file @
f9cfef42
...
@@ -1580,7 +1580,28 @@ int kk_tsl_assemble_service_output(_IN_ kk_tsl_t *shadow, _IN_ char *identifier,
...
@@ -1580,7 +1580,28 @@ int kk_tsl_assemble_service_output(_IN_ kk_tsl_t *shadow, _IN_ char *identifier,
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_tsl_create
(
_IN_
const
char
*
tsl
,
_IN_
int
tsl_len
,
_OU_
kk_tsl_t
**
shadow
)
static
int
_kk_tsl_heartbeat_parse
(
_OU_
int
*
heartbeat
,
_IN_
lite_cjson_t
*
root
)
{
int
res
=
0
;
lite_cjson_t
lite_item
;
lite_cjson_t
lite_item_heartbeat
;
//Parse Identifier (Mandatory)
memset
(
&
lite_item
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_PROFILE
,
strlen
(
KK_TSL_KEY_PROFILE
),
&
lite_item
);
if
(
res
!=
SUCCESS_RETURN
||
!
lite_cjson_is_object
(
&
lite_item
))
{
return
JSON_PARSE_FAILED
;
}
res
=
lite_cjson_object_item
(
&
lite_item
,
KK_TSL_KEY_HEARTBEAT
,
strlen
(
KK_TSL_KEY_HEARTBEAT
),
&
lite_item_heartbeat
);
if
(
res
!=
SUCCESS_RETURN
||
!
lite_cjson_is_string
(
&
lite_item_heartbeat
))
{
return
JSON_PARSE_FAILED
;
}
*
heartbeat
=
atoi
(
lite_item_heartbeat
.
value
)
*
1000
;
return
SUCCESS_RETURN
;
}
int
kk_tsl_create
(
_IN_
const
char
*
tsl
,
_IN_
int
tsl_len
,
_OU_
kk_tsl_t
**
shadow
,
_OU_
int
*
heartbeat
)
{
{
int
res
=
0
;
int
res
=
0
;
lite_cjson_t
lite_root
;
lite_cjson_t
lite_root
;
...
@@ -1603,6 +1624,9 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
...
@@ -1603,6 +1624,9 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
return
JSON_PARSE_FAILED
;
return
JSON_PARSE_FAILED
;
}
}
// Parse heartbeat time
_kk_tsl_heartbeat_parse
(
heartbeat
,
&
lite_root
);
//Parse Properties (Mandatory)
//Parse Properties (Mandatory)
res
=
_kk_tsl_properties_parse
(
*
shadow
,
&
lite_root
);
res
=
_kk_tsl_properties_parse
(
*
shadow
,
&
lite_root
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
...
...
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