Skip to content

Commit 8af48e1

Browse files
Bluetooth Applications v3.0.0
1 parent 3eb0f3c commit 8af48e1

File tree

1,283 files changed

+18274
-19042
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,283 files changed

+18274
-19042
lines changed

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313

1414
# Silicon Labs Bluetooth Applications #
1515

16-
[![Version Badge](https://img.shields.io/badge/-v2.2.0-green)](https://github.com/SiliconLabs/bluetooth_applications/releases)
17-
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.4.0-green)](https://github.com/SiliconLabs/gecko_sdk/releases)
18-
[![TPHD Version Badge](https://img.shields.io/badge/TPHD-v2.0.0+-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
16+
[![Version Badge](https://img.shields.io/badge/-v3.0.0-green)](https://github.com/SiliconLabs/bluetooth_applications/releases)
17+
[![SDK Badge](https://img.shields.io/badge/SiSDK-v2024.12.0-green)](https://github.com/SiliconLabs/simplicity_sdk/releases)
18+
[![TPHD Version Badge](https://img.shields.io/badge/TPHD-v4.1.0+-green)](https://github.com/SiliconLabs/third_party_hw_drivers_extension/releases)
1919
![License badge](https://img.shields.io/badge/License-Zlib-green)
2020

2121
The Silicon Labs Bluetooth stack allows for a wide variety applications to be built on its foundation. This repo showcases some example applications using the Silicon Labs Bluetooth stack.
@@ -86,21 +86,22 @@ This repository provides both SLCP projects (as External Repositories) and SLS p
8686
| 58 | Bluetooth - BTHome v2 - PIR Alarm | [Click Here](./bluetooth_bthome_v2_pir_alarm/) |
8787
| 59 | Bluetooth - DW3000 TWR demo | [Click Here](./bluetooth_uwb_dw3000_slotted_twr/) |
8888
| 60 | Bluetooth - BThome v2 - People Counting (VL53L1X) | [Click Here](./bluetooth_bthome_v2_people_counting/) |
89+
| 61 | Bluetooth - MIDI over BLE | [Click Here](./bluetooth_midi_over_ble/) |
8990

9091
## Requirements ##
9192

9293
1. Silicon Labs EFR32 Development Kit
9394
2. Simplicity Studio 5
94-
3. Compatible GSDK version that specified in each project's readme file. You can install it via Simplicity Studio or download it from our GitHub [gecko_sdk](https://github.com/SiliconLabs/gecko_sdk)
95+
3. Compatible SDK version that specified in each project's readme file. You can install it via Simplicity Studio or download it from our GitHub [gecko_sdk](https://github.com/SiliconLabs/gecko_sdk) or [simplicity_sdk](https://github.com/SiliconLabs/simplicity_sdk)
9596
4. Compatible Third-Party Hardware Drivers extension that also specified in each project's readme file, available [here](https://github.com/SiliconLabs/third_party_hw_drivers_extension)
9697

9798
## Working with Projects ##
9899

99100
1. To add an external repository, perform the following steps.
100101

101-
- From Simpilicity Studio 5, go to **Preferences > Simplicity Studio > External Repos**. Here you can add the repo `https://github.com/SiliconLabs/bluetooth_applications.git`.
102+
- From Simpilicity Studio 5, go to **Preferences > Simplicity Studio > External Repos**. Here you can add the repo `https://github.com/SiliconLabs/bluetooth_applications.git`.
102103

103-
- Cloning and then selecting the branch, tag, or commit to add. The default branch is Master. This repo cloned to `<path_to_the_SimplicityStudio_v5>\developer\repos\`
104+
- Cloning and then selecting the branch, tag, or commit to add. The default branch is Master. This repo cloned to `<path_to_the_SimplicityStudio_v5>/developer/repos/`
104105

105106
2. From Launcher, select your device from the "Debug Adapters" on the left before creating a project. Then click the **EXAMPLE PROJECTS & DEMOS** tab -> check **bluetooth_applications** under **Provider** to show a list of Bluetooth example projects compatible with the selected device. Click CREATE on a project to generate a new application from the selected template.
106107

bluetooth_accelerometer_bma400/README.md

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Bluetooth - Accelerometer (BMA400) #
22

3-
![Type badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=Type&query=type&color=green)
4-
![Technology badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=Technology&query=technology&color=green)
5-
![License badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=License&query=license&color=green)
6-
![SDK badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=SDK&query=sdk&color=green)
7-
![Build badge](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_build_status.json)
8-
![Flash badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=Flash&query=flash&color=blue)
9-
![RAM badge](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/SiliconLabs/application_examples_ci/master/bluetooth_applications/bluetooth_accelerometer_bma400_common.json&label=RAM&query=ram&color=blue)
3+
![Type badge](https://img.shields.io/badge/Type-Virtual%20Application-green)
4+
![Technology badge](https://img.shields.io/badge/Technology-Bluetooth-green)
5+
![License badge](https://img.shields.io/badge/License-Zlib-green)
6+
![SDK badge](https://img.shields.io/badge/SDK-v2024.12.0-green)
7+
[![Required board](https://img.shields.io/badge/Mikroe-Accel%205%20Click%20board-green)](https://www.mikroe.com/accel-5-click)
8+
![Build badge](https://img.shields.io/badge/Build-passing-green)
9+
![Flash badge](https://img.shields.io/badge/Flash-198.95%20KB-blue)
10+
![RAM badge](https://img.shields.io/badge/RAM-10.7%20KB-blue)
1011
## Overview ##
1112

1213
This project aims to implement an accelerometer application using Silicon Labs development kits and external sensors integrated with the BLE wireless stack.
@@ -15,25 +16,21 @@ The following picture shows the system view of how it works.
1516

1617
![hardware_connect](image/hardware_connect.png)
1718

18-
## Gecko SDK Suite version ##
19+
## SDK version ##
1920

20-
- GSDK v4.4.0
21-
- [Third-Party Hardware Drivers v2.0.0.0](https://github.com/SiliconLabs/third_party_hw_drivers_extension)
21+
- [SiSDK v2024.12.0](https://github.com/SiliconLabs/simplicity_sdk)
22+
- [Third Party Hardware Drivers v4.1.0](https://github.com/SiliconLabs/third_party_hw_drivers_extension)
2223

23-
## Hardware Required ##
24-
25-
- [A BGM220P Explorer Kit board.](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit)
24+
## Software Required ##
2625

27-
- [A MikroE Accel 5 Click board.](https://www.mikroe.com/accel-5-click)
26+
- [Simplicity Studio v5 IDE](https://www.silabs.com/developers/simplicity-studio)
27+
- [Simplicity Connect Mobile App](https://www.silabs.com/developer-tools/simplicity-connect-mobile-app)
2828

29-
**NOTE:**
30-
Tested boards for working with this example:
29+
## Hardware Required ##
3130

32-
| Board ID | Description |
33-
| ---------------------- | ------ |
34-
| BRD2703A | [EFR32xG24 Explorer Kit - XG24-EK2703A ](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview) |
35-
| BRD4314A | [BGM220 Bluetooth Module Explorer Kit - BGM220-EK4314A](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit?tab=overview) |
36-
| BRD4108A | [EFR32BG22 Explorer Kit Board](https://www.silabs.com/development-tools/wireless/bluetooth/bg22-explorer-kit?tab=overview) |
31+
- 1x [Bluetooth Low Energy Explorer Kit](https://www.silabs.com/development-tools/wireless/bluetooth). For example, [BGM220-EK4314A](https://www.silabs.com/development-tools/wireless/bluetooth/bgm220-explorer-kit)
32+
- 1x [MikroE Accel 5 Click board](https://www.mikroe.com/accel-5-click)
33+
- 1x smartphone running the 'Simplicity Connect' mobile app
3734

3835
## Connections Required ##
3936

@@ -49,13 +46,13 @@ To test this application, you can either create a project based on an example pr
4946

5047
**NOTE**:
5148

52-
- Make sure that the SDK extension is already installed and this repository is added to [Preferences > Simplicity Studio > External Repos](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-about-the-launcher/welcome-and-device-tabs).
49+
- Make sure that the [Third Party Hardware Drivers extension](https://github.com/SiliconLabs/third_party_hw_drivers_extension) is installed as part of the SiSDK and the [bluetooth_applications](https://github.com/SiliconLabs/bluetooth_applications) repository is added to [Preferences > Simplicity Studio > External Repos](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-about-the-launcher/welcome-and-device-tabs).
5350

5451
- SDK Extension must be enabled for the project to install the required components.
5552

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

58-
1. From the Launcher Home, add your hardware to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project with the filter "accelerometer".
55+
1. From the Launcher Home, add your hardware to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by "accelerometer".
5956

6057
2. Click **Create** button on the example:
6158

@@ -79,7 +76,7 @@ To test this application, you can either create a project based on an example pr
7976
- Open the .slcp file in the project.
8077

8178
- Select the **CONFIGURATION TOOLS** tab and open the **Bluetooth GATT Configurator**.
82-
79+
8380
- Find the Import button and import the attached `config/gatt_configuration.btconf` file.
8481

8582
- Save the GATT configuration (ctrl-s).
@@ -96,6 +93,8 @@ To test this application, you can either create a project based on an example pr
9693

9794
- [Platform][Driver][LED][Simple LED] → default instance name: *led0*
9895

96+
- [Platform][Driver][GPIOINT]
97+
9998
- If using the I2C interface: [Third Party Hardware Drivers][Sensors][BMA400 - Accel 5 Click (Mikroe) - I2C] → use default configuration
10099

101100
- If using the SPI interface: [Third Party Hardware Drivers][Sensors][BMA400 - Accel 5 Click (Mikroe) - SPI] → use default configuration
@@ -104,7 +103,7 @@ To test this application, you can either create a project based on an example pr
104103

105104
**NOTE**:
106105

107-
- Do not forget to flash a bootloader to your board, see [Bootloader](https://github.com/SiliconLabs/bluetooth_applications/blob/master/README.md#bootloader) for more information.
106+
- A bootloader needs to be flashed to your board if the project starts from the "Bluetooth - SoC Empty" project, see [Bootloader](https://github.com/SiliconLabs/bluetooth_applications/blob/master/README.md#bootloader) for more information.
108107

109108
## How It Works ##
110109

@@ -118,18 +117,18 @@ After resetting, the program will continuously query the interrupt from bma400.
118117

119118
Follow the below steps to test the example:
120119

121-
1. Open the EFR Connect app on your smartphone.
120+
1. Open the Simplicity Connect app on your smartphone and allow the permission requested the first time it is opened.
122121

123122
2. Find your device in the Bluetooth Browser, advertising as "Silabs Example", and tap Connect.
124123

125124
3. Find the unknown service, try to read the unknown characteristic and check the value.
126125

127126
4. Enable notify on the unknown characteristic. Try to move your kit in some direction and check the value.
128127

129-
![](image/unknown_service.png)
128+
![image](image/unknown_service.png)
130129

131130
5. You can launch the Console that is integrated in Simplicity Studio or can use a third-party terminal tool like TeraTerm to receive the logs from the virtual COM port.
132131

133-
![](image/console.png)
132+
![image](image/console.png)
134133

135134
*Note*: The LED blinks once if the accelerometer initialization is successful. If the LED stays on, the initialization has been failed. The reason is typically wrong sensor I2C address (see "I2C ADD" resistors) or wrongly configured Click board mode (SPI-mode instead I2C) or if using some own ways to connect the sensor.

bluetooth_accelerometer_bma400/SimplicityStudio/bluetooth_accelerometer_bma400_i2c.slcp renamed to bluetooth_accelerometer_bma400/SimplicityStudio/bt_accelerometer_bma400_i2c.slcp

Lines changed: 54 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file.
2-
project_name: bluetooth_accelerometer_bma400_i2c
1+
project_name: bt_accelerometer_bma400_i2c
2+
package: Bluetooth
33
label: Bluetooth - Accelerometer (BMA400) - I2C
4-
description: |
5-
This project aims to implement an accelerometer application using Silicon Labs development kits and external sensors integrated with the BLE wireless stack.
4+
description: >
5+
This project aims to implement an accelerometer application using Silicon Labs Dev kits
6+
and external sensors integrated with the BLE wireless stack.
67
category: Bluetooth Examples
7-
88
quality: experimental
99

1010
filter:
@@ -17,48 +17,43 @@ filter:
1717
- name: "Wireless Technology"
1818
value: ["Bluetooth"]
1919

20-
package: Bluetooth
21-
22-
readme:
23-
- path: ../README.md
24-
source:
25-
- path: ../src/app.c
26-
- path: ../src/main.c
20+
component:
21+
- id: bluetooth_stack
22+
- id: gatt_configuration
23+
- id: gatt_service_device_information
24+
- id: bluetooth_feature_legacy_advertiser
25+
- id: bluetooth_feature_connection
26+
- id: bluetooth_feature_gatt
27+
- id: bluetooth_feature_gatt_server
28+
- id: bluetooth_feature_legacy_scanner
29+
- id: bluetooth_feature_sm
30+
- id: bluetooth_feature_system
31+
- id: rail_util_pti
32+
- id: app_assert
33+
- id: mpu
34+
- id: sl_system
35+
- id: clock_manager
36+
- id: device_init
37+
- id: sl_common
38+
- id: i2cspm
39+
instance: [mikroe]
40+
- id: gpiointerrupt
41+
- id: simple_led
42+
instance: [led0]
43+
- id: iostream_usart
44+
instance: [vcom]
45+
- id: app_log
46+
- id: mikroe_accel5_bma400_i2c
47+
from: third_party_hw_drivers
2748

2849
include:
29-
- path: ../inc
30-
file_list:
31-
- path: ../inc/app.h
50+
- path: ../inc
51+
file_list:
52+
- path: app.h
3253

33-
component:
34-
- id: sl_system
35-
- id: device_init
36-
- id: bluetooth_stack
37-
- id: gatt_configuration
38-
- id: gatt_service_device_information
39-
- id: bluetooth_feature_legacy_advertiser
40-
- id: bluetooth_feature_connection
41-
- id: bluetooth_feature_gatt
42-
- id: bluetooth_feature_gatt_server
43-
- id: bluetooth_feature_legacy_scanner
44-
- id: bluetooth_feature_system
45-
- id: bluetooth_feature_sm
46-
- id: rail_util_pti
47-
- id: mpu
48-
- id: bt_post_build
49-
- id: i2cspm
50-
instance: [mikroe]
51-
- id: gpiointerrupt
52-
- id: simple_led
53-
instance: [led0]
54-
- id: iostream_usart
55-
instance: [vcom]
56-
- id: app_log
57-
- id: app_assert
58-
- id: mikroe_accel5_bma400_i2c
59-
from: third_party_hw_drivers
60-
define:
61-
- name: DEBUG_EFM
54+
source:
55+
- path: ../src/app.c
56+
- path: ../src/main.c
6257

6358
config_file:
6459
- override:
@@ -67,12 +62,16 @@ config_file:
6762
path: "../config/gatt_configuration.btconf"
6863
directory: "btconf"
6964

70-
sdk_extension:
71-
- id: third_party_hw_drivers
72-
version: 2.0.0
65+
configuration:
66+
- name: SL_STACK_SIZE
67+
value: "2752"
68+
- name: SL_PSA_KEY_USER_SLOT_COUNT
69+
value: "0"
70+
condition:
71+
- psa_crypto
7372

74-
tag:
75-
- hardware:rf:band:2400
73+
readme:
74+
- path: ../README.md
7675

7776
other_file:
7877
- path: ../image/create_project.png
@@ -86,15 +85,12 @@ other_file:
8685
- path: ../image/connection.png
8786
directory: image
8887

89-
configuration:
90-
- name: SL_STACK_SIZE
91-
value: "2752"
92-
- name: SL_HEAP_SIZE
93-
value: "9200"
94-
- name: SL_PSA_KEY_USER_SLOT_COUNT
95-
value: "0"
96-
condition:
97-
- psa_crypto
88+
sdk_extension:
89+
- id: third_party_hw_drivers
90+
version: 4.1.0
91+
92+
tag:
93+
- hardware:rf:band:2400
9894

9995
ui_hints:
10096
highlight:

0 commit comments

Comments
 (0)