Skip to content

Commit fca61d6

Browse files
committed
feat : Release SDK v2.0.3
Signed-off-by: Junyoun <[email protected]>
0 parents  commit fca61d6

File tree

462 files changed

+91073
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+91073
-0
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!--
2+
Thank you for your interest in contributing to the SmartThings SDK for Direct Connected Devices.
3+
Please read & check through marking lists before submitting pull requests.
4+
-->
5+
6+
## Marking lists
7+
- [x] I have read the [Contributing Guidelines](https://github.com/SmartThingsCommunity/st-device-sdk-c/blob/master/CONTRIBUTING.md).
8+
- [x] I have read the [Samsung Individual CLA](https://github.com/SmartThingsCommunity/st-device-sdk-c/blob/master/doc/SAMSUNGCLA.docx) and agree with it
9+
* We (SmartThings SDK team) may ask you to sign it for larger changes. In this case, once we receive it, we'll be able to accept your pull requests according to relevant laws.
10+
11+
- I submitted this PR against the correct branch:
12+
- [x] This pull-request is based on the latest [develop](https://github.com/SmartThingsCommunity/st-device-sdk-c/tree/develop) branch.
13+
- [x] I have ensured local tests pass about my code changes.
14+
15+
## License
16+
17+
Your contribution will be licensed under the [Apache License Ver2.0](https://github.com/SmartThingsCommunity/st-device-sdk-c/blob/master/LICENSE).

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
src/deps/curl/curl/
2+
src/deps/json/cJSON/
3+
src/deps/libsodium/libsodium/
4+
src/deps/lwip/lwip/
5+
src/deps/mbedtls/mbedtls/
6+
tools/keygen/linux/ed25519*
7+
tools/keygen/linux/output_*
8+
tools/keygen/output_*
9+
doc/doxygen/
10+
build/
11+
output/

.gitmodules

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[submodule "src/deps/libsodium/libsodium"]
2+
path = src/deps/libsodium/libsodium
3+
url = https://github.com/jedisct1/libsodium.git
4+
[submodule "src/deps/json/cJSON"]
5+
path = src/deps/json/cJSON
6+
url = https://github.com/DaveGamble/cJSON.git
7+
[submodule "src/deps/mbedtls/mbedtls"]
8+
path = src/deps/mbedtls/mbedtls
9+
url = https://github.com/ARMmbed/mbedtls.git
10+
[submodule "src/deps/curl/curl"]
11+
path = src/deps/curl/curl
12+
url = https://github.com/curl/curl.git

CHANGELOG

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# HISTORY
2+
3+
## 2.0.3 : Changes for version 2.0.3
4+
5+
Enhancements or amendments:
6+
7+
- Update 2.0 release description
8+
- Remove unnessary duplicate conversions between string and integer in time type
9+
10+
Bug fixed:
11+
12+
- Fix wrong task queue manipulation logic in mqtt client
13+
14+
## 2.0.2 : Changes for version 2.0.2
15+
16+
Enhancements or amendments:
17+
18+
- Documents update for STDK 2.0
19+
20+
## 2.0.1 : Changes for version 2.0.1
21+
22+
New Improvements or features:
23+
24+
- Supporting ED25519 BLE Onboarding feature
25+
26+
Enhancements or amendments:
27+
28+
- Main task is working based on events instead of polling.
29+
- Remove Capability command arguments count limit.
30+
- Unmaintained porting layers and examples were deleted.
31+
-- Deleted examples
32+
-- posix
33+
-- raspberry
34+
-- Deleted porting layer
35+
-- MX Chips (emw3080, emw3166)
36+
-- Realtek (RTL8195, RTL8720c, RTL8721c)
37+
-- linux
38+
-- tizenrt
39+
-- openssl
40+
41+
Bug fixed:
42+
43+
- Unit test codes for the latest SDK code were updated.
44+
- Unit test cases were added and failed ones were modified.
45+
46+
## 1.8.12 : Changes for version 1.8.12
47+
48+
New Improvements or features
49+
50+
- Add new iot_bsp_wifi porting API to get auth mode
51+
- add caps helper for pH Measurement
52+
- Add support of network error code for user help contents
53+
- Add esp32 example
54+
- Add raspberry pi example
55+
- Apply backoff algorithm when MQTT reconnecting
56+
- Support Device Preference feature.
57+
58+
Enhancements or amendments
59+
60+
- Replace internal queue implement with internal data struct(Remove porting API)
61+
- Refactoring iot-main core logic
62+
-- st_conn_start do not block until onboarding done.
63+
- Update fanOscilationMode cap helper
64+
- Support esp-idf v5.0
65+
66+
## 1.7.0 : Changes for version 1.7.0
67+
68+
New Improvements or features
69+
70+
- Add changing device name feature
71+
-- New API : st_change_device_name() added
72+
- Add 'esp32c3' bsp and modify related component.mk/cmake file
73+
- Add capability helper for 'mode' capability
74+
75+
Enhancements or amendments
76+
77+
- Add the history feed displaying control options of the struct iot_cap_attr_option_t
78+
-- To control whether the event should be displayed in the history feed of the mobile App
79+
80+
Bug fixed
81+
82+
- Fix Static Code Analysis report
83+
-- iot_api:iot_main: Uses 'type casting' to fit in printf format sepcifier
84+
- Fix multiple definition of main error for deps/json : prevent cJSON/test.c building
85+
86+
## 1.4.7 : Changes for version 1.4.7
87+
88+
New Improvements or features
89+
90+
- Allow to query device's wifi scanlist while easysetup device-to-device communication.
91+
92+
Bug fixed
93+
94+
- Fix memleak during easysetup
95+
96+
## 1.4.6 : Changes for version 1.4.6
97+
98+
Enhancements or amendments
99+
100+
- Add more detailed control of sntp service.
101+
- Send OS version to cloud.
102+
103+
Bug fixed
104+
105+
- Fixed error when calling nvs_partition_gen.py at stdk-keygen.py.
106+
- Fix build errors.
107+
- Fix easysetup failure issue when iot-core try to open not existing file.
108+
- Fix memleak at easysetup cgi handler.
109+
110+
Supported Porting Layer
111+
112+
BSP
113+
114+
- ESP32, ESP32S2
115+
- ESP8266
116+
- RTL8915
117+
- RTL8720C, RTL8721C
118+
- TizenRT - TizenRT has platform own hardware/bsp abstraction layer
119+
120+
OS
121+
122+
- FreeRTOS
123+
- Mocos
124+
- TizenRT
125+
126+
## 1.4.5 : Changes for version 1.4.5
127+
128+
Supported Porting Layer
129+
130+
BSP
131+
132+
- ESP32, ESP32S2
133+
- ESP8266
134+
- RTL8915
135+
- RTL8720C
136+
- RTL8721C
137+
- TizenRT - TizenRT has platform own hardware/bsp abstraction layer
138+
139+
OS
140+
141+
- FreeRTOS
142+
- Mocos
143+
- TizenRT
144+
145+
## 1.1.0 : Changes for version 1.1.0
146+
147+
* Need to use over the Mobile's SmartThings Apps v1.7.43 (for Android)
148+
149+
New Improvements or features:
150+
151+
- Supports TizenRT based target - port TizenRT wrapper
152+
- The port number changed for httpd during easy-setup
153+
- Added new IOT_STAT_LV_CONN to notify it to user
154+
- Added implementation of iot_bsp_wifi_get_mac()
155+
- Supports rtl8720c bsp based target
156+
- Supports mbedTLS usage in posix solution (instead of openssl, you can use mbedTLS for posix)
157+
- Added rtl8721csm porting layer
158+
- Update keygen tool - v2.1
159+
160+
Enhancements or amendments:
161+
162+
- Don't send MQTT ping during there is outstanding packet
163+
- Only support for dynamic buffer allocation in MQTT layer
164+
- Add a contributing guideline
165+
- Check the uuid validation
166+
- Change lookup_id removing timing
167+
- Increase the maximum number of sacn results
168+
- Make iot_mqtt.h layer to import external MQTT solution
169+
- Separate internal network interface layer
170+
- Some function naming changed for httpd_init/deinit
171+
- Internal network function related code cleanup
172+
- Change auth mode to verify the certifcate
173+
174+
Bug fixed:
175+
176+
- Fix rtl-chipset not support web security type connection issue
177+
- Added easy-setup resources checking flag & deleting routine to avoid memory leaking
178+
- Fix rtl-chipset based "RTW API: Join bss timeout" issue
179+
- Fix wi-fi memory leak
180+
- Internal network related build error fix
181+
182+
## 1.0.0 : Initial public release.

CMakeLists.txt

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
cmake_minimum_required(VERSION 3.13)
2+
project(st_device_sdk_c C)
3+
4+
set(CMAKE_CXX_FLAGS_UNITTEST "-g --coverage -DSUPPORT_TC_ON_STATIC_FUNC" CACHE STRING
5+
"Flags used by the C++ compiler during unit test builds."
6+
FORCE)
7+
set(CMAKE_C_FLAGS_UNITTEST "-g --coverage -DSUPPORT_TC_ON_STATIC_FUNC" CACHE STRING
8+
"Flags used by the C compiler during unit test builds."
9+
FORCE)
10+
set(CMAKE_EXE_LINKER_FLAGS_UNITTEST "--coverage" CACHE STRING
11+
"Flags used for linking binaries during unit test builds."
12+
FORCE)
13+
set(CMAKE_SHARED_LINKER_FLAGS_UNITTEST "--coverage" CACHE STRING
14+
"Flags used by the shared libraries linker during unit test builds."
15+
FORCE
16+
)
17+
mark_as_advanced(
18+
CMAKE_CXX_FLAGS_UNITTEST
19+
CMAKE_C_FLAGS_UNITTEST
20+
CMAKE_EXE_LINKER_FLAGS_UNITTEST
21+
CMAKE_SHARED_LINKER_FLAGS_UNITTEST)
22+
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
23+
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel UnitTest."
24+
FORCE
25+
)
26+
27+
if(NOT STDK_IOT_CORE_USE_DEFINED_CONFIG)
28+
if(EXISTS ${stdk_config})
29+
message("include stdk_config : ${stdk_config}")
30+
include("${stdk_config}")
31+
else()
32+
message("include default stdk_config")
33+
include("stdkconfig.cmake")
34+
endif()
35+
endif()
36+
37+
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES UnitTest)
38+
foreach(stdk_extra_cflags ${STDK_UNITTEST_EXTRA_CFLAGS})
39+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${stdk_extra_cflags}")
40+
set(${stdk_extra_cflags} "y")
41+
endforeach()
42+
43+
set(MOCKED_FUNCTIONS
44+
iot_os_malloc
45+
iot_os_realloc
46+
iot_os_free
47+
iot_os_strdup
48+
iot_os_delay
49+
iot_bsp_wifi_get_scan_result
50+
iot_bsp_wifi_get_mac
51+
iot_bsp_wifi_set_mode
52+
iot_bsp_system_set_time_in_sec
53+
port_net_read
54+
port_net_write
55+
port_net_connect
56+
port_net_read_poll
57+
port_net_close
58+
port_net_free
59+
)
60+
else()
61+
foreach(stdk_extra_cflags ${STDK_EXTRA_CFLAGS})
62+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${stdk_extra_cflags}")
63+
set(${stdk_extra_cflags} "y")
64+
endforeach()
65+
endif()
66+
67+
add_subdirectory(src)
68+
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES UnitTest)
69+
add_subdirectory(test)
70+
endif()

CONTRIBUTING.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Contributing Guidelines
2+
3+
Thank you for your interest in contributing to the SmartThings Device SDK(STDK for short) project. Please read through this document before submitting any issues or pull requests.
4+
5+
## Contributing
6+
7+
If you encounter any bugs, have suggestions for new features, please contribute to our project. It is really appreciated. If you need to have additional information about contribution or have a question, please send an [e-mail]([email protected]). We will respond to your mail promptly.
8+
9+
### Contributor License Agreement
10+
11+
A Contributor is a developer who wishes to contribute to the Project at any level. If you would like to become a contributor to this project, please fill out & sign the [Contributor License Agreement (CLA)](https://github.com/SmartThingsCommunity/st-device-sdk-c/blob/master/doc/SAMSUNGCLA.docx) and return it.
12+
13+
Specially, we may ask you to sign it for larger changes. In this case, once we receive it, we'll be able to accept your pull requests according to relevant laws.
14+
15+
### Reporting Bugs/Feature Request
16+
17+
We welcome you to use the GitHub issue tracker to report bugs or suggest features. Please try to include as much information as you can. This is very helpful for us to respond effectively to your bug report or contribution.
18+
19+
> Note :
20+
>
21+
> When using the GitHub issue tracker, please don't upload your privacy data(e.g. Serial Number, MNID and so on) in there. Please just include the examples below.
22+
23+
Examples of useful information :
24+
25+
- A reproducible test steps
26+
- The STDK version being used
27+
- The Device(Board Name) & BSP information being used (e.g. WEMOS D1 Mini & esp8266)
28+
- If there is, any modifications you've made
29+
- If there is, anything unusual about your environment
30+
31+
### Pull Requests
32+
33+
We would love to accept your patches. Please contribute patches via Pull Requests.
34+
35+
According to the our SCM(Software Configuration Management) policy, the `master` branch will be managed for official releases. Therefore we will just merge your patches into the `develop` branch after minimally testing to ensure nothing major is broken. And these patches which were merged into the `develop` branch through several Pull Requests will eventually be integrated into the `master` branch after passing the test on all supported platforms.
36+
37+
1. Fork the repository.
38+
2. Develop based on the [develop](https://github.com/SmartThingsCommunity/st-device-sdk-c/tree/develop) branch.
39+
3. Ensure that your code adheres to the existing style in the sample to which you are contributing.
40+
4. Ensure local tests pass about your code changes.
41+
5. In order to ensure that the Pull Request is integrated without a merge conflict, please create a Pull Request based on the latest `develop` branch.
42+
6. Finally, create a pull request against the `develop` branch.
43+
44+
### Security issue notifications
45+
46+
If you discover a potential security issue in this project we ask that you notify us via our [e-mail](mailto:[email protected]). Please do NOT create a public GitHub issue.
47+
48+
### License
49+
50+
Your contribution will be licensed under the [Apache License Ver2.0](https://github.com/SmartThingsCommunity/st-device-sdk-c/blob/master/LICENSE). If another license code is found in your patches, we will ask you to modify them. If possible, please ensure that there are no another licenses in your contribution prior to creation a Pull Request.

0 commit comments

Comments
 (0)