Connect Stack and Application Framework#
Applications based on Silicon Labs Connect incorporate not only the Connect Stack, but also the Connect Application Framework. Together, they allow developers to begin a new project based on a foundation of best-practice application state machine code developed and tested by Silicon Labs. The framework sits on top of the Silicon Labs Connect stack to interface with other platform elements and provide application layer functionality. It consumes the stack handler interfaces and exposes its own more highly-abstracted and application-specific interface to developers.
Consistent with the platform architecture introduced in Gecko Software Development Kit (GSDK) v3.0, the Connect stack and application framework are structured to support optional functionality blocks called components. Each Connect component is provided as a standalone library or a set of source code. This allows a developer to generally include only those capabilities essential to the target application, without paying a footprint/resource penalty for an unused feature set.
Each component registers one or more callbacks on top of the Application Framework, which are then implemented by the application (overriding default weakly-defined stubs). In a Connect-based project, callbacks are the places where developers add custom application code on top of the existing Silicon Labs framework to give that application unique behaviors and determine how it will react.
Within the callback implementations, developers can utilize the entire platform and stack APIs, as well as a complete set of Application Framework-specific APIs that often provide high-level wrappers around complex platform or stack functionality. These APIs are documented online in the Connect API Reference Guide, relevant pages of which are embedded within the Project Configurator in Simplicity Studio 5 (SSv5), and examples of their usage can be found in the Connect sample code.
The following sections take a closer look at each of the fundamental elements that comprise applications based on Silicon Labs Connect: Components, Callbacks, and Events.