Simulated product dispenser

Dependencies:   HTS221

Fork of mbed-cloud-workshop-connect-HTS221 by Jim Carver

Committer:
JimCarver
Date:
Thu Oct 25 14:00:12 2018 +0000
Revision:
4:e518dde96e59
Parent:
0:6b753f761943
Simulated dispenser

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JimCarver 0:6b753f761943 1 ## Changelog for Mbed Cloud Client
JimCarver 0:6b753f761943 2
JimCarver 0:6b753f761943 3 ### Release 1.4.0 (13.07.2018)
JimCarver 0:6b753f761943 4 * Fixed a timer initialization bug under connection handler.
JimCarver 0:6b753f761943 5 * Linux: Updated mbed-coap to 4.5.0.
JimCarver 0:6b753f761943 6 * This version of Cloud Client has been tested with Mbed OS 5.9.2.
JimCarver 0:6b753f761943 7
JimCarver 0:6b753f761943 8 #### Platform Adaptation Layer (PAL)
JimCarver 0:6b753f761943 9
JimCarver 0:6b753f761943 10 * Introduced support for ARIA cipher suite introduced in mbedTLS 2.10.0.
JimCarver 0:6b753f761943 11 * Introduced MbedTLS configuration support for non-TRNG boards like NUCLEO-F411RE.
JimCarver 0:6b753f761943 12 * Hook-up point for allowing application to provide its own reboot function.
JimCarver 0:6b753f761943 13 * Defining `PAL_USE_APPLICATION_REBOOT` activates this feature.
JimCarver 0:6b753f761943 14 * You must define the function `void pal_plat_osApplicationReboot(void)` in your application to provide the required functionality.
JimCarver 0:6b753f761943 15 * Introduced the feature flag `PAL_USE_APPLICATION_REBOOT` for application to override generic reboot functionality, which is useful for different Linux flavors.
JimCarver 0:6b753f761943 16 * New asynchronous DNS API (activated in application mbed_app.json via `mbed-client-pal.pal-dns-api-version : 2`) with Mbed OS 5.9.x.
JimCarver 0:6b753f761943 17
JimCarver 0:6b753f761943 18 #### Factory configurator client
JimCarver 0:6b753f761943 19
JimCarver 0:6b753f761943 20 * Chain verification failure will result in `KCM_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED` error instead of `FCC_STATUS_CERTIFICATE_CHAIN_VERIFICATION_FAILED`.
JimCarver 0:6b753f761943 21 * Improved robustness of factory serial communication layer.
JimCarver 0:6b753f761943 22 * Define `KCM_MAX_NUMBER_OF_CERTITICATES_IN_CHAIN` was renamed to `KCM_MAX_NUMBER_OF_CERTIFICATES_IN_CHAIN`.
JimCarver 0:6b753f761943 23
JimCarver 0:6b753f761943 24 #### Mbed Cloud Update
JimCarver 0:6b753f761943 25
JimCarver 0:6b753f761943 26 * Improved Linux shell scripts for compatibility and robustness.
JimCarver 0:6b753f761943 27 * Fixed an issue in `ARM_UC_HUB_Initialize()` and `ARM_UC_HUB_Uninitialize()` to prevent these functions being called when Update client is in the wrong state.
JimCarver 0:6b753f761943 28 * Fixed compiler warnings.
JimCarver 0:6b753f761943 29 * Removed designated initialisers from C++ code.
JimCarver 0:6b753f761943 30 * Update results are now sent synchronously to ensure that the Update Client hub is in the correct state if several LWM2M operations are performed in rapid succession.
JimCarver 0:6b753f761943 31 * Added error messages for missing commands in `arm_update_activate.sh`.
JimCarver 0:6b753f761943 32 * Added error reporting when there is not enough space on the device to store the firmware image candidate.
JimCarver 0:6b753f761943 33 * Added registration for the scheduler error handler.
JimCarver 0:6b753f761943 34
JimCarver 0:6b753f761943 35 #### PAL Platform
JimCarver 0:6b753f761943 36
JimCarver 0:6b753f761943 37 * Introducing mbedTLS 2.10.0 support for ARIA cipher suite.
JimCarver 0:6b753f761943 38
JimCarver 0:6b753f761943 39 ### Release 1.3.3 (08.06.2018)
JimCarver 0:6b753f761943 40
JimCarver 0:6b753f761943 41 #### Mbed Cloud Client
JimCarver 0:6b753f761943 42
JimCarver 0:6b753f761943 43 * Fixed issue: Wrong CoAP ping message. CoAP ping must be sent as an empty confirmable message.
JimCarver 0:6b753f761943 44 * In the previous versions, the client in queue mode went to sleep while in reconnection mode. Now, it completes the connection before going to sleep.
JimCarver 0:6b753f761943 45 * This version of Cloud Client supports Mbed OS 5.8.5 and onwards patch releases.
JimCarver 0:6b753f761943 46 * Improvements for connection handler, removed usage of static pointer to class. There is now possible to allocate more than one class M2MConnectionSecurityPimpl pareller.
JimCarver 0:6b753f761943 47 * Support for new asynchronous DNS API ("mbed-client-pal.pal-dns-api-version : 2") with Mbed OS 5.9.x.
JimCarver 0:6b753f761943 48
JimCarver 0:6b753f761943 49 #### Factory configurator client
JimCarver 0:6b753f761943 50
JimCarver 0:6b753f761943 51 * Full support for the `device generated keys` mode. You can activate the mode using the factory configurator utility (FCU) or the KCM APIs.
JimCarver 0:6b753f761943 52
JimCarver 0:6b753f761943 53 <span class="notes">**Note:** Cloud Client and Mbed Cloud do not yet support this mode.</span>
JimCarver 0:6b753f761943 54 * A certificate signed request (CSR) that is generated on the device, can be created with the `Extended key usage` extension.
JimCarver 0:6b753f761943 55 * A new KCM API introduced:
JimCarver 0:6b753f761943 56 * `kcm_certificate_verify_with_private_key` - a self-generated certificate can be checked against a stored private key.
JimCarver 0:6b753f761943 57 * Fixed the `FtcdCommBase::wait_for_message` function to receive multiple messages.
JimCarver 0:6b753f761943 58
JimCarver 0:6b753f761943 59 #### Platform Adaptation Layer (PAL)
JimCarver 0:6b753f761943 60
JimCarver 0:6b753f761943 61 * The u-blox ODIN-W2 board now requires support for RSA crypto from Mbed TLS. RSA crypto has been enabled by default for the target `MODULE_UBLOX_ODIN_W2`. Enabling RSA crypto increases the flash size by 20KB. More details in Mbed OS PR [#6963](https://github.com/ARMmbed/mbed-os/pull/6963).
JimCarver 0:6b753f761943 62
JimCarver 0:6b753f761943 63 ### Release 1.3.2 (22.05.2018)
JimCarver 0:6b753f761943 64
JimCarver 0:6b753f761943 65 #### Mbed Cloud Client
JimCarver 0:6b753f761943 66
JimCarver 0:6b753f761943 67 * Fixed issue: Resource does not notify with content format requested in observation.
JimCarver 0:6b753f761943 68 * New internal API: `check_config_parameter()`, returns SUCCESS if parameter exits in KCM.
JimCarver 0:6b753f761943 69 * Do not try to store Timezone/UTC data, if there is no data.
JimCarver 0:6b753f761943 70 * A separate CoAP response is used only for POST operation, other ones are using piggybacked responses.
JimCarver 0:6b753f761943 71 * Send only one notification at a time.
JimCarver 0:6b753f761943 72 * Fixes the issue with an application changing multiple resource values at a same time causing the client to lose notifications from earlier resources. This change ensures that the latest value is always sent to the server.
JimCarver 0:6b753f761943 73 * Introducing Mbed Edge specific features:
JimCarver 0:6b753f761943 74 * M2MEndpoint class for describing endpoints behind Mbed Edge device.
JimCarver 0:6b753f761943 75 * Allow registering M2MEndpoints and M2MObjects using the registration API.
JimCarver 0:6b753f761943 76 * Added the `endpoint_type` attribute to the registration update message.
JimCarver 0:6b753f761943 77 * Added the `endpoint name` attribute to the registration and registration update messages.
JimCarver 0:6b753f761943 78 * Improved Edge performance for registration update.
JimCarver 0:6b753f761943 79 * This optimization speeds up the registration update. It monitors which endpoints have changed and updates only
JimCarver 0:6b753f761943 80 them.
JimCarver 0:6b753f761943 81 * The bandwitdth of the CoAP messages is reduced. Endpoint data for the unchanged endpoints is not sent in the
JimCarver 0:6b753f761943 82 registration update.
JimCarver 0:6b753f761943 83
JimCarver 0:6b753f761943 84 #### Factory configurator client
JimCarver 0:6b753f761943 85
JimCarver 0:6b753f761943 86 * New APIs introduced for keys and CSR generation on the device:
JimCarver 0:6b753f761943 87 * `kcm_key_pair_generate_and_store`
JimCarver 0:6b753f761943 88 * `kcm_csr_generate`
JimCarver 0:6b753f761943 89 * `kcm_generate_keys_and_csr`
JimCarver 0:6b753f761943 90 * Chain validations added.
JimCarver 0:6b753f761943 91 * A chain is validated when it is stored. Each certificate in the chain is validated against its issuer. An error is returned if the chain is not valid.
JimCarver 0:6b753f761943 92 * If the device certificate (bootstrap or LwM2M) or the update authentication certificate is saved as a chain, the expiration of all certificates is checked in the `fcc_verify_device_configured_4mbed_cloud` function.
JimCarver 0:6b753f761943 93
JimCarver 0:6b753f761943 94 #### Platform Adaptation Layer (PAL)
JimCarver 0:6b753f761943 95
JimCarver 0:6b753f761943 96 * Linux: Converted all timers to use signal-based timer (SIGEV_SIGNAL) instead of (SIGEV_THREAD).
JimCarver 0:6b753f761943 97 * This fixes the Valgrind warnings for possible memory leaks caused by LIBC's internal timer helper thread.
JimCarver 0:6b753f761943 98
JimCarver 0:6b753f761943 99 <span class="notes">**Note**: If the client application is creating a pthread before instantiating MbedCloudClient,
JimCarver 0:6b753f761943 100 it needs to block the PAL_TIMER_SIGNAL from it. Otherwise the thread may get an exception caused
JimCarver 0:6b753f761943 101 by the default signal handler with a message such as "Process terminating with default action
JimCarver 0:6b753f761943 102 of signal 34 (SIGRT2)". For a suggested way to handle this please see `mcc_platform_init()` in [here](https://github.com/ARMmbed/mbed-cloud-client-example/blob/master/source/platform/Linux/common_setup.c).</span>
JimCarver 0:6b753f761943 103 * Linux: Fixed the Linux-specific version of `pal_accept()'s` `addressLen` parameter which previously required a platform-specific socket address structure size, not a platform independent one.
JimCarver 0:6b753f761943 104 * Fixed a hard fault issue that occurred when calling `pal_ECKeyGenerateKey`.
JimCarver 0:6b753f761943 105 * Return PAL_ERR_BUFFER_TOO_SMALL if the output buffer is too small for write in `pal_writePrivateKeyToDer`, `pal_writePublicKeyToDer` and `pal_x509CSRWriteDER APIs`.
JimCarver 0:6b753f761943 106 * Fixed the missing handling for initialization failure of SOTP.
JimCarver 0:6b753f761943 107 * New API `pal_x509CertGetHTBS`: Calculate the hash of the _To Be Signed_ part of an X509 certificate.
JimCarver 0:6b753f761943 108
JimCarver 0:6b753f761943 109 #### Mbed Cloud Update
JimCarver 0:6b753f761943 110
JimCarver 0:6b753f761943 111 * Improvements to the scheduler to ensure that events are not lost. The scheduler now uses a pool allocation mechanism and queue element locks.
JimCarver 0:6b753f761943 112 * Implemented an API to get the active firmware details.
JimCarver 0:6b753f761943 113 * A rollback protection error will now be reported as "Firmware update failed" (8) when MCCP=1.
JimCarver 0:6b753f761943 114 * An error is issued when the firmware payload exceeds the maximum storage-size limit.
JimCarver 0:6b753f761943 115 * Mbed Cloud Update now uses a constant time binary compare function.
JimCarver 0:6b753f761943 116 * Fixed a build error for Cortex-A9 target when retrieving the current interrupt enabled state.
JimCarver 0:6b753f761943 117
JimCarver 0:6b753f761943 118 ### Release 1.3.1.1 (27.04.2018)
JimCarver 0:6b753f761943 119
JimCarver 0:6b753f761943 120 #### Mbed Cloud Client
JimCarver 0:6b753f761943 121
JimCarver 0:6b753f761943 122 * Fixed POST response handling: The client was sending multiple responses for the POST request received from Cloud, which would sometimes cause undefined behaviour for the POST callback on the webservice.
JimCarver 0:6b753f761943 123
JimCarver 0:6b753f761943 124 #### Mbed Cloud Update
JimCarver 0:6b753f761943 125
JimCarver 0:6b753f761943 126 * In Linux builds, Update related callbacks are now called in the context of the Update thread. Previously, it was
JimCarver 0:6b753f761943 127 possible to call some of these callbacks in a different thread.
JimCarver 0:6b753f761943 128 * In Linux builds, if tracing is enabled, the update scheduler will display an error if a callback can't
JimCarver 0:6b753f761943 129 be added to the scheduler queue.
JimCarver 0:6b753f761943 130
JimCarver 0:6b753f761943 131 #### Platform Adaptation Layer (PAL)
JimCarver 0:6b753f761943 132
JimCarver 0:6b753f761943 133 * Linux: Replaced `fflush(NULL)` with `sync()` in `pal_osReboot` which was causing deadlock in Raspberry Pi3.
JimCarver 0:6b753f761943 134
JimCarver 0:6b753f761943 135 ### Release 1.3.1 (19.04.2018)
JimCarver 0:6b753f761943 136
JimCarver 0:6b753f761943 137 #### Mbed Cloud Client
JimCarver 0:6b753f761943 138
JimCarver 0:6b753f761943 139 * Improve tracing of CoAP packages.
JimCarver 0:6b753f761943 140 * Added an API to enable sending of the resource value as a part of the registration message.
JimCarver 0:6b753f761943 141 * Only the following value types are allowed:
JimCarver 0:6b753f761943 142 * STRING
JimCarver 0:6b753f761943 143 * INTEGER
JimCarver 0:6b753f761943 144 * FLOAT
JimCarver 0:6b753f761943 145 * BOOLEAN
JimCarver 0:6b753f761943 146 * A fix for sending an empty ACK with blockwise messages.
JimCarver 0:6b753f761943 147 * Replaced TCP_KEEPALIVE with CoAP PING.
JimCarver 0:6b753f761943 148 * Fixed the possible overflow in bootstrap errors.
JimCarver 0:6b753f761943 149 * Now, a token is used to verify BS, register, update register and unregister responses.
JimCarver 0:6b753f761943 150 * A fix for sending empty CoAP requests.
JimCarver 0:6b753f761943 151 * A fix for the internal timer.
JimCarver 0:6b753f761943 152 * PAL is used for asyncronous handling of DNS.
JimCarver 0:6b753f761943 153
JimCarver 0:6b753f761943 154 #### Mbed Cloud Update
JimCarver 0:6b753f761943 155
JimCarver 0:6b753f761943 156 Using PAL for asyncronous handling of DNS enables firmware update with mesh.
JimCarver 0:6b753f761943 157
JimCarver 0:6b753f761943 158 #### Platform Adaptation Layer (PAL)
JimCarver 0:6b753f761943 159
JimCarver 0:6b753f761943 160 * A fix to crash when enabling mbed-tls traces.
JimCarver 0:6b753f761943 161 * Removed the thread-priority requirement.
JimCarver 0:6b753f761943 162 * Fixed the compatibility issues with Mbed OS 5.8/5.9.
JimCarver 0:6b753f761943 163
JimCarver 0:6b753f761943 164 ### Release 1.3.0 (27.3.2018)
JimCarver 0:6b753f761943 165 * Initial public release.