* Update submodule pointer to be on v2.16.7 of Mbed TLS
* Update config file licenses
* Update readme.txt to include information on what Mbed TLS license the repo uses
* Remove uncrustify config for assignment operator alignment to match aws/aws-iot-embedded-c-device-sdk and aws/amazon-freertos configs; re-format files
* Rename both Demo/FreeRTOS-IoT-Libraries and Source/FreeRTOS_IoT_Libraries directories to FreeRTOS-IoT-Libraries-LTS-Beta1
* Rename directories within IDE project and source files
* Remove backup files pushed to remote accidentally
* Remaining directory name replacements in file texts
* Sync OTA library from AFR 202006.00 release
* Support suspend and resume in OTA demo
* Sync OTA library from AFR 202007.00 release
* Update OTA config files for other projects
* In OTA demo, block thread if fail to activate image
* Disable downgrade in OTA by default
* Update OTA demo config to match from AFR
* Add an idle hook to OTA demo to prevent 100% CPU
* Fix OTA config format and a mistake from last commit
LTS development changes have Source, Demo, and dependencies added for FreeRTOS-IoT-Libraries. These libraries are using FreeRTOS kernel, FreeRTOS-Plus-TCP, and FreeRTOS-Plus-Trace of V10.3.0 tag. FreeRTOS_Plus_TCP and FreeRTOS_Plus_Trace are as used as is, but a few changes are made to FreeRTOS as listed below.
Removed FreeRTOS/Demo.
Updated FreeRTOS/readme.txt to remove mentions about the demos.
Removed FreeRTOS/links_to_doc_pages_for_the_demo_projects.url file as there are no demos present.
prvTransferConnect() now returns:
- pdTRUE: everything's good. pdTRUE = 1.
- -pdFREERTOS_ERRNO_ENOMEM: FreeRTOS_socket() failed. -pdFREERTOS_ERRNO_ENOMEM = -12.
- -pdFREERTOS_ERRNO_EINVAL || -pdFREERTOS_ERRNO_ECANCELED: FreeRTOS_bind() failed. Negative values.
Thus, at line 569 and line 617, needs to check != pdTRUE instead of == pdFALSE.
This commit is done on behalf of Alfred.
IotTaskPool_GetSystemTaskPool has been removed from the cut down version
of the task pool. define IOT_SYSTEM_TASKPOOL to NULL so that the MQTT library
builds successfully.
Use the new #defines in the iot_config.h.
The DNS cache entry size was not big enough to fit the DNS name and
as a result the DNS reply parsing code returned error. Increased the
size of the entry to ensure that the DNS name can fit in.
The example now creates a recyclable job, schedules it and returns it
back to the task pool when it is done. It then again creates a
recyclable job and ensures that the task pool the same job present
it its cache.
IotTaskPool_CreateSystemTaskPool() calls synchronisation primitives, so cannot be called before the scheduler starts. Add a configASSERT() to ensure the scheduler is running when it executes.
IotTaskPool_CreateSystemTaskPool() can conceivably be called from multiple different libraries that depend on the thread pool. In this version _IotSystemTaskPool.running can be used to check the system task pool has not already been created. If the task pool has been created simply return from IotTaskPool_CreateSystemTaskPool() instead of re-creating it (which would leak memory and leave orphaned tasks).
Call taskENTER_CRITICAL() and taskEXIT_CRITICAL() directly in place of mapping them to TASKPOOL_ENTER_CRITICAL() and TASKPOOL_EXIT_CRITICAL() in the same file.
Rename _timerThread() _timerCallback(), as it is a callback function and not a thread.
Remove the unused flags parameter from _scheduleInternal().