I wanted to start this thread to hear what others are seeing and planning on doing moving forward. I myself have an ESP32 project and am just starting to see what this means for my projects going forward.
The team has done a lot of work to ensure the libraries are free from dependencies and can be consumed individually or in combination (other than the TCP/IP stack, which has a dependency on the FreeRTOS kernel). That enables the libraries to be brought into any project with any directory structure either by git sub-module, copy, CMSIS pack, or as per the ESP32 IDF, using a package manager. Presenting demos in their own git repos rather than the now deprecated more monolithic repo takes advantage of that by presenting examples in the same format as those provided by the silicon vendors.
Hey @friesen I wanted to touch base with you about what you find unsettling about the deprecation of one of the amazon-freertos repos. Would you mind sharing any additional thoughts or concerns you have about this? Thanks in advance!
What is the relationship between github aws FreeRTOS github?
FreeRTOS gets used in both connected and disconnected use cases across all industries (and all clouds), so we keep the contents of the FreeRTOS org in github restricted to implementations of standard protocols (such as MQTT) and APIs (such as PKCS #11). Each library is in its own git repo, and in most cases without interdependencies, enabling users to use the libraries in any way they wish.
Clients that access AWS IoT specific services, such as the shadow service, are AWS specific, so each has their own repo in the AWS org in github.
Both github orgs also contain examples. The subset of examples that connect to the cloud use libraries from both the FreeRTOS and AWS github organisations as git submodules. For example, demos that use the AWS IoT shadow build the TCP, MQTT, PKCS #11, etc. libraries from the FreeRTOS org in github to enable cloud connectivity using standard protocols (nothing AWS specific in mutually authenticated TLS connection using X509 certificates), and the AWS IoT Shadow library from the AWS org in github.
The following diagram attempts to depict this, where the brown (ish) individual boxes show individual repos in the FreeRTOS org in github, the white boxes individual git repos in the AWS org in github, the FreeRTOS and SDK bundles show cloneable packages that include demos, and the dotted lines show libraries brought in using git sub-modules.
Based on the new implementation, libraries like common io (abstraction for iot_* apis) have been deprecated as well. How does this change the amazon_freertos sdk/libs provided by the silicon vendor?
@uttkarsh : We are working with vendors to update their offerings as time allows. We do plan to offer CommonIO as a separate repository but I cannot commit to a particular date for this.
Which particular iot_* APIs are you currently using that you would like to continue to use?