Skip to content

Commit 4f75846

Browse files
authored
Merge pull request #71 from ARMmbed/release-4.5.0
mbed-cloud-client-example 4.5.0
2 parents 86f8992 + 0724390 commit 4f75846

File tree

94 files changed

+7349
-298
lines changed

Some content is hidden

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

94 files changed

+7349
-298
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog for Pelion Device Management Client example application
22

3+
## Release 4.5.0 (12.06.2020)
4+
5+
* Added support for MIMXRT1060-EVK board for NXP FreeRTOS SDK.
6+
* Increased the Renesas RA6M3 Ethernet buffers from 1+1 to 4+4 to increase stability.
7+
* Updated to Pelion E2E test library v0.2.6.
8+
* Added a network error counter that resets the device if too many errors have occurred
9+
* Added sleeping device example that is enabled with `MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE` option. The sleepy device will `pause` the client when client goes to sleep,
10+
whenever application will try to send notification, if the client is `paused` then application will first `resume` client and then send notification.
11+
* Added support for Device Sentry feature for Mbed OS and Linux.
12+
* Mbed OS - the feature is enabled for K66F board.
13+
* Linux - the feature is enabled by passing cmake ENABLE_DEVICE_SENTRY flag to cmake.
14+
* **Breaking changes** (Due to update of SE ATECC608A driver , the application is not compatible with previous releases of SE ATECC608A driver).
15+
* Updated SE ATECC608A driver `COMPONENT_ATECC608A.lib`.
16+
* Updated mbed-cloud-client-platform-common `platform.lib` - includes adaptation for new SE ATECC608A driver.
17+
* Updated `EK-RA6M3` to use Renesas `Arm® Secure Boot Solution for RA6M3 MCU Group` version 1.1.0.
18+
* [Mbed OS] Added explicit Device Key generation. This is for future-compatibility with Mbed OS 6 and is only in use with Mbed OS 6 builds.
19+
320
## Release 4.4.0 (17.04.2020)
421

522
* Added support for NXP FreeRTOS SDK.

TESTS/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Validation and testing for the client configuration with Pelion end-to-end python test library
2+
3+
Basic requirements for Pelion capabilities:
4+
5+
- Connects to Pelion in developer mode.
6+
- Firmware can be updated.
7+
- Responsive to REST API commands.
8+
9+
Installation of the test-library:
10+
11+
- Install the prerequisites listed in the README of the [pelion-e2e-python-test-library](https://github.com/ARMmbed/pelion-e2e-python-test-library).
12+
- Configure your API-key as instructed in the same README.
13+
14+
15+
Basic tests can be then executed as:
16+
17+
`pytest TESTS/pelion-e2e-python-test-library/tests/dev-client-tests.py --update_bin=/home/user/mbed-cloud-client-example/mbed-cloud-client-example_update.bin`
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://github.com/ARMmbed/pelion-e2e-python-test-library/#d1fc79b17c9b6e0707dbf7ce36a75a6576b089b6
1+
https://github.com/ARMmbed/pelion-e2e-python-test-library/#39e118e03dc89f1800922f3a91d219b25c45cb1a

define.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@ add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=1)
3838
add_definitions(-DPLATFORM_ENABLE_BUTTON=1)
3939
add_definitions(-DPLATFORM_ENABLE_LED=1)
4040

41+
if(ENABLE_DEVICE_SENTRY)
42+
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_ENABLE_DEVICE_SENTRY)
43+
message("Enable Device Sentry feature")
44+
endif(ENABLE_DEVICE_SENTRY)

define_NXP_LPC54628.txt

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ endif()
44

55
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
66

7+
###############################################################################
8+
# Selection for the QSPI chip support. (Only select one of the three options.)
9+
# LPCXpresso546XX eval board revision C or D support FLASH_MT25Q.
10+
# LPCXpresso546XX eval board revision E or later support FLASH_W25Q.
11+
###############################################################################
12+
add_definitions(-DFLASH_W25Q)
13+
#add_definitions(-DFLASH_MT25Q)
14+
#add_definitions(-DFLASH_MX25R)
15+
716
add_definitions(-DMBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
817
add_definitions(-DMBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
918
add_definitions(-DPAL_USER_DEFINED_CONFIGURATION=\"pal_config_NXP.h\")
@@ -20,35 +29,21 @@ if(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
2029
endif(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
2130

2231
add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000)
32+
add_definitions(-DPAL_SEMAPHORE_MAX_COUNT=4096)
2333
add_definitions(-DPAL_DTLS_PEER_MIN_TIMEOUT=5000)
24-
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
2534
add_definitions(-DCOMPONENT_FLASHIAP)
2635
add_definitions(-DFLASHIAP_APP_ROM_END_ADDR=0x80000)
27-
add_definitions(-DCOMPONENT_EXTERNAL_BLOCKDEVICE)
28-
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE=EXTERNAL_BLOCKDEVICE)
36+
2937
add_definitions(-DMBED_CONF_STORAGE_STORAGE_TYPE=TDB_EXTERNAL)
3038
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS=0x78000)
3139
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE=0x8000)
3240
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS=0x0)
3341
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE=0x20000)
34-
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
35-
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)
36-
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
37-
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
42+
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE=EXTERNAL_BLOCKDEVICE)
43+
add_definitions(-DCOMPONENT_EXTERNAL_BLOCKDEVICE)
44+
3845
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_EXTERNAL_SST_SUPPORT=1)
3946
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_DISABLE_CERTIFICATE_ENROLLMENT=1)
40-
add_definitions(-DPAL_USE_FILESYSTEM=0)
41-
add_definitions(-DMBED_CLOUD_APPLICATION_NONSTANDARD_ENTRYPOINT)
42-
43-
44-
# Selection for the QSPI chip support. (Only select one of the three options.)
45-
# LPCXpresso546XX eval board revision C or D support FLASH_MT25Q.
46-
# LPCXpresso546XX eval board revision E or later support FLASH_W25Q.
47-
48-
add_definitions(-DFLASH_W25Q)
49-
#add_definitions(-DFLASH_MT25Q)
50-
#add_definitions(-DFLASH_MX25R)
51-
5247

5348
# Disable application features to minimize flash size.
5449
add_definitions(-DDISABLE_ERROR_DESCRIPTION)

define_NXP_LPC54628_update.txt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
include(${CMAKE_SOURCE_DIR}/define_NXP_LPC54628.txt)
22

3+
add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)
4+
5+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x8000)
6+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x20000)
7+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x70000)
8+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
9+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=4)
10+
11+
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
12+
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)
13+
314
add_definitions(-DMBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE)
415
add_definitions(-DUPDATE_CLIENT_STORAGE_FLASHIAP_BLOCKDEVICE)
16+
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
17+
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
518
add_definitions(-DARM_UC_FEATURE_PAL_BLOCKDEVICE=1)
619
add_definitions(-DARM_UC_USE_PAL_BLOCKDEVICE=1)
7-
add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)
8-
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x20000)
9-
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
10-
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=1)
11-
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x80000)
12-
add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x8000)
20+
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
21+
add_definitions(-DPAL_USE_FILESYSTEM=0)

define_NXP_MIMXRT1060.txt

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
if (NOT (${OS_BRAND} MATCHES "NXP"))
2+
message(FATAL_ERROR "define_NXP.txt to be used only with NXP builds.")
3+
endif()
4+
5+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
6+
7+
add_definitions(-DMBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
8+
add_definitions(-DMBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
9+
add_definitions(-DPAL_USER_DEFINED_CONFIGURATION=\"pal_config_NXP.h\")
10+
if (EXISTS ${NEW_CMAKE_SOURCE_DIR}/../../../../middleware/arm-pelion/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
11+
SET(PAL_TLS_BSP_DIR ${NEW_CMAKE_SOURCE_DIR}/../../../../middleware/arm-pelion/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
12+
else()
13+
SET(PAL_TLS_BSP_DIR ${NEW_CMAKE_SOURCE_DIR}/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
14+
endif()
15+
add_definitions(-DMBEDTLS_CONFIG_FILE=\"${PAL_TLS_BSP_DIR}/mbedTLSConfig_${OS_BRAND}.h\")
16+
17+
if(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
18+
message(WARNING "You are using simulation of File System over RAM")
19+
add_definitions(-DPAL_SIMULATOR_FILE_SYSTEM_OVER_RAM=${PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM})
20+
endif(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
21+
22+
add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000)
23+
add_definitions(-DPAL_SEMAPHORE_MAX_COUNT=4096)
24+
add_definitions(-DPAL_DTLS_PEER_MIN_TIMEOUT=5000)
25+
add_definitions(-DCOMPONENT_FLASHIAP)
26+
add_definitions(-DFLASHIAP_APP_ROM_END_ADDR=0x60400000)
27+
28+
add_definitions(-DMBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL)
29+
add_definitions(-DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=0x607F0000)
30+
add_definitions(-DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=0x10000)
31+
32+
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_EXTERNAL_SST_SUPPORT=1)
33+
#add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_DISABLE_CERTIFICATE_ENROLLMENT=1)
34+
35+
# Disable application features to minimize flash size.
36+
add_definitions(-DDISABLE_ERROR_DESCRIPTION)
37+
#add_definitions(-DMCC_MEMORY)
38+
39+
# Set to 1 to enable tracing
40+
add_definitions(-DMBED_CONF_MBED_TRACE_ENABLE=0)
41+
add_definitions(-DMBED_TRACE_MAX_LEVEL=TRACE_LEVEL_ERROR)
42+
43+
add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=1)
44+
45+
add_definitions(-DPLATFORM_ENABLE_BUTTON=1)
46+
add_definitions(-DPLATFORM_ENABLE_LED=1)
47+
48+
##### PORT TESTS #####
49+
add_definitions(-DPAL_SKIP_TEST_MODULE_SOTP=1)
50+
add_definitions(-DPAL_SKIP_TEST_MODULE_FILESYSTEM=1)
51+
add_definitions(-DPAL_SKIP_TEST_MODULE_INTERNALFLASH=1)
52+
add_definitions(-DPAL_SKIP_TEST_MODULE_UPDATE=1)
53+
add_definitions(-DPAL_SKIP_TEST_MODULE_ROT=1)
54+
add_definitions(-DPAL_SKIP_TEST_MODULE_DRBG=1)
55+
add_definitions(-DPAL_SKIP_TEST_MODULE_TIME=1)
56+
add_definitions(-DPAL_SKIP_TEST_MODULE_CRYPTO=1)
57+
add_definitions(-DPAL_SKIP_TEST_MODULE_TLS=1)
58+
add_definitions(-DPAL_SKIP_TEST_MODULE_SST=1)

define_NXP_MIMXRT1060_update.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
include(${CMAKE_SOURCE_DIR}/define_NXP_MIMXRT1060.txt)
2+
3+
add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)
4+
5+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x60010000)
6+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x60400000)
7+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x3F0000)
8+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
9+
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=256)
10+
11+
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
12+
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)
13+
14+
add_definitions(-DMBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP)
15+
add_definitions(-DUPDATE_CLIENT_STORAGE_FLASHIAP)
16+
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
17+
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
18+
add_definitions(-DARM_UC_FEATURE_PAL_FLASHIAP=1)
19+
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
20+
add_definitions(-DPAL_USE_FILESYSTEM=0)

drivers/COMPONENT_ATECC608A.lib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://github.com/ARMmbed/mbed-os-atecc608a/#a8d7e1e0358381a6a1640e1e6e13477db87927ee
1+
https://github.com/ARMmbed/mbed-os-atecc608a/#cf9a33c5b6c489f24d04e5d2ac6c3a49f4064117

main.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,14 @@ void main_application(void)
288288
factory_reset_res->set_execute_function(factory_reset_triggered);
289289
}
290290

291+
#ifdef MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE
292+
button_res->set_auto_observable(true);
293+
pattern_res->set_auto_observable(true);
294+
blink_res->set_auto_observable(true);
295+
unregister_res->set_auto_observable(true);
296+
factory_reset_res->set_auto_observable(true);
297+
#endif
298+
291299
#endif
292300

293301
// For high-latency networks with limited total bandwidth combined with large number

0 commit comments

Comments
 (0)