Workspaces#

General#

Matter workspaces allow the user to generate multiple projects at once, to generate a combined solution/binary and allow multiple post-build operations to provide flexibility and unison when developing a Matter example or application. For example, with the Matter Lighting over Thread with Bootloader Workspace solution, a user can generate a Matter Bootloader, a Matter Lighting example, and the combined Bootloader + Example production image. Workspaces will also generate a .gbl binary for the users to make use of and create an .ota software image update binary (directions listed below).

Workspace Creation#

To create a Matter Workspace, proceed to the "Example Project Selection" section of Simplicty Studio's "New Project Wizard". On the left hand side, ensure "Example Projects" is turned off, "Solution Examples" is turned on, and "Matter" under the "Technology" section is checked. Then, select for which application example you wish to create a project from.

Workspace GenerationWorkspace Generation

Workspace Building#

Building via workspaces behaves just like a normal project. Just ensure the top-level workspace is selected and build! Artifacts from the resulting projects can be found within the artifact directory under each distinct project within the workspace.

Workspace ArtifactsWorkspace Artifacts

OTA Creation#

Due to certain limitations with the way our Matter examples are built within Simplicity Studio, OTA file generation must be conducted by the user via the command line.

To create an OTA file, first build a Matter example via workspaces. Locate the resulting .gbl file within the artifact directory. This will be used as an argument to the GBL creation script. Then, locate the directory that holds the Matter Extension within the GSDK in Simplicity Studio. The location should be similar to: /Users/User/SimplicityStudio/SDKs/gecko_sdk/extension/matter_extension. Once found, open a terminal at this location and run the command:

./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn <SoftwareVersion> -vs <SoftwareVersionString> -da sha256 <PathToArtifactDirectory>/<GblFile>  <PathToArtifactDirectory>/<ResultingOtaFileName>

Where SoftwareVersion and the SoftwareVersionString correspond to the CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION and CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING parameters the project has been compiled with. And where ResultingOtaFileName is the name of the OTA file you wish to generate, PathToArtifactDirectory is the location of your artifact directory within your project, and GblFile is the name of the GBL file that was produced after building the workspace. The OTA file should now have been populated within the artifact directory in Simplicity Studio.