Skip to content

Commit d4b75be

Browse files
Peripheral Examples Wiseconnect SDK v1.2.0
1 parent 3dcc665 commit d4b75be

File tree

31 files changed

+359
-337
lines changed

31 files changed

+359
-337
lines changed

.github/pull_request_template.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,28 @@ Please note that:
55
- Once a new pull request is opened in the project
66
or new commit to an existing pull request will start a new build
77
to automatically update the status of every commit on every branch.
8-
Read https://confluence.silabs.com/spaces/SCLP/pages/623313008/SOSC+-+SiliconLabsSoftware+-+Pull+Request+Process for more.
8+
Read https://siliconlabs-massmarket.github.io/repository-catalog/#applications-list for more.
99
-->
1010

11-
**[Description]**
11+
## **Description**
1212
Hi There,
1313
This is a short description of a pull request.
1414
It can be multiline with empty lines as well.
1515

16-
**[Files]**
16+
## **Files**
1717
- inc/driver.h
1818
- src/driver.c
1919
- test/app.c
2020
- etc.
2121

22-
**[Video]**
22+
## **Video**
23+
24+
## **Application Lists**
25+
This is an additional feature to indicate which application type your project belongs to.
26+
You can find the list of application types here:
27+
https://siliconlabs-massmarket.github.io/repository-catalog
28+
29+
- project1_folder_name
30+
- application type 1
31+
- application type 2
32+
- application type n

.github/workflows/pull_request_check.yml

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: CI-Check
22

33
on:
44
pull_request_target:
5-
types: [opened, reopened, synchronize]
5+
types: [opened, reopened, synchronize, edited]
66

77
env:
88
SL_SLC_PATH: ${{ github.workspace }}/tools/slc_cli/slc
@@ -11,6 +11,12 @@ env:
1111
STUDIO_ADAPTER_PACK_PATH: ${{ github.workspace }}/tools/SimplicityStudio/developer/adapter_packs
1212
POST_BUILD_EXE: ${{ github.workspace }}/tools/SimplicityStudio/developer/adapter_packs/commander/commander
1313
WORKSPACE: ${{ github.workspace }}
14+
PR_BODY: ${{ github.event.pull_request.body }}
15+
PR_HEAD_REF: ${{ github.event.pull_request.head.ref }}
16+
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: true
1420

1521
jobs:
1622
readme_structure:
@@ -37,7 +43,7 @@ jobs:
3743
uses: actions/checkout@v4
3844
with:
3945
repository: SiliconLabsSoftware/aep_ci_tools
40-
ref: 'pr_checking'
46+
ref: 'ci_checking'
4147
token: ${{ steps.app-token.outputs.token }}
4248
path: 'aep_ci_tools'
4349

@@ -106,7 +112,7 @@ jobs:
106112
uses: actions/checkout@v4
107113
with:
108114
repository: SiliconLabsSoftware/aep_ci_tools
109-
ref: 'pr_checking'
115+
ref: 'ci_checking'
110116
token: ${{ steps.app-token.outputs.token }}
111117
path: 'aep_ci_tools'
112118

@@ -137,14 +143,21 @@ jobs:
137143
xargs -I{} -a changed_projects_folder.txt find {} -type f -name "*.[ch]" > source_list.txt
138144
bash ${{ github.workspace }}/aep_ci_tools/scripts/check_coding_style.sh source_list.txt > coding_style_report.html
139145
146+
if grep -qe "failed" coding_style_report.html; then
147+
echo "Failure detected in coding style report."
148+
else
149+
echo "No failure detected in coding style report."
150+
rm -rf coding_style_report.html
151+
fi
152+
140153
- name: Upload Result
141154
id: html_report
142155
if: ${{ steps.pr_check.outputs.has_changes == 'true' }}
143156
uses: actions/upload-artifact@v4
144157
with:
145158
name: coding_style_report
146159
path: projects/coding_style_report.html
147-
retention-days: 90
160+
if-no-files-found: ignore
148161

149162
- name: Browse the formatted files by Uncrustify
150163
id: solution_report
@@ -201,7 +214,7 @@ jobs:
201214
uses: actions/checkout@v4
202215
with:
203216
repository: SiliconLabsSoftware/aep_ci_tools
204-
ref: 'pr_checking'
217+
ref: 'ci_checking'
205218
token: ${{ steps.app-token.outputs.token }}
206219
path: 'aep_ci_tools'
207220

@@ -285,7 +298,7 @@ jobs:
285298
uses: actions/checkout@v4
286299
with:
287300
repository: SiliconLabsSoftware/aep_ci_tools
288-
ref: 'pr_checking'
301+
ref: 'ci_checking'
289302
token: ${{ steps.app-token.outputs.token }}
290303
path: 'aep_ci_tools'
291304

@@ -353,7 +366,7 @@ jobs:
353366
-D"sonar.verbose=true" \
354367
-D"sonar.qualitygate.wait=True" \
355368
-D"sonar.cfamily.compile-commands=wrapper_out/compile_commands.json" \
356-
-D"sonar.branch.name=${{ github.event.pull_request.head.ref }}" \
369+
-D"sonar.branch.name=$PR_HEAD_REF" \
357370
-D"sonar.scm.disabled=True" \
358371
-D"sonar.projectName=${{ env.repo }}" \
359372
-D"sonar.projectKey=${{ env.repo }}" \
@@ -374,36 +387,39 @@ jobs:
374387
375388
if grep -qe "EXECUTION SUCCESS" sonar_log.txt; then
376389
echo "Result: Success"
377-
echo "Check report here: ${{ vars.SONAR_HOST_URL }}/dashboard?id=${{ env.repo }}&branch=${{ github.event.pull_request.head.ref }}"
390+
echo "Check report here: ${{ vars.SONAR_HOST_URL }}/dashboard?id=${{ env.repo }}&branch=$PR_HEAD_REF"
378391
echo "result_sonar=success" >> $GITHUB_OUTPUT
379392
else
380393
echo "Result: Failure"
381394
cat sonar_log.txt
382395
echo ""
383396
echo "......................"
384-
echo "Check report here: ${{ vars.SONAR_HOST_URL }}/dashboard?id=${{ env.repo }}&branch=${{ github.event.pull_request.head.ref }}"
397+
echo "Check report here: ${{ vars.SONAR_HOST_URL }}/dashboard?id=${{ env.repo }}&branch=$PR_HEAD_REF"
385398
exit 1
386399
fi
387400
388401
- name: Update Shield
389402
if: ${{ steps.pr_check.outputs.has_changes == 'true' }}
390403
run: |
391-
cp ${{ github.workspace}}/projects/changed_projects_folder.txt ${{ github.workspace}}/changed_projects_folder.txt
404+
echo "$PR_BODY" > ${{ github.workspace }}/pr_desc.txt
405+
406+
cp ${{ github.workspace }}/projects/changed_projects_folder.txt ${{ github.workspace }}/changed_projects_folder.txt
392407
cd projects
393408
git clean -xdf
394-
cd ${{ github.workspace}}
395-
export SCRIPT_PATH="${{ github.workspace}}/aep_ci_tools/scripts/github_shield.py"
396-
python3 -u $SCRIPT_PATH --check_change ${{ github.workspace}}/changed_projects_folder.txt
409+
410+
cd ${{ github.workspace }}
411+
export SCRIPT_PATH="${{ github.workspace }}/aep_ci_tools/scripts/github_shield.py"
412+
python3 -u $SCRIPT_PATH --check_change changed_projects_folder.txt --pr_desc_file ${{ github.workspace }}/pr_desc.txt
397413
398414
if [ ${{ steps.check_sonar.outputs.result_sonar }} == success ]; then
399-
cd ${{ github.workspace}}/projects
415+
cd ${{ github.workspace }}/projects
400416
if [ -n "$(git status --porcelain)" ]; then
401417
{
402418
git config --global user.name "github-actions[bot]"
403419
git config --global user.email "github-actions[bot]@users.noreply.github.com"
404420
git add .
405421
git commit -m "Automatically update Shield for README.md"
406-
git push origin HEAD:${{ github.event.pull_request.head.ref }}
422+
git push origin HEAD:$PR_HEAD_REF
407423
}
408424
else
409425
echo "No changes README.md";
@@ -471,4 +487,4 @@ jobs:
471487
curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: token ${{ steps.app-token.outputs.token }}" \
472488
https://api.github.com/repos/$GITHUB_REPOSITORY/pulls/${{ github.event.pull_request.number }}/reviews \
473489
-d '{"commit_id":"${{ github.sha }}", "body":"Some checks were not successful!", "event":"REQUEST_CHANGES"}'
474-
fi
490+
fi

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
# Silicon Labs SiWx91x Peripheral Applications #
1515

1616

17-
[![Version Badge](https://img.shields.io/badge/-v1.1.0-green)](https://github.com/SiliconLabs/peripheral-examples-wiseconnect-sdk/releases)
18-
[![SDK Badge](https://img.shields.io/badge/SiSDK-v2025.6.0-green)](https://github.com/SiliconLabs/simplicity_sdk/releases)
17+
[![Version Badge](https://img.shields.io/badge/-v1.2.0-green)](https://github.com/SiliconLabs/peripheral-examples-wiseconnect-sdk/releases)
18+
[![Si SDK Badge](https://img.shields.io/badge/SiSDK-v2025.6.2-green)](https://github.com/SiliconLabs/simplicity_sdk/releases)
19+
[![WiSeConnect SDK Badge](https://img.shields.io/badge/WSDK-v3.5.2-green)](https://github.com/SiliconLabs/wiseconnect/releases/tag/v3.5.2)
1920
![License badge](https://img.shields.io/badge/License-Zlib-green)
2021

2122
The Silicon Labs WiseConnect SDK allows for a wide variety of applications to be built on its foundation. This repo showcases some example applications built using the Silicon Labs WiseConnect SDK.

siwx91x_config_timer_fixed_gate_time_frequency_measurement/README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
![Type badge](https://img.shields.io/badge/Type-Application%20Examples-green)
44
![Technology badge](https://img.shields.io/badge/Technology-Peripheral-green)
55
![License badge](https://img.shields.io/badge/License-Zlib-green)
6-
![SDK badge](https://img.shields.io/badge/SDK-v2025.6.0-green)
6+
![SDK badge](https://img.shields.io/badge/SDK-v2025.6.2-green)
77
![Build badge](https://img.shields.io/badge/Build-passing-green)
8-
![Flash badge](https://img.shields.io/badge/Flash-40.54%20KB-blue)
8+
![Flash badge](https://img.shields.io/badge/Flash-39.96%20KB-blue)
99
![RAM badge](https://img.shields.io/badge/RAM-18.64%20KB-blue)
1010

1111

@@ -17,7 +17,8 @@ This approach is ideal for measuring the frequency of periodic signals, especial
1717

1818
## SDK Version ##
1919

20-
- [SiSDK v2025.6.0](https://github.com/SiliconLabs/simplicity_sdk/releases/tag/v2025.6.0)
20+
- [SiSDK v2025.6.2](https://github.com/SiliconLabs/simplicity_sdk/releases/tag/v2025.6.2)
21+
- [WiSeConnect SDK v3.5.2](https://github.com/SiliconLabs/wiseconnect/releases/tag/v3.5.2)
2122

2223
## Software Required ##
2324

@@ -27,35 +28,40 @@ This approach is ideal for measuring the frequency of periodic signals, especial
2728

2829
- 1x Silicon Labs Si91x device, such as:
2930
- [SIWX917-DK2605A](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-dk2605a-wifi-6-bluetooth-le-soc-dev-kit)
30-
- [SIWX917-RB4338A](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-rb4338a-wifi-6-bluetooth-le-soc-radio-board?tab=overview)
31+
- [SIWX917-RB4338A](https://www.silabs.com/development-tools/wireless/wi-fi/siwx917-rb4338a-wifi-6-bluetooth-le-soc-radio-board) + [Si-MB4002A](https://www.silabs.com/development-tools/wireless/wireless-pro-kit-mainboard?tab=overview)
32+
- [SiW917Y-EK2708A](https://www.silabs.com/development-tools/wireless/wi-fi/siw917y-ek2708a-explorer-kit?tab=overview)
3133
- A source of periodic signal, which should be connected to the input GPIO
3234

3335
## Connections Required ##
3436

35-
- Connect the periodic signal to the input GPIO pin, which is GPIO_25 for both BRD2605A and BRD4338A (P25 on the breakout pad):
37+
- Refer to the table below to connect the periodic signal to the appropriate input pin.
3638

37-
![brd4338a_connectors](image/brd4338a_connectors.png)
38-
39-
![brd2605a_connectors](image/brd2605a_connectors.png)
40-
41-
- Additionally, make sure that the source of the periodic signal and the board share the same ground (GND).
39+
| Description | BRD4338A + BRD4002A | BRD2605A | BRD2708A |
40+
| --- | --- | --- | --- |
41+
| INPUT | GPIO_25 [P25] | GPIO_25 [P2] | GPIO_25 [SCK] |
4242

4343
> [!TIP]
44-
> Refer to the official Silicon Labs documentation for the correct hardware layout of the board.
44+
>
45+
> - Ensure that the source of the periodic signal and the board share the same ground (GND).
46+
> - Refer to the official Silicon Labs documentation for the correct hardware layout of the board.
4547
4648
## Setup ##
4749

4850
### Create from EXAMPLE PROJECTS & DEMOS ###
4951

50-
1. From the Launcher Home, add your hardware to My Products, click on it, and go to the EXAMPLE PROJECTS & DEMOS tab. Find the example project by filtering for "gate time interval - frequency measurement".
52+
1. From the Launcher Home, add your hardware to My Products, click on it, and go to the EXAMPLE PROJECTS & DEMOS tab. Find the example project filtering by "gate time interval - frequency measurement".
5153

5254
2. Create the project in Simplicity Studio.
5355

56+
3. Build and flash the example to your device.
57+
5458
### Create from an empty example project ###
5559

56-
1. Create an "Empty C Project" for your board using Simplicity Studio v5. Use the default project settings.
60+
1. Create an "SL Si91x - Empty C Project SoC" for your board using Simplicity Studio v5. Use the default project settings.
61+
62+
2. Copy the `src/app.c` file into the project root folder, overwriting the existing file.
5763

58-
2. Copy the .c files 'src/app.c' to the following directory of the project root folder (overwriting the existing files).
64+
3. Build and flash the project to your device.
5965

6066
## How It Works ##
6167

@@ -67,9 +73,12 @@ This method is especially useful for measuring the frequency of low-frequency si
6773

6874
## Testing ##
6975

70-
It is recommended to check the measured frequency in debug mode, as printing may affect timing and lead to inaccurate readings. Connect the signal source to the input capture pin. Enable debug mode, set a breakpoint after the frequency calculation, and observe the measured value. The result should be similar to the following:
76+
1. Build the project and download it to the Kit
77+
2. Connect a periodic signal to the GPIO pin specified as described in [Hardware Required](#hardware-required)
78+
3. Go into debug mode and click run
79+
4. View the estimated_frequency (frequency in Hz) global variable in the debugger. The result should be similar to the following:
7180

72-
![result](image/result.png)
81+
![result](image/result.png)
7382

7483
## Reporting Bugs/Issues and Posting Questions and Comments ##
7584

siwx91x_config_timer_fixed_gate_time_frequency_measurement/SimplicityStudio/siwx91x_config_timer_fixed_gate_time_frequency_measurement.slcp

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,21 @@ label: Peripheral Example - Config Timer - Fixed Gate Time Frequency Measurement
33
description: >
44
This application demonstrates how to use the config timer to implement a fixed gate time frequency measurement. The config timer is configured to generate an interrupt on overflow, and all signal edges on a GPIO input pin are counted before the overflow occurs.
55
This allows measurement of the number of edges within each fixed gate time interval defined by the timer overflow.
6-
76
category: Example|Platform
8-
9-
filter:
10-
- name: Device Type
11-
value: [SoC]
12-
- name: Project Difficulty
13-
value: [Beginner]
14-
157
package: platform
16-
178
quality: evaluation
189

10+
filter:
11+
- name: Device Type
12+
value: [SoC]
13+
- name: Project Difficulty
14+
value: [Beginner]
15+
1916
readme:
20-
- path: ../README.md
17+
- path: ../README.md
2118

2219
source:
23-
- path: ../src/app.c
20+
- path: ../src/app.c
2421

2522
include:
2623
- path: '../inc'
@@ -36,10 +33,6 @@ component:
3633
from: wiseconnect3_sdk
3734

3835
other_file:
39-
- path: ../image/brd2605a_connectors.png
40-
directory: "image"
41-
- path: ../image/brd4338a_connectors.png
42-
directory: "image"
4336
- path: ../image/result.png
4437
directory: "image"
4538

@@ -50,4 +43,4 @@ ui_hints:
5043

5144
sdk_extension:
5245
- id: wiseconnect3_sdk
53-
version: 3.5.0
46+
version: 3.5.2
Binary file not shown.
Binary file not shown.

siwx91x_config_timer_fixed_gate_time_frequency_measurement/src/app.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#include "rsi_rom_clks.h"
3737
#include "clock_update.h"
3838
#include "rsi_egpio.h"
39-
#include "rsi_debug.h"
4039
#include "rsi_ct.h"
4140

4241
#define SL_SI91X_REQUIRES_INTF_PLL
@@ -119,8 +118,6 @@ static void sl_gpio_init(void)
119118
RSI_EGPIO_SetIntRiseEdgeEnable(EGPIO, INTERRUPT_CHANNEL);
120119

121120
RSI_EGPIO_IntUnMask(EGPIO, INTERRUPT_CHANNEL);
122-
123-
DEBUGOUT("Successfully set pin mode for GPIO_25\r\n");
124121
}
125122

126123
static void sl_config_timer_init(void)
@@ -135,22 +132,17 @@ static void sl_config_timer_init(void)
135132
interrupt_flags = RSI_CT_EVENT_COUNTER_1_IS_PEAK_l;
136133

137134
RSI_CT_SetControl(CONFIG_TIMER_0_BASE_ADD, ct_config_value);
138-
DEBUGOUT("Successfully set configuration for Config Timer\r\n");
139135

140136
RSI_CT_PeripheralReset(CONFIG_TIMER_0_BASE_ADD, (boolean_t)COUNTER_0);
141137
RSI_CT_SetCount(CONFIG_TIMER_0_BASE_ADD, 0);
142-
DEBUGOUT("Successfully set CT Initial Count\n");
143138

144139
CONFIG_TIMER_0_BASE_ADD->CT_MATCH_REG = TOP_COUNTER_VALUE;
145-
DEBUGOUT("Successfully set CT Match Count\n");
146140

147141
RSI_CT_InterruptDisable(CONFIG_TIMER_0_BASE_ADD, interrupt_flags);
148142
RSI_CT_InterruptEnable(CONFIG_TIMER_0_BASE_ADD, interrupt_flags);
149143
NVIC_EnableIRQ(CT_IRQn);
150-
DEBUGOUT("Successfully enabled interrupt for Config Timer\r\n");
151144

152145
RSI_CT_StartSoftwareTrig(CONFIG_TIMER_0_BASE_ADD, COUNTER_0);
153-
DEBUGOUT("Successfully started Config Timer\r\n");
154146
first_starting_edge = true;
155147
}
156148

0 commit comments

Comments
 (0)