This repo contains example drivers developed by Silicon Labs engineers and are provided as an SDK extension. These drivers interface with different types of external hardware and are tested against a specific device listed in the driver name. These drivers are intended to be fully compatible with Silicon Labs' wireless stacks. All drivers provide a minimal Simplicity Studio project for testing and to show an example usage of the driver. The driver source is provided for modification and extension as needed. All drivers in this repository are considered to be EVALUATION QUALITY which implies that the code provided in the repos is subjected to limited testing and is provided provided as-is. It is not suitable for production environments.
A full list of all drivers in this repository is defined below:
- Desired Silicon Labs Starter Kit
- Driver specific test hardware
- Simplicity Studio v5.9.2.1 or newer
- Gecko SDK 4.4.3
- WiSeConnect SDK 3.2.0
Detailed documentation available on https://docs.silabs.com or here.
-
Clone the repository somewhere on your PC
git clone https://github.com/SiliconLabs/third_party_hw_drivers_extension.git
-
Add the SDK extension to the GSDK
- In Simplicity Studio go to Preferences → Simplicity Studio → SDKs and select the Gecko SDK Suite to which the SDK extension will be added. Click Add Extension…
- Click Browse and navigate to the root folder of the package above and click Select Folder.
- The SDK extension should be displayed in the Detected SDK Extension window with the Third Party Hardware Drivers name, version, and path. Click OK and then Trust and Apply and Close.
- Restart Simplicity Studio
Make sure that Evaluation quality software components are enabled in the Software Component view.
The Third Party Hardware Drivers SDK contains the following files and folders.
+--third_party_hw_drivers.slce > The UC SDK Extension description file
+--third_party_hw_drivers.slsdk > File provides the ability to auto-scan protocols from the extension folder
+--templates.xml > This file contains meta data for showing the project example on Simplicity Studio
+--app
| +--documentation > Contains the simple documentations for each application example
| +--example > Simpler examples to demonstrate specific features
|-
+--driver
| +--component > Contains UC component description files (SLCC)
| +--inc > Contains Third Party Hardware Driver SDK Extension helpers file
| +--peripheral_drivers > Contains the implementation of the peripheral driver layer's components.
|-
+--public > Contains the public interfaces for each integrated driver
| +--mikroe > Contains the public interfaces for integrated drivers from MikroE
| +--temphum9_shtc3
| +--heartrate2_maxm86161
| +--...
| +--sparkfun > Contains the public interfaces for integrated drivers from SparkFun
| +--silabs > Contains the public interfaces for integrated drivers from Silabs
| +--...
|-
+--third_party > Contains third-party libraries, and repositories like Mikroe Click library.
| +--mikrosdk_click_v2 > Contains the MikroE Click Board™ library sources
| +--...
+--doc > Contains the doxygen documentation files
|-
To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of this repo. Please reference the board, project, and source files associated with the bug, and reference line numbers. If you are proposing a fix, also include information on the proposed fix. Since these examples are provided as-is, there is no guarantee that these examples will be updated to fix these issues.
Questions and comments related to these examples should be made by creating a new "Issue" in the "Issues" section of this repo.