Skip to content

Commit

Permalink
Third Party Hardware Drivers Extension v3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
silabs-DanielN authored Aug 29, 2024
1 parent a0a8cb4 commit b404827
Show file tree
Hide file tree
Showing 243 changed files with 16,359 additions and 1,034 deletions.
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Third Party Hardware Drivers #

[![Version Badge](https://img.shields.io/badge/-v2.0.2-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.4.0-green)](https://github.com/SiliconLabs/gecko_sdk/releases)
[![Version Badge](https://img.shields.io/badge/-v3.0.0-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.4.3-green)](https://github.com/SiliconLabs/gecko_sdk/releases)
[![WSDK Badge](https://img.shields.io/badge/WSDK-v3.2.0-green)](https://github.com/SiliconLabs/wiseconnect/releases)
![License badge](https://img.shields.io/badge/License-Zlib-green)

This repo contains example drivers developed by Silicon Labs engineers and are provided as [an SDK extension](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/install-sdk-extensions). 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.
Expand Down Expand Up @@ -101,12 +102,16 @@ A full list of all drivers in this repository is defined below:
| mikroe_pir_pl_n823_01 | [Click Here](./driver/public/mikroe/pir_pl_n823_01) | [Click Here](./app/example/mikroe_pir_pl_n823_01) | [Click Here](./app/documentation/example/mikroe_pir_pl_n823_01) |
| mikroe_uwb_dwm1000 | [Click Here](./driver/public/mikroe/uwb_dwm1000) | [Click Here](./app/example/mikroe_uwb_dwm1000) | [Click Here](./app/documentation/example/mikroe_uwb_dwm1000) |
| mikroe_uwb2_dwm3000 | [Click Here](./driver/public/silabs/uwb2_dwm3000) | [Click Here](./app/example/mikroe_uwb2_dwm3000) | [Click Here](./app/documentation/example/mikroe_uwb2_dwm3000) |
| sparkfun_gnss_max_m10s | [Click Here](./driver/public/silabs/gnss_max_m10s) | [Click Here](./app/example/sparkfun_gnss_max_m10s) | [Click Here](./app/documentation/example/sparkfun_gnss_max_m10s) |
| sparkfun_6dof_imu_bmi270 | [Click Here](./driver/public/silabs/sparkfun_6dof_imu_bmi270) | [Click Here](./app/example/sparkfun_6dof_imu_bmi270) | [Click Here](./app/documentation/example/sparkfun_6dof_imu_bmi270) |

## Requirements ##

- Desired Silicon Labs Starter Kit
- Driver specific test hardware
- Simplicity Studio v5.6.0.0 or newer
- Gecko SDK Suite 4.3.1, available via Simplicity Studio
- Simplicity Studio v5.9.2.1 or newer
- Gecko SDK 4.4.3
- WiSeConnect SDK 3.2.0

## How to add to Simplicity Studio IDE ##

Expand Down
43 changes: 33 additions & 10 deletions app/documentation/example/mikroe_alcohol_mq3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,47 @@ The MQ-3 provides an analog representation of its concentration in the air sent

- [**EFR32xG24-EK2703A** EFR32xG24 Explorer Kit (BRD2703A xG24 Explorer Kit Board)](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview).

- Or [SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-pk6031a-wifi-6-bluetooth-le-soc-pro-kit) (BRD4002 + BRD4338A).

- [**Mikroe Alcohol Click** board based on MQ-3 sensor](https://www.mikroe.com/alcohol-click).

## Hardware Connection ##

The Alcohol Click supports MikroBus, so it can connect easily to EFR32xG24 Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.
- If the EFR32xG24 Explorer Kit is used:

The Alcohol Click supports MikroBus, so it can connect easily to EFR32xG24 Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.

The hardware connection is shown in the image below:

![hardware_connection](image/hardware_connection.png)

The hardware connection is shown in the image below:
- If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:

![hardware_connection](image/hardware_connection.png)
| Description | BRD4338A GPIO | BRD4002 Breakout Pad | Acohol Click |
| ----------------------| ---------------| ---------------------| -------------------- |
| Positive analog input | ULP_GPIO_1 | P16 | OUT |
| Negative analog input | ULP_GPIO_7 | EXP_HEADER-15 to GND | -- |

## Setup ##

You can either create a project based on an example project or start with an empty example project.

### Create a project based on an example project ###

1. From the Launcher Home, add the BRD2703A to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project with filter **mq3**.
2. Click **Create** button on the **Third Party Hardware Drivers - MQ3 - Alcohol Click (Mikroe)** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
![create_project](image/create_project.png)
1. From the Launcher Home, add your device to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by **mq3**.

2. Click **Create** button on the project:

- **Third Party Hardware Drivers - MQ3 - Alcohol Click (Mikroe)** example if the EFR32xG24 Explorer Kit is used.
![Create_example](image/create_example_1.png)
- **Third Party Hardware Drivers - MQ3 - Alcohol Click (Mikroe) - Si91x** example if the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used.
![Create_example](image/create_example_2.png)

Example project creation dialog pops up -> click Create and Finish and Project should be generated.

### Start with an empty example project ###

1. Create an "Empty C Project" for the "EFR32xG24 Explorer Kit Board" using Simplicity Studio v5. Use the default project settings.
1. Create an "Empty C Project" for your board using Simplicity Studio v5. Use the default project settings.

2. Copy the file `app/example/mikroe_alcohol_mq3/app.c` into the project root folder (overwriting existing file).

Expand All @@ -46,14 +64,19 @@ You can either create a project based on an example project or start with an emp

- Install the following components:

- [Services][Timers][Sleep Timer]
**If the EFR32xG24 Explorer Kit is used:**

- [Services][Timers][Sleep Timer]
- [Services][IO Stream][IO Stream: USART] → default instance name: **vcom**

- [Application][Utility][Log]

- [Third Party Hardware Drivers][Sensors][MQ3 - Alcohol Click (Mikroe)] → use default configuration

**If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:**

- [WiSeConnect 3 SDK][Device][Si91x][MCU][Service][Sleep Timer for Si91x]
- [WiSeConnect 3 SDK][Device][Si91x][MCU][Peripheral][ADC][channel_0] → use default configuration
- [Third Party Hardware Drivers][Sensors][MQ3 - Alcohol Click (Mikroe)]

4. Install printf float

- Open Properties of the project.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 33 additions & 9 deletions app/documentation/example/mikroe_buzz2_cmt_8540s_smt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,48 @@ This project shows the driver implementation of a magnetic buzzer using the CMT-

- [**BGM220-EK4314A** BGM220 Bluetooth Module Explorer Kit (BRD4314A BGM220 Explorer Kit Board)](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit)

- [**Buzz 2 Click** board based on CMT-8540S-SMT](https://www.mikroe.com/buzz-2-click).
- Or [SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-pk6031a-wifi-6-bluetooth-le-soc-pro-kit) (BRD4002 + BRD4338A)

- [**Buzz 2 Click** board based on CMT-8540S-SMT](https://www.mikroe.com/buzz-2-click)

## Hardware Connection ##

The BUZZ2 Click board supports MikroBus, so it can connect easily to BGM220P Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.
- If the BGM220 Explorer Kit is used:

The BUZZ2 Click board supports MikroBus, so it can connect easily to BGM220P Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.

The hardware connection is shown in the image below:

The hardware connection is shown in the image below:
![board](image/hardware_connection.png "Hardware connection")

![board](image/hardware_connection.png "Hardware connection")
- If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:

| Description | BRD4338A GPIO | BRD4002 Breakout Pad | Buzz 2 Click |
| -------------| ---------------| ---------------------| -------------------- |
| PWM_H | GPIO_7 | P20 | PWM |

## Setup ##

You can either create a project based on n example project or start with an empty example project.
You can either create a project based on an example project or start with an empty example project.

### Create a project based on an example project ###

1. From the Launcher Home, add the BRD4314A to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project with filter buzz.
1. From the Launcher Home, add your board to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by *buzz*.

2. Click **Create** button on the project:

2. Click **Create** button on the **Third Party Hardware Drivers - CMT-8540S-SMT - Buzz 2 Click (Mikroe)** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
![Create_example](image/create_example.png)
- **Third Party Hardware Drivers - CMT-8540S-SMT - Buzz 2 Click (Mikroe)** example if the BGM220 Explorer Kit is used.
![Create_example](image/create_example.png)
- **Third Party Hardware Drivers - CMT-8540S-SMT - Buzz 2 Click (Mikroe) - Si91x** example if the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used.
![Create_example](image/create_example_si91x.png)

Example project creation dialog pops up -> click Create and Finish and Project should be generated.

3. Build and flash this example to the board.

### Start with an empty example project ###

1. Create an "Empty C Project" for the "BGM220 Explorer Kit Board" using Simplicity Studio v5. Use the default project settings.
1. Create an "Empty C Project" for your board using Simplicity Studio v5. Use the default project settings.

2. Copy the file `app/example/mikroe_buzz2_cmt_8540s_smt/app.c` into the project root folder (overwriting the existing file).

Expand All @@ -45,11 +61,19 @@ You can either create a project based on n example project or start with an empt

- Install the following components:

**If the BGM220 Explorer Kit is used:**

- [Services][Timers][Sleep Timer]
- [Services][IO Stream][IO Stream: USART] → default instance name: vcom
- [Application][Utility][Log]
- [Third Party Hardware Drivers][Mikroe Click][Audio & Voice][CMT-8540S-SMT - Buzz 2 Click (Mikroe)]

**If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:**

- [WiSeConnect 3 SDK][Device][Si91x][MCU][Service][Sleep Timer for Si91x]
- [WiSeConnect 3 SDK][Device][Si91x][MCU][Peripheral][PWM][channel_0] → use default configuration
- [Third Party Hardware Drivers][Mikroe Click][Audio & Voice][CMT-8540S-SMT - Buzz 2 Click (Mikroe)]

4. Build and flash this example to the board.

**Note:**
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 38 additions & 10 deletions app/documentation/example/mikroe_oledw_ssd1306/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,53 @@ MikroE OLED W Click is based on the MI9639BO-W OLED module which has a size of 1

- [**BGM220-EK4314A** BGM220 Bluetooth Module Explorer Kit (BRD4314A BGM220 Explorer Kit Board)](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit)

- [**OLED W Click** board based on SSD1306 IC](https://www.mikroe.com/oled-w-click).
- Or [SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-pk6031a-wifi-6-bluetooth-le-soc-pro-kit) (BRD4002 + BRD4338A)

- [**OLED W Click** board based on SSD1306 IC](https://www.mikroe.com/oled-w-click)

## Hardware Connection ##

The OLEDW Click board supports MikroBus, so it can connect easily to BGM220P Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.
- If the BGM220P Explorer Kit is used:

The OLEDW Click board supports MikroBus, so it can connect easily to BGM220P Explorer Kit's MikroBus header. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.

The hardware connection is shown in the image below:

The hardware connection is shown in the image below:
![board](image/hardware_connection.png "Hardware connection")

![board](image/hardware_connection.png "Hardware connection")
- If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:

| Description | BRD4338A GPIO | BRD4002 Breakout Pad | OLED W click |
| -------------| ------------------------ | -------------------- | ------------------ |
| DATA/COMMAND | GPIO_47 | P26 | D/C |
| RESET | GPIO_46 | P24 | RST |
| CS | GPIO_49 \| GSPI_MST1_CS0 | P30 | CS |
| CLK | GPIO_25 \| GSPI_MST1_CLK | P25 | SCK |
| MOSI | GPIO_25 \| GSPI_MST1_MOSI| P29 | SDI |

## Setup ##

You can either create a project based on an example project or start with an empty example project.

### Create a project based on an example project ###

1. From the Launcher Home, add the BRD4314A to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project with filter oledw.
1. From the Launcher Home, add your device to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by *oledw*.

2. Click **Create** button on the project:

- **Third Party Hardware Drivers - SSD1306 - Mikroe OLEDW Click (Mikroe)** example if the BGM220P Explorer Kit is used.
![Create_example](image/create_example_1.png)

2. Click **Create** button on the **Third Party Hardware Drivers - SSD1306 - Mikroe OLEDW Click (Mikroe)** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
![Create_example](image/create_example.png)
- **Third Party Hardware Drivers - SSD1306 - Mikroe OLEDW Click (Mikroe) - Si91x** example if the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used.
![Create_example](image/create_example_2.png)

Example project creation dialog pops up -> click Create and Finish and Project should be generated.

3. Build and flash this example to the board.

### Start with an empty example project ###

1. Create an "Empty C Project" for the "BGM220 Explorer Kit Board" using Simplicity Studio v5. Use the default project settings.
1. Create an "Empty C Project" for the your board using Simplicity Studio v5. Use the default project settings.

2. Copy the file `app/example/mikroe_oledw_ssd1306/app.c` into the project root folder (overwriting existing file).

Expand All @@ -47,9 +68,17 @@ You can either create a project based on an example project or start with an emp

- Install the following components:

**If the BGM220P Explorer Kit is used:**

- [Services][Timers][Sleep Timer]
- [Application][Utility][Assert]
- [Third Party Hardware Drivers][Display & LED][SSD1306 - OLED W Click (Mikroe) - SPI] → use default config
- [Third Party Hardware Drivers][Display & LED][SSD1306 - OLED W Click (Mikroe) - SPI] → use default configuration

**If the SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash SoC Pro Kit is used:**

- [WiSeConnect 3 SDK][Device][Si91x][MCU][Service][Sleep Timer for Si91x]
- [Application][Utility][Assert]
- [Third Party Hardware Drivers][Display & LED][SSD1306 - OLED W Click (Mikroe) - SPI] → use default configuration

4. Build and flash this example to the board.

Expand All @@ -70,4 +99,3 @@ The OLED display will look something like the GIF below.
To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of [third_party_hw_drivers_extension](https://github.com/SiliconLabs/third_party_hw_drivers_extension) 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 [third_party_hw_drivers_extension](https://github.com/SiliconLabs/third_party_hw_drivers_extension) repo.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b404827

Please sign in to comment.