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
bddf30be
Commit
bddf30be
authored
Aug 14, 2020
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】调整根据product type来获取物模型数据,json文件必须用product type命令,如:a1OYuSBt23u.json。
【提交人】陈伟灿
parent
d573fc8b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
71 deletions
+29
-71
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+7
-11
midware/midware/midware.c
midware/midware/midware.c
+3
-2
midware/tsl/tsl_handle/kk_tsl_common.h
midware/tsl/tsl_handle/kk_tsl_common.h
+1
-2
midware/tsl/tsl_handle/kk_tsl_load.c
midware/tsl/tsl_handle/kk_tsl_load.c
+17
-53
midware/tsl/tsl_handle/kk_tsl_load.h
midware/tsl/tsl_handle/kk_tsl_load.h
+1
-3
No files found.
midware/midware/dm/kk_dm_mng.c
View file @
bddf30be
...
...
@@ -144,7 +144,7 @@ int dm_mgr_device_create(_IN_ int dev_type, _IN_ char product_key[PRODUCT_KEY_MA
dm_mgr_dev_node_t
*
node
=
NULL
;
char
*
tsl_str
=
NULL
;
int
idx
=
0
;
char
name
[
TSL_PATH_MAXLEN
]
=
{
0
};
if
(
product_key
==
NULL
||
device_name
==
NULL
||
strlen
(
product_key
)
>=
PRODUCT_KEY_MAXLEN
||
strlen
(
device_name
)
>=
DEVICE_NAME_MAXLEN
)
{
...
...
@@ -163,7 +163,7 @@ int dm_mgr_device_create(_IN_ int dev_type, _IN_ char product_key[PRODUCT_KEY_MA
if
(
devid
)
{
*
devid
=
node
->
devid
;
}
return
FAIL_RETURN
;
return
TSL_ALREADY_EXIST
;
}
node
=
malloc
(
sizeof
(
dm_mgr_dev_node_t
));
...
...
@@ -188,9 +188,7 @@ int dm_mgr_device_create(_IN_ int dev_type, _IN_ char product_key[PRODUCT_KEY_MA
}
//node->dev_status = IOTX_DM_DEV_STATUS_AUTHORIZED;
memset
(
name
,
0x0
,
sizeof
(
name
));
kk_get_tsl_by_productKey
(
product_key
,
name
);
tsl_str
=
kk_load_json
(
name
);
tsl_str
=
kk_load_json
(
product_key
);
if
(
tsl_str
!=
NULL
)
{
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
);
...
...
@@ -199,7 +197,6 @@ int dm_mgr_device_create(_IN_ int dev_type, _IN_ char product_key[PRODUCT_KEY_MA
return
FAIL_RETURN
;
}
}
INIT_LIST_HEAD
(
&
node
->
linked_list
);
list_add_tail
(
&
node
->
linked_list
,
&
ctx
->
dev_list
);
...
...
@@ -954,10 +951,9 @@ int dm_mgr_subdev_create(_IN_ char product_key[PRODUCT_KEY_MAXLEN],
int
res
=
0
;
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_SUBDEV
,
product_key
,
device_name
,
device_secret
,
device_mac
,
devid
);
if
(
res
!=
SUCCESS_RETURN
)
{
printf
(
"subdev open Failed
\n
"
);
return
FAIL_RETURN
;
}
if
(
TSL_ALREADY_EXIST
==
res
)
{
printf
(
"SUBDEV ALREADY EXIST!!!
\n
"
);
}
return
res
;
}
midware/midware/midware.c
View file @
bddf30be
...
...
@@ -124,7 +124,6 @@ void kk_platMsg_handle(void* data){
proCode
=
cJSON_GetObjectItem
(
jsonPay
,
"productCode"
);
printf
(
"productType productCode mac: [%s][%s] [%s]
\n
"
,
proType
->
valuestring
,
proCode
->
valuestring
,
mac
->
valuestring
);
kk_set_tsl_by_productKey
(
proType
->
valuestring
,
"model.json"
);
kk_mid_subdev_add
(
proType
->
valuestring
,
proCode
->
valuestring
,
""
,
mac
->
valuestring
);
}
else
if
(
method
!=
NULL
&&
mac
!=
NULL
){
...
...
@@ -223,7 +222,6 @@ static int kk_set_product_info(void)
{
HAL_SetProduct_Type
(
PRODUCT_TPYE
);
HAL_SetProduct_Code
(
PRODUCT_CODE
);
kk_set_tsl_by_productKey
(
PRODUCT_TPYE
,
"gateway.json"
);
return
0
;
}
...
...
@@ -238,10 +236,12 @@ int main(const int argc, const char **argv)
kk_set_product_info
();
kk_tsl_api_init
();
kk_ipc_init
(
IPC_MID2APP
,
mid_cb
);
kk_ipc_init
(
IPC_MID2PLAT
,
mid2p_cb
);
//DB_Init();
//test_tcp();
/* when Connect to app and platfrom */
...
...
@@ -253,6 +253,7 @@ int main(const int argc, const char **argv)
}
} while (res < 0);*/
kk_init_dmproc
();
kk_subDb_init
();
mid_ctx
->
g_mid_dispatch_thread_running
=
1
;
res
=
pthread_create
(
&
mid_ctx
->
g_mid_dispatch_thread
,
NULL
,
mid_dispatch_yield
,
NULL
);
if
(
res
<
0
)
{
...
...
midware/tsl/tsl_handle/kk_tsl_common.h
View file @
bddf30be
...
...
@@ -18,8 +18,6 @@
#define DEVICE_MAC_MAXLEN (16 + 1)
#define DEVICE_SN_MAXLEN (32 + 1)
#define TSL_PATH_MAXLEN (64 + 1)
#define DM_UTILS_UINT16_STRLEN (5)
#define DM_UTILS_UINT32_STRLEN (10)
#define DM_UTILS_UINT64_STRLEN (20)
...
...
@@ -77,6 +75,7 @@ typedef enum {
}
kk_tsl_data_target_e
;
typedef
enum
{
TSL_ALREADY_EXIST
=
-
14
,
TSL_SERVICE_GET_FAILED
=
-
13
,
TSL_SERVICE_SET_FAILED
=
-
12
,
TSL_EVENT_GET_FAILED
=
-
11
,
...
...
midware/tsl/tsl_handle/kk_tsl_load.c
View file @
bddf30be
...
...
@@ -3,64 +3,27 @@
#include <stdio.h>
#include "kk_tsl_common.h"
typedef
struct
{
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
name
[
TSL_PATH_MAXLEN
];
}
kk_json_map_t
;
kk_json_map_t
s_tsl_list
[];
int
s_tsl_num
=
0
;
int
kk_set_tsl_by_productKey
(
const
char
*
key
,
const
char
*
name
)
{
if
(
key
==
NULL
||
name
==
NULL
)
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
return
FAIL_RETURN
;
}
if
(
strlen
(
key
)
>=
PRODUCT_KEY_MAXLEN
||
strlen
(
name
)
>=
TSL_PATH_MAXLEN
)
{
printf
(
"[%s][%d]length error!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
return
FAIL_RETURN
;
}
memset
(
s_tsl_list
[
s_tsl_num
].
product_key
,
0x0
,
sizeof
(
s_tsl_list
[
s_tsl_num
].
product_key
));
memset
(
s_tsl_list
[
s_tsl_num
].
name
,
0x0
,
sizeof
(
s_tsl_list
[
s_tsl_num
].
name
));
memcpy
(
s_tsl_list
[
s_tsl_num
].
product_key
,
key
,
strlen
(
key
));
memcpy
(
s_tsl_list
[
s_tsl_num
].
name
,
name
,
strlen
(
name
));
s_tsl_num
++
;
return
SUCCESS_RETURN
;
}
int
kk_get_tsl_by_productKey
(
const
char
*
key
,
char
*
name
)
{
int
index
=
0
;
if
(
key
==
NULL
)
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
return
FAIL_RETURN
;
}
for
(
index
=
0
;
index
<
s_tsl_num
;
index
++
)
{
if
((
strlen
(
key
)
==
strlen
(
s_tsl_list
[
index
].
product_key
))
&&
(
memcmp
(
s_tsl_list
[
index
].
product_key
,
key
,
strlen
(
key
))
==
0
))
{
memcpy
(
name
,
s_tsl_list
[
index
].
name
,
strlen
(
s_tsl_list
[
index
].
name
));
return
SUCCESS_RETURN
;
}
}
printf
(
"[%s][%d]Not exist!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
return
FAIL_RETURN
;
}
char
*
kk_load_json
(
const
char
*
tslFile
)
#define TSL_PATH_FILE "/home/tsl/%s.json"
char
*
kk_load_json
(
const
char
*
product_type
)
{
FILE
*
fp
;
char
*
buf
=
NULL
;
char
*
tslPath
=
NULL
;
int
path_len
=
0
;
unsigned
int
filesize
;
printf
(
"[%s][%d]tslFile:%s!!!
\n
"
,
__FUNCTION__
,
__LINE__
,
tslFile
);
if
(
!
(
fp
=
fopen
(
tslFile
,
"a+"
)))
path_len
=
strlen
(
TSL_PATH_FILE
)
+
strlen
(
product_type
)
+
1
;
tslPath
=
malloc
(
path_len
);
if
(
tslPath
==
NULL
){
return
NULL
;
}
memset
(
tslPath
,
0x0
,
path_len
);
snprintf
(
tslPath
,
path_len
,
TSL_PATH_FILE
,
product_type
);
printf
(
"
\n
[%s][%d]tslPath:%s!!!
\n
"
,
__FUNCTION__
,
__LINE__
,
tslPath
);
if
(
!
(
fp
=
fopen
(
tslPath
,
"a+"
)))
{
printf
(
"can't open the file account.txt
\n
"
);
free
(
tslPath
);
return
NULL
;
}
fseek
(
fp
,
0L
,
SEEK_END
);
...
...
@@ -70,6 +33,7 @@ char* kk_load_json(const char *tslFile)
if
(
buf
==
NULL
)
{
printf
(
"MALLOC FAIL!!!
\n
"
);
free
(
tslPath
);
return
NULL
;
}
...
...
@@ -77,7 +41,7 @@ char* kk_load_json(const char *tslFile)
fseek
(
fp
,
0L
,
SEEK_SET
);
fread
(
buf
,
1
,
filesize
,
fp
);
//printf("%s!!!\n",buf);
//free(buf
);
free
(
tslPath
);
return
buf
;
}
midware/tsl/tsl_handle/kk_tsl_load.h
View file @
bddf30be
#ifndef __TSL_DATA_LOAD__
#define __TSL_DATA_LOAD__
extern
char
*
kk_load_json
(
const
char
*
tslFile
);
extern
int
kk_get_tsl_by_productKey
(
const
char
*
key
,
char
*
name
);
extern
int
kk_set_tsl_by_productKey
(
const
char
*
key
,
const
char
*
name
);
char
*
kk_load_json
(
const
char
*
product_type
);
#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