Skip to content

Commit

Permalink
Third Party Hardware Drivers Extension v1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
silabs-DanielN authored Aug 17, 2023
1 parent f14a144 commit dfaf35c
Show file tree
Hide file tree
Showing 128 changed files with 1,357 additions and 366 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Third Party Hardware Drivers #

[![Version Badge](https://img.shields.io/badge/-v1.6.0-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.3.0-green)](https://github.com/SiliconLabs/gecko_sdk/releases)
[![Version Badge](https://img.shields.io/badge/-v1.7.0-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.3.1-green)](https://github.com/SiliconLabs/gecko_sdk/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 @@ -53,7 +53,7 @@ A full list of all drivers in this repository is defined below:
| environmental_bme280_ccs811 | [Click Here](./driver/public/silabs/environmental_bme280_ccs811) | [Click Here](./app/example/sparkfun_environmental_bme280_ccs811) | [Click Here](./app/documentation/example/sparkfun_environmental_bme280_ccs811) |
| oledc_ssd1351 | [Click Here](./driver/public/mikroe/oledc_ssd1351) | [Click Here](./app/example/mikroe_oledc_ssd1351) | [Click Here](./app/documentation/example/mikroe_oledc_ssd1351) |
| pressure3_dps310 | [Click Here](./driver/public/mikroe/pressure3_dps310) | [Click Here](./app/example/mikroe_pressure3_dps310) | [Click Here](./app/documentation/example/mikroe_pressure3_dps310) |
| lte_iot_2 | [Click Here](./driver/public/mikroe/lte_iot2_bg96) | [Click Here](./app/example/mikroe_lte_iot2_bg96) | [Click Here](./app/documentation/example/mikroe_lte_iot2_bg96) |
| lte_iot2_bg96 | [Click Here](./driver/public/mikroe/lte_iot2_bg96) | [Click Here](./app/example/mikroe_lte_iot2_bg96) | [Click Here](./app/documentation/example/mikroe_lte_iot2_bg96) |
| e_paper_154_inch | [Click Here](./driver/public/mikroe/e_paper_154_inch) | [Click Here](./app/example/mikroe_e_paper_154_inch) | [Click Here](./app/documentation/example/mikroe_e_paper_154_inch) |
| ir_array_amg88xx | [Click Here](./driver/public/silabs/ir_array_amg88xx) | [Click Here](./app/example/sparkfun_ir_array_amg88xx) | [Click Here](./app/documentation/example/sparkfun_ir_array_amg88xx) |
| nfc2_pn7150 | [Click Here](./driver/public/mikroe/nfc2_pn7150) | [Click Here](./app/example/mikroe_nfc2_pn7150) | [Click Here](./app/documentation/example/mikroe_nfc2_pn7150) |
Expand All @@ -79,7 +79,7 @@ A full list of all drivers in this repository is defined below:
- Desired Silicon Labs Starter Kit
- Driver specific test hardware
- Simplicity Studio v5.6.0.0 or newer
- Gecko SDK Suite 4.2.3, available via Simplicity Studio
- Gecko SDK Suite 4.3.1, available via Simplicity Studio

## How to add to Simplicity Studio IDE ##

Expand Down
44 changes: 25 additions & 19 deletions app/documentation/example/mikroe_barcode2_em3080w/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Barcode 2 Click #
# EM3080-W - Barcode 2 Click (Mikroe) #

## Summary ##

This project shows the implementation of a Barcode reader using Barcode 2 Click board.

Barcode 2 Click is an adapter add-on board that contains a computerized image recognition system that is compliant with a wide range of different 1D and 2D barcode protocols. Barcode 2 Click can be used for a for both emerging mobile phone-based barcode applications, like coupons, e-tickets and boarding passes, and traditional applications.
Barcode 2 Click is an adapter add-on board that contains a computerized image recognition system that is compliant with a wide range of different 1D and 2D barcode protocols. Barcode 2 Click can be used for both emerging mobile phone-based barcode applications, like coupons, e-tickets and boarding passes, and traditional applications.

## Required Hardware ##

Expand All @@ -16,26 +16,26 @@ Barcode 2 Click is an adapter add-on board that contains a computerized image re

The Barcode 2 Click board can just be "clicked" into its place. Be sure that the board's 45-degree corner matches the Explorer Kit's 45-degree white line.

![board](hardware_connection.png)
![board](image/hardware_connection.png)

## Setup ##

You can either create a project based on a 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 a example project ###
### Create a project based on an example project ###

1. From the Launcher Home, add the BRD4314A to MyProducts, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project with filter EM3080-W.
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 EM3080-W.

2. Click **Create** button on the **Third Party Hardware Drivers - EM3080-W (Barcode 2 Click Board)** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
![Create_example](create_example.png)
2. Click **Create** button on the **Third Party Hardware Drivers - EM3080-W - Barcode 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)

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.

2. Copy the file [app.c](https://github.com/SiliconLabs/third_party_hw_drivers_extension/tree/master/app/example/mikroe_barcode2_em3080w/app.c) (overwriting existing file), into the project root folder.
2. Copy the file `app/example/mikroe_barcode2_em3080w/app.c` into the project root folder (overwriting the existing file).

3. Install the software components:

Expand All @@ -45,28 +45,34 @@ You can either create a project based on a example project or start with an empt

- Install the following components:

- [Services][Sleep Timer]
- [Services][IO Stream][IO Stream: USART] → default instance name: vcom
- [Services][Timers][Sleep Timer]
- [Services][IO Stream][IO Stream: EUSART] → default instance name: vcom
- [Application][Utility][Log]
- [Services][mikroSDK 2.0 SDK - Peripheral Drivers][UART]
- [Services][IO Stream][IO Stream: USART] → default instance name: mikroe -> Set Baud rate to 9600 and Receiver buffer size to 256 as below
![UART config](image/uart_config.png)
- [Third Party Hardware Drivers][Sensors][EM3080-W - Barcode 2 Click (Mikroe)] → use default configuration
![Barcode 2 config](barcode2_config.png)
![Barcode 2 config](image/barcode2_config.png)

4. Build and flash this example to the board.

**Note:**

- Make sure the SDK extension already be installed. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md).
- Make sure that the SDK extension already be installed. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md#how-to-add-to-simplicity-studio-ide).

- SDK Extension must be enabled for the project to install "EM3080-W - Barcode 2 Click (Mikroe)" component. Selecting this component will also include the "UART" component with configurated instance: **barcode**.

- The example project are built on the BRD4314A board. For another boards, the **barcode** instance should be configurated by users.
- SDK Extension must be enabled for the project to install "EM3080-W - Barcode 2 Click (Mikroe)" component.

## How It Works ##

You can launch Console that's integrated into Simplicity Studio or use a third-party terminal tool like puty to receive the data from the USB. A screenshot of the console output is shown in the figure below.
This is an example that demonstrates the use of the Barcode 2 Click board:

- First, it enables scanning and waits for the barcode to be detected.
- If the barcode or QR Code is detected, it displays its content to the USB UART.
- After that, disables scanning for 1 second.
- Results are being sent to the USART Terminal where you can track their changes.

You can launch Console that's integrated into Simplicity Studio or use a third-party terminal tool like Putty to receive the data from the USB. A screenshot of the console output is shown in the figure below.

![usb_debug](log.png "USB Debug Output Data")
![usb_debug](image/log.png "USB Debug Output Data")

## Report Bugs & Get Support ##

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 13 additions & 9 deletions app/documentation/example/mikroe_dcmotor3_tb6549fg/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# DC Motor 3 Click #
# TB6549FG - DC Motor 3 Click (Mikroe) #

## Summary ##

Expand All @@ -17,7 +17,7 @@ Tested boards for working with this example:

| Board ID | Description |
| ---------------------- | ------ |
| BRD2703A | [EFR32xG24 Explorer Kit - XG24-EK2703A ](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
| BRD2703A | [EFR32xG24 Explorer Kit - XG24-EK2703A](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
| BRD4314A | [BGM220 Bluetooth Module Explorer Kit - BGM220-EK4314A](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit?tab=overview) |
| BRD4108A | [EFR32BG22 Explorer Kit Board](https://www.silabs.com/development-tools/wireless/bluetooth/bg22-explorer-kit?tab=overview) |

Expand All @@ -29,7 +29,7 @@ During the assembly process, make sure that the 45-degree corner of the Click bo

The hardware connection is shown in the image below:

![board](hardware_connection.png "Hardware connection")
![board](image/hardware_connection.png)

## Setup ##

Expand All @@ -40,15 +40,15 @@ You can either create a project based on an example project or start with an emp
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 dc

2. Click **Create** button on the **Third Party Hardware Drivers - TB6549FG - DC Motor 3 Click (Mikroe)** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
![Create_example](create_example.png)
![Create_example](image/create_example.png)

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" using Simplicity Studio v5. Use the default project settings.

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

3. Install the software components:

Expand All @@ -60,22 +60,26 @@ You can either create a project based on an example project or start with an emp

- **[Services][IO Stream][IO Stream: USART]** → default instance name: vcom
- **[Application][Utility][Log]**
- **[Application][Service][Services][Sleep Timer]**
- **[Services][Timers][Sleep Timer]**
- **[Third Party Hardware Drivers][Miscellaneous][TB6549FG - DC MOTOR 3 Click (Mikroe)]**

4. Build and flash this example to the board.

**Note:**

- Make sure that the Third-party drivers extension has already been installed.. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md).
- Make sure that the SDK extension already be installed. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md#how-to-add-to-simplicity-studio-ide).

- Third-party drivers extension must be enabled for the project to install "TB6549FG - DC MOTOR 3 Click (Mikroe)" component. Selecting this component will also include the "PWM" component with the default configurated instance: Mikroe.
- Third-party drivers extension must be enabled for the project to install "TB6549FG - DC MOTOR 3 Click (Mikroe)" component.

## How It Works ##

This example demonstrates the use of DC Motor 3 Click board. DC Motor 3 Click communicates with the register via PWM interface.
It shows moving in the left direction from slow to fast speed and from fast to slow speed.
Results are being sent to the USART Terminal where you can track their changes.

You can launch Console that's integrated into Simplicity Studio or use a third-party terminal tool like Tera Term to receive the data from the USB. A screenshot of the console output and an actual test image are shown in the figure below.

![logging_screen](log.png)
![logging_screen](image/log.png)

## Report Bugs & Get Support ##

Expand Down
15 changes: 6 additions & 9 deletions app/documentation/example/mikroe_lte_iot2_bg96/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# LTE IoT 2 Click #
# BG96 - LTE IoT 2 Click (Mikroe) #

## Summary ##

Expand All @@ -16,7 +16,7 @@ Tested boards for working with this example:

| Board ID | Description |
| ---------------------- | ------ |
| BRD2703A | [EFR32xG24 Explorer Kit - XG24-EK2703A ](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
| BRD2703A | [EFR32xG24 Explorer Kit - XG24-EK2703A](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
| BRD4314A | [BGM220 Bluetooth Module Explorer Kit - BGM220-EK4314A](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit?tab=overview) |
| BRD4108A | [EFR32BG22 Explorer Kit Board](https://www.silabs.com/development-tools/wireless/bluetooth/bg22-explorer-kit?tab=overview) |

Expand All @@ -34,7 +34,7 @@ You can either create a project based on an example project or start with an emp

### 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 the filter 'lte iot 2'.
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 the filter 'bg96'.

2. Click **Create** button on the **Third Party Hardware Drivers - BG96 - LTE IoT 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)
Expand All @@ -45,7 +45,7 @@ You can either create a project based on an example project or start with an emp

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

2. Copy the file [app.c](https://github.com/SiliconLabs/third_party_hw_drivers_extension/tree/master/app/example/mikroe_lte_iot2_bg96) (overwriting existing file), [app_iostream_cli.c](https://github.com/SiliconLabs/third_party_hw_drivers_extension/tree/master/app/example/mikroe_lte_iot2_bg96) and [app_iostream_cli.h](https://github.com/SiliconLabs/third_party_hw_drivers_extension/tree/master/app/example/mikroe_lte_iot2_bg96) into the project root folder.
2. Copy the files `app/example/mikroe_lte_iot2_bg96/app.c`, `app/example/mikroe_lte_iot2_bg96/app_iostream_cli.c`, `app/example/mikroe_lte_iot2_bg96/app_iostream_cli.h` into the project root folder (overwriting the existing file).

3. Install the software components:

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

- Install the following components:

- [Services][Sleep Timer]
- [Services][IO Stream][IO Stream: EUSART] → default instance name: vcom
- [Application][Utility][Log]
- [Application][Utility][Application Queue]
- [Third-Party Hardware Drivers][Sensors][BG96 - LTE IoT 2 Click (Mikroe)]

4. Build and flash this example to the board.

**Note:**

- Make sure the Third-party Hardware Drivers Extension already be installed. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md).
- Make sure that the SDK extension already be installed. If not please follow [this documentation](https://github.com/SiliconLabs/third_party_hw_drivers_extension/blob/master/README.md#how-to-add-to-simplicity-studio-ide).

- Third-party Hardware Drivers Extension must be enabled for the project to install "BG96- LTE IoT 2 Click (Mikroe)" component.
- The example project is built on the BRD2703A board. For other boards, selecting the "BG96 - LTE IoT 2 Click (Mikroe)" component will include the "UART" component with an unconfigured instance. This instance should be configurated by users.

## How It Works ##

Expand All @@ -85,7 +82,7 @@ You can either create a project based on an example project or start with an emp

### BG96 - LTE IoT 2 Click functional high-level functions ###

- *bg96_nb_init(void)*
- *bg96_nb_init()*
- *bg96_nb_open_connection()*
- *bg96_network_registration()*
- *bg96_nb_close_connection()*
Expand Down
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 dfaf35c

Please sign in to comment.