Skip to content

Commit

Permalink
Merge pull request #71 from ARMmbed/release-4.5.0
Browse files Browse the repository at this point in the history
mbed-cloud-client-example 4.5.0
  • Loading branch information
teetak01 authored Jun 12, 2020
2 parents 86f8992 + 0724390 commit 4f75846
Show file tree
Hide file tree
Showing 94 changed files with 7,349 additions and 298 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog for Pelion Device Management Client example application

## Release 4.5.0 (12.06.2020)

* Added support for MIMXRT1060-EVK board for NXP FreeRTOS SDK.
* Increased the Renesas RA6M3 Ethernet buffers from 1+1 to 4+4 to increase stability.
* Updated to Pelion E2E test library v0.2.6.
* Added a network error counter that resets the device if too many errors have occurred
* 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,
whenever application will try to send notification, if the client is `paused` then application will first `resume` client and then send notification.
* Added support for Device Sentry feature for Mbed OS and Linux.
* Mbed OS - the feature is enabled for K66F board.
* Linux - the feature is enabled by passing cmake ENABLE_DEVICE_SENTRY flag to cmake.
* **Breaking changes** (Due to update of SE ATECC608A driver , the application is not compatible with previous releases of SE ATECC608A driver).
* Updated SE ATECC608A driver `COMPONENT_ATECC608A.lib`.
* Updated mbed-cloud-client-platform-common `platform.lib` - includes adaptation for new SE ATECC608A driver.
* Updated `EK-RA6M3` to use Renesas `Arm® Secure Boot Solution for RA6M3 MCU Group` version 1.1.0.
* [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.

## Release 4.4.0 (17.04.2020)

* Added support for NXP FreeRTOS SDK.
Expand Down
17 changes: 17 additions & 0 deletions TESTS/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Validation and testing for the client configuration with Pelion end-to-end python test library

Basic requirements for Pelion capabilities:

- Connects to Pelion in developer mode.
- Firmware can be updated.
- Responsive to REST API commands.

Installation of the test-library:

- Install the prerequisites listed in the README of the [pelion-e2e-python-test-library](https://github.com/ARMmbed/pelion-e2e-python-test-library).
- Configure your API-key as instructed in the same README.


Basic tests can be then executed as:

`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`
2 changes: 1 addition & 1 deletion TESTS/pelion-e2e-python-test-library.lib
Original file line number Diff line number Diff line change
@@ -1 +1 @@
https://github.com/ARMmbed/pelion-e2e-python-test-library/#d1fc79b17c9b6e0707dbf7ce36a75a6576b089b6
https://github.com/ARMmbed/pelion-e2e-python-test-library/#39e118e03dc89f1800922f3a91d219b25c45cb1a
4 changes: 4 additions & 0 deletions define.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,7 @@ add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=1)
add_definitions(-DPLATFORM_ENABLE_BUTTON=1)
add_definitions(-DPLATFORM_ENABLE_LED=1)

if(ENABLE_DEVICE_SENTRY)
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_ENABLE_DEVICE_SENTRY)
message("Enable Device Sentry feature")
endif(ENABLE_DEVICE_SENTRY)
33 changes: 14 additions & 19 deletions define_NXP_LPC54628.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)

###############################################################################
# Selection for the QSPI chip support. (Only select one of the three options.)
# LPCXpresso546XX eval board revision C or D support FLASH_MT25Q.
# LPCXpresso546XX eval board revision E or later support FLASH_W25Q.
###############################################################################
add_definitions(-DFLASH_W25Q)
#add_definitions(-DFLASH_MT25Q)
#add_definitions(-DFLASH_MX25R)

add_definitions(-DMBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
add_definitions(-DMBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
add_definitions(-DPAL_USER_DEFINED_CONFIGURATION=\"pal_config_NXP.h\")
Expand All @@ -20,35 +29,21 @@ if(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
endif(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)

add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000)
add_definitions(-DPAL_SEMAPHORE_MAX_COUNT=4096)
add_definitions(-DPAL_DTLS_PEER_MIN_TIMEOUT=5000)
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
add_definitions(-DCOMPONENT_FLASHIAP)
add_definitions(-DFLASHIAP_APP_ROM_END_ADDR=0x80000)
add_definitions(-DCOMPONENT_EXTERNAL_BLOCKDEVICE)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE=EXTERNAL_BLOCKDEVICE)

add_definitions(-DMBED_CONF_STORAGE_STORAGE_TYPE=TDB_EXTERNAL)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS=0x78000)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE=0x8000)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS=0x0)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE=0x20000)
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
add_definitions(-DMBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE=EXTERNAL_BLOCKDEVICE)
add_definitions(-DCOMPONENT_EXTERNAL_BLOCKDEVICE)

add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_EXTERNAL_SST_SUPPORT=1)
add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_DISABLE_CERTIFICATE_ENROLLMENT=1)
add_definitions(-DPAL_USE_FILESYSTEM=0)
add_definitions(-DMBED_CLOUD_APPLICATION_NONSTANDARD_ENTRYPOINT)


# Selection for the QSPI chip support. (Only select one of the three options.)
# LPCXpresso546XX eval board revision C or D support FLASH_MT25Q.
# LPCXpresso546XX eval board revision E or later support FLASH_W25Q.

add_definitions(-DFLASH_W25Q)
#add_definitions(-DFLASH_MT25Q)
#add_definitions(-DFLASH_MX25R)


# Disable application features to minimize flash size.
add_definitions(-DDISABLE_ERROR_DESCRIPTION)
Expand Down
21 changes: 15 additions & 6 deletions define_NXP_LPC54628_update.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
include(${CMAKE_SOURCE_DIR}/define_NXP_LPC54628.txt)

add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)

add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x8000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x20000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x70000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=4)

add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)

add_definitions(-DMBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE)
add_definitions(-DUPDATE_CLIENT_STORAGE_FLASHIAP_BLOCKDEVICE)
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
add_definitions(-DARM_UC_FEATURE_PAL_BLOCKDEVICE=1)
add_definitions(-DARM_UC_USE_PAL_BLOCKDEVICE=1)
add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x20000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=1)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x80000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x8000)
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
add_definitions(-DPAL_USE_FILESYSTEM=0)
58 changes: 58 additions & 0 deletions define_NXP_MIMXRT1060.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
if (NOT (${OS_BRAND} MATCHES "NXP"))
message(FATAL_ERROR "define_NXP.txt to be used only with NXP builds.")
endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)

add_definitions(-DMBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
add_definitions(-DMBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\")
add_definitions(-DPAL_USER_DEFINED_CONFIGURATION=\"pal_config_NXP.h\")
if (EXISTS ${NEW_CMAKE_SOURCE_DIR}/../../../../middleware/arm-pelion/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
SET(PAL_TLS_BSP_DIR ${NEW_CMAKE_SOURCE_DIR}/../../../../middleware/arm-pelion/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
else()
SET(PAL_TLS_BSP_DIR ${NEW_CMAKE_SOURCE_DIR}/mbed-cloud-client/mbed-client-pal/Configs/${TLS_LIBRARY})
endif()
add_definitions(-DMBEDTLS_CONFIG_FILE=\"${PAL_TLS_BSP_DIR}/mbedTLSConfig_${OS_BRAND}.h\")

if(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)
message(WARNING "You are using simulation of File System over RAM")
add_definitions(-DPAL_SIMULATOR_FILE_SYSTEM_OVER_RAM=${PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM})
endif(PAL_SIMULATOR_FILE_SYSTEM_OVER_RAM)

add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000)
add_definitions(-DPAL_SEMAPHORE_MAX_COUNT=4096)
add_definitions(-DPAL_DTLS_PEER_MIN_TIMEOUT=5000)
add_definitions(-DCOMPONENT_FLASHIAP)
add_definitions(-DFLASHIAP_APP_ROM_END_ADDR=0x60400000)

add_definitions(-DMBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL)
add_definitions(-DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=0x607F0000)
add_definitions(-DMBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=0x10000)

add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_EXTERNAL_SST_SUPPORT=1)
#add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_DISABLE_CERTIFICATE_ENROLLMENT=1)

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

# Set to 1 to enable tracing
add_definitions(-DMBED_CONF_MBED_TRACE_ENABLE=0)
add_definitions(-DMBED_TRACE_MAX_LEVEL=TRACE_LEVEL_ERROR)

add_definitions(-DMBED_CONF_APP_DEVELOPER_MODE=1)

add_definitions(-DPLATFORM_ENABLE_BUTTON=1)
add_definitions(-DPLATFORM_ENABLE_LED=1)

##### PORT TESTS #####
add_definitions(-DPAL_SKIP_TEST_MODULE_SOTP=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_FILESYSTEM=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_INTERNALFLASH=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_UPDATE=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_ROT=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_DRBG=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_TIME=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_CRYPTO=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_TLS=1)
add_definitions(-DPAL_SKIP_TEST_MODULE_SST=1)
20 changes: 20 additions & 0 deletions define_NXP_MIMXRT1060_update.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
include(${CMAKE_SOURCE_DIR}/define_NXP_MIMXRT1060.txt)

add_definitions(-DMBED_CLOUD_CLIENT_SUPPORT_UPDATE)

add_definitions(-DMBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS=0x60010000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_ADDRESS=0x60400000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_SIZE=0x3F0000)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS=1)
add_definitions(-DMBED_CONF_UPDATE_CLIENT_STORAGE_PAGE=256)

add_definitions(-DMBED_CONF_MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL=MBED_CLOUD_CLIENT_UPDATE_DOWNLOAD_PROTOCOL_COAP)
add_definitions(-DMBED_CONF_APP_MBED_CLOUD_CLIENT_UPDATE_BUFFER_SIZE=2048)

add_definitions(-DMBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP)
add_definitions(-DUPDATE_CLIENT_STORAGE_FLASHIAP)
add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
add_definitions(-DARM_UC_FEATURE_DELTA_PAAL=0)
add_definitions(-DARM_UC_FEATURE_PAL_FLASHIAP=1)
add_definitions(-DATOMIC_QUEUE_USE_PAL=1)
add_definitions(-DPAL_USE_FILESYSTEM=0)
2 changes: 1 addition & 1 deletion drivers/COMPONENT_ATECC608A.lib
Original file line number Diff line number Diff line change
@@ -1 +1 @@
https://github.com/ARMmbed/mbed-os-atecc608a/#a8d7e1e0358381a6a1640e1e6e13477db87927ee
https://github.com/ARMmbed/mbed-os-atecc608a/#cf9a33c5b6c489f24d04e5d2ac6c3a49f4064117
8 changes: 8 additions & 0 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,14 @@ void main_application(void)
factory_reset_res->set_execute_function(factory_reset_triggered);
}

#ifdef MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE
button_res->set_auto_observable(true);
pattern_res->set_auto_observable(true);
blink_res->set_auto_observable(true);
unregister_res->set_auto_observable(true);
factory_reset_res->set_auto_observable(true);
#endif

#endif

// For high-latency networks with limited total bandwidth combined with large number
Expand Down
2 changes: 1 addition & 1 deletion mbed-cloud-client.lib
Original file line number Diff line number Diff line change
@@ -1 +1 @@
https://github.com/ARMmbed/mbed-cloud-client/#e03c516af9c9137b56d9c2620a293c79f1f867f8
https://github.com/ARMmbed/mbed-cloud-client/#4fc8a9c027623f2f7722ea0b2d475e7772352f6d
8 changes: 4 additions & 4 deletions mbed_app.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@
"Freescale": {
"lwip.mem-size" : 12500
},
"STM_EMAC": {
"lwip.pbuf-pool-size" : 16,
"lwip.mem-size" : 12500
},
"K64F": {
"target.network-default-interface-type" : "ETHERNET",
"target.bootloader_img" : "tools/mbed-bootloader-k64f-block_device-kvstore-v4.1.0.bin",
Expand Down Expand Up @@ -58,6 +54,10 @@
"update-client.storage-page" : 8,
"mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP",
"mbed-cloud-client.disable-certificate-enrollment": null,
"mbed-cloud-client.enable-device-sentry" : true,
"nsapi.socket-stats-enabled" : true,
"platform.cpu-stats-enabled" : 1,
"platform.heap-stats-enabled" : 1,
"storage_tdb_internal.internal_base_address": "(1024*1024)",
"storage_tdb_internal.internal_size" : "(96*1024)",
"storage.storage_type" : "TDB_INTERNAL"
Expand Down
Loading

0 comments on commit 4f75846

Please sign in to comment.