-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Third Party Hardware Drivers Extension v2.0.1
- Loading branch information
1 parent
3d7d56f
commit 171cba8
Showing
185 changed files
with
11,631 additions
and
187 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file modified
BIN
+226 KB
(160%)
app/documentation/example/adafruit_neotrellis_keypad_atsamd09/image/connection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
101 changes: 101 additions & 0 deletions
101
app/documentation/example/mikroe_pir_pl_n823_01/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# PL-N823-01 - PIR Click (Mikroe) # | ||
|
||
## Summary ## | ||
|
||
This example project showcases the integration of the Mikroe PIR Click board driver with the Silicon Labs Platform. | ||
|
||
The PIR sensor is a kind of thermal sensor that is able to detect the movement of a heat source. As the most general heat source in indoor environments, humans with motion can be detected by PIR sensors. The sensor can be used for developing various applications, the typical ones including human presence detection sensing for energy-saving functions including contactless switching, home appliances, lighting, air-conditioners, etc. | ||
|
||
This example reads a voltage when exposed to infrared radiation by ADC and converts it to a scaled value in millivolts (mV). | ||
|
||
|
||
## Required Hardware ## | ||
|
||
- [EFR32xG24-EK2703A - EFR32xG24 Explorer Kit](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) | ||
|
||
- [Mikroe PIR Click](https://www.mikroe.com/pir-click) board based on a PL-N8230-01 infrared sensor | ||
|
||
**NOTE:** | ||
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) | | ||
| 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) | | ||
|
||
## Hardware Connection ## | ||
|
||
The PIR Click supports MikroBus; therefore, it can easily connect to the MikroBus header of the EFR32xG24 Explorer Kit. Make sure that the 45-degree corner of the PIR Click matches the 45-degree white line of the Explorer Kit. | ||
|
||
The hardware connection is shown in the image below: | ||
|
||
 | ||
|
||
## 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 **pir**. | ||
|
||
2. Click **Create** button on the **Third Party Hardware Drivers - PL-N823-01 - PIR Click (Mikroe)** example. 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. | ||
|
||
2. Copy the file `app/example/mikroe_pir_pl_n823_01/app.c` into the project root folder (overwriting the existing file). | ||
|
||
3. Install the software components: | ||
|
||
- Open the .slcp file in the project. | ||
|
||
- Select the SOFTWARE COMPONENTS tab. | ||
|
||
- Install the following components: | ||
|
||
- [Services] → [Timers] → [Sleep Timer] | ||
|
||
- [Services] → [IO Stream] → [IO Stream: USART] → default instance name: **vcom** | ||
|
||
- [Application] → [Utility] → [Log] | ||
|
||
- [Third Party Hardware Drivers] → [Sensors] → [PL-N823-01 - PIR Click (Mikroe)] → use default configuration | ||
|
||
4. Install **printf float** | ||
|
||
- Open Properties of the project. | ||
|
||
- Select C/C++ Build → Settings → Tool Settings → GNU ARM C Linker → General. Check Printf float. | ||
 | ||
|
||
5. Build and flash this example to the board. | ||
|
||
**Note :** | ||
|
||
- Make sure that the SDK Extension has already been installed. If not, 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 "PL-N823-01 - PIR Click (Mikroe)" component. Selecting this component will also include the "I2CSPM" component. | ||
|
||
## How It Works ## | ||
|
||
### Driver Layer Diagram ### | ||
|
||
 | ||
|
||
### Testing ### | ||
|
||
This example reads a voltage when exposed to infrared radiation by ADC and converts it to a scaled value in millivolts (mV). By moving in front of the sensor, you can see how the measured voltage values change on the console screen. | ||
|
||
You can launch Console, which is integrated into Simplicity Studio or you can use a third-party terminal tool like Tera Term to receive the data from USB. A screenshot of the console output is shown in the figure below. | ||
|
||
 | ||
|
||
## Report Bugs & Get Support ## | ||
|
||
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. |
Binary file added
BIN
+20.3 KB
app/documentation/example/mikroe_pir_pl_n823_01/image/console_log.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+56.3 KB
app/documentation/example/mikroe_pir_pl_n823_01/image/create_project.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+441 KB
app/documentation/example/mikroe_pir_pl_n823_01/image/hardware_connection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+58.6 KB
app/documentation/example/mikroe_pir_pl_n823_01/image/install_float.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+31.5 KB
app/documentation/example/mikroe_pir_pl_n823_01/image/software_layer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# DWM1000 - UWB Click (Mikroe) # | ||
|
||
## Summary ## | ||
|
||
This example project showcases the driver integration of the Mikroe DWM1000 - UWB Click board. | ||
|
||
UWB Click is an Ultra-Wideband transceiver Click board™ that can be used in 2-way ranging or TDOA location systems to locate assets to a precision of 10 cm and supports data rates of up to 6.8 Mbps. This Click board™ features the DWM1000 module based on Qorvo's DW1000 Ultra-Wideband (UWB) transceiver from Qorvo. | ||
|
||
It features a frequency range from 3.5GHz to 6.5GHz, a very precise location of tagged objects, up to 6.8Mbps data rates, low power consumption, and more while the communication with the MCU is accomplished through a standard SPI serial interface. This Click board™ is optimized for applications in real-time location systems and wireless sensor networks across a variety of markets including agriculture, building control and automation, factory automation, healthcare, safety & security, warehousing & logistics, and a range of others. | ||
|
||
## Required Hardware ## | ||
|
||
- [EFR32xG24 Explorer Kit](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) | ||
|
||
- [UWB Click](https://www.mikroe.com/uwb-click) | ||
|
||
## Hardware Connection ## | ||
|
||
The DWM1000 - UWB Click board supports MikroBus; therefore, it can easily connect to the MikroBus socket of the EFR32xG24 Explorer Kit. Be sure that the 45-degree corner of the board matches the 45-degree white line of the Explorer Kit. | ||
|
||
The hardware connection is shown in the image below: | ||
|
||
 | ||
|
||
### Driver Layer Diagram ### | ||
|
||
The driver of the DWM1000 - UWB Click board builds upon more than one level of software. On the first layer, there are the SPIDRV and GPIO drivers from Silabs, which focus on interfacing with the xG24 motherboard. On top of that, there are multiple layers of drivers, which either work as an interfacing layer between the Click board and the motherboard or control the DWM1000 UWB module. Here you can see the high-level overview of the software layers: | ||
|
||
 | ||
|
||
## 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 filtering by uwb. | ||
|
||
2. Click **Create** button on the **Third Party Hardware Drivers - DWM1000 - UWB Click (Mikroe)** example. 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 "EFR32xG24 Explorer Kit" using Simplicity Studio v5. Use the default project settings. | ||
|
||
2. Copy the file `app/example/mikroe_uwb_dwm1000/app.c` into the project root folder (overwriting the existing file). | ||
|
||
3. Install the software components: | ||
|
||
- Open the .slcp file in the project. | ||
|
||
- Select the SOFTWARE COMPONENTS tab. | ||
|
||
- Install the following components: | ||
|
||
- **[Services] → [IO Stream] → [IO Stream: EUSART]** → default instance name: vcom | ||
- **[Application] → [Utility] → [Log]** | ||
- **[Application] → [Utility] → [Assert]** | ||
- **[Platform] → [Driver] → [Button] → [Simple Button]** → use default instance name: btn0 | ||
- For using the SPI interface | ||
- [Platform] → [Driver] → [SPI] → [SPIDRV] → [mikroe] → change the configuration for [SPI master chip select (CS) control scheme] to "CS controlled by the application", use the default instance name "mikroe" | ||
- **[Third Party Hardware Drivers] → [Wireless Connectivity] → [DWM1000 - UWB Click (Mikroe)]** → use default configuration. | ||
|
||
 | ||
|
||
4. Build and flash this example to the board. | ||
|
||
**Note:** | ||
|
||
- Make sure that the SDK extension has already been 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 "DWM1000 - UWB Click (Mikroe)" component. | ||
|
||
- Make sure that the SPI CS Control scheme is set to "CS controlled by the application", otherwise the driver is not able to communicate with the module properly. | ||
|
||
## How It Works ## | ||
|
||
This is an example that demonstrates the use of the DWM1000 - UWB Click board. First, you have to decide whether you would like to use the device in Transmitter (Tx) or Receiver (Rx) mode, which you can do by setting the dev_mode to either **MIKROE_DWM1000_MODE_TX** or **MIKROE_DWM1000_MODE_RX**. | ||
|
||
In Tx mode, the device transmits a packet upon startup. The packet is re-transmitted every time when the BTN0 is pressed on the xG24 Explorer kit. The screenshot of the console can be seen below: | ||
|
||
 | ||
|
||
In Rx mode, the device enters receiver mode upon startup, and it prints each received packet after every IRQ event. The screenshot of the console can be seen below: | ||
|
||
 | ||
|
||
## Report Bugs & Get Support ## | ||
|
||
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. |
Binary file added
BIN
+99.6 KB
app/documentation/example/mikroe_uwb_dwm1000/image/create_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+631 KB
app/documentation/example/mikroe_uwb_dwm1000/image/hardware_connection.png
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.
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.