Skip to content

Commit 7fbdc93

Browse files
authored
Platform Applications v2.8.0
1 parent af80a3e commit 7fbdc93

File tree

10 files changed

+502
-3
lines changed

10 files changed

+502
-3
lines changed

README.md

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

1414
# Silicon Labs Platform Applications #
1515

16-
[![Version Badge](https://img.shields.io/badge/-v2.7.0-green)](https://github.com/SiliconLabs/bluetooth_applications/releases)
16+
[![Version Badge](https://img.shields.io/badge/-v2.8.0-green)](https://github.com/SiliconLabs/bluetooth_applications/releases)
1717
[![GSDK Badge](https://img.shields.io/badge/GSDK-v4.4.4-green)](https://github.com/SiliconLabs/gecko_sdk/releases)
1818
![License badge](https://img.shields.io/badge/License-Zlib-green)
1919

@@ -92,7 +92,7 @@ This repository provides both SLCP projects (as External Repositories) and SLS p
9292
| 65 | Platform - Wake M33 using PRS |[Click Here](./platform_prs_wfe)
9393
| 66 | Platform - IADC Synchronous Triggers with PRS |[Click Here](./platform_iadc_synch_prs)
9494
| 67 | Platform - EMU Temperature Linearization |[Click Here](./platform_emu_temp_linearization)
95-
95+
| 68 | Platform - I2C Fast Plus Mode |[Click Here](./platform_i2c_fast_plus_mode)
9696

9797
## Requirements ##
9898

platform_i2c_fast_plus_mode/README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Platform - I2C Fast Plus Mode #
2+
3+
![Type badge](https://img.shields.io/badge/Type-Virtual%20Application-green)
4+
![Technology badge](https://img.shields.io/badge/Technology-Platform-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+
![Build badge](https://img.shields.io/badge/Build-passing-green)
8+
![Flash badge](https://img.shields.io/badge/Flash-13.52%20KB-blue)
9+
![RAM badge](https://img.shields.io/badge/RAM-4.47%20KB-blue)
10+
11+
## Overview ##
12+
13+
This project demonstrates the I2C communication in fast plus mode between 2 EFR32xG2x boards. This project contains the implementation for the leader device. Communication process between 2 boards is triggered once the button 0 is pressed on the leader device.
14+
15+
## SDK version ##
16+
17+
- [SiSDK v2024.12.0](https://github.com/SiliconLabs/simplicity_sdk)
18+
19+
## Software Required ##
20+
21+
- [Simplicity Studio v5 IDE](https://www.silabs.com/developers/simplicity-studio)
22+
23+
## Hardware Required ##
24+
25+
- 1 x [Silicon Labs EFR32xG24 Radio Board (BRD4186C)](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board?tab=overview) and Wireless Starter Kit
26+
27+
- 1 x [EFR32xG24 Explorer Kit](https://www.silabs.com/development-tools/wireless/efr32xg24-explorer-kit?tab=overview)
28+
29+
## Connections Required ##
30+
31+
The hardware connection is shown in the table below:
32+
33+
| Pin | Leader device (BRD2703A) | Follower device (BRD4186C)|
34+
|:----|:-------------------------|:--------------------------|
35+
| SCL | PB4 | EXP HEADER 11 |
36+
| SDA | PB5 | EXP HEADER 7 |
37+
38+
**Note:** You must connect 2 GND pins of 2 board together.
39+
40+
## Setup ##
41+
42+
To test this application, you can either create leader project based on an example project or start with a "Empty C Project" project based on your hardware. You should connect the EFR32xG24 Explorer Kit Board to the PC using a MicroUSB cable.
43+
44+
### Create a project based on an example project ###
45+
46+
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 "fast plus".
47+
48+
![create_leader](image/create_leader.png)
49+
50+
2. Click Create button on the **Platform - I2C Fast Plus Mode** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
51+
52+
3. Build and flash this example to the board.
53+
54+
### Start with a "Empty C Project" project ###
55+
56+
1. Create a **Empty C Project** project for your hardware using Simplicity Studio 5.
57+
58+
2. Copy the .c files 'src/app.c' to the following directory of the project root folder (overwriting the existing files).
59+
60+
3. Install the software components:
61+
62+
- Open the .slcp file in the project.
63+
64+
- Select the SOFTWARE COMPONENTS tab.
65+
66+
- Install the following components:
67+
- [Platform][Peripheral][I2C]
68+
- [Platform][Peripheral][RTCC]
69+
70+
4. Build and flash this project to the board.
71+
72+
### Create follower project ###
73+
74+
1. From the Launcher Home, add the **BRD4186C** to My Products, click on it, and click on the **EXAMPLE PROJECTS & DEMOS** tab. Find the example project filtering by "i2c follower".
75+
76+
![create_follower](image/create_follower.png)
77+
78+
2. Click Create button on the **Platform - BRD4186C EFR32MG24 I2C Follower** example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
79+
80+
3. Build and flash this example to the board.
81+
82+
## How it Works ##
83+
84+
Press **BTN0** on the leader kit to trigger an I2C test (read follower buffer, increment, write, read, verify). **LED0** will toggle with a successful I2C test whereas **LED1** will turn on to indicate a failure. You can observe that received values received from the follower (rxBuffer) match transmitted values sent by leader (txBuffer) by viewing *i2c_rxBuffer* and *i2c_txBuffer* respectively in the Expressions window of Simplicity Studio.
85+
86+
## Testing ##
87+
88+
**LED0** is used to verify the result of the transmission process. To confirm that the I2C transmission uses the fast plus mode, an oscilloscope can be used to monitor the frequency.
89+
90+
![test](image/test.png)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
project_name: platform_i2c_fast_plus_mode
2+
package: platform
3+
label: Platform - I2C Fast Plus Mode
4+
description: |
5+
This project demonstrates the I2C communication in fast plus mode between 2 EFR32xG2x boards.
6+
category: Example|Platform
7+
quality: experimental
8+
9+
filter:
10+
- name: Device Type
11+
value: [SoC]
12+
- name: MCU
13+
value: [32-bit MCU]
14+
- name: Project Difficulty
15+
value: [Beginner]
16+
17+
readme:
18+
- path: ../README.md
19+
20+
source:
21+
- path: ../src/main.c
22+
- path: ../src/app.c
23+
24+
include:
25+
- path: ../inc
26+
file_list:
27+
- path: app.h
28+
29+
component:
30+
- id: sl_system
31+
- id: device_init
32+
- id: emlib_i2c
33+
- instance: [btn0]
34+
id: simple_button
35+
36+
define:
37+
- name: DEBUG_EFM
38+
39+
other_file:
40+
- path: ../image/create_follower.png
41+
directory: "image"
42+
- path: ../image/create_leader.png
43+
directory: "image"
44+
- path: ../image/test.png
45+
directory: "image"
46+
47+
ui_hints:
48+
highlight:
49+
- path: README.md
50+
focus: true
51+
80.5 KB
Loading
61 KB
Loading
16.7 KB
Loading

platform_i2c_fast_plus_mode/inc/app.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/***************************************************************************//**
2+
* @file
3+
* @brief Top level application functions
4+
*******************************************************************************
5+
* # License
6+
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
7+
*******************************************************************************
8+
*
9+
* The licensor of this software is Silicon Laboratories Inc. Your use of this
10+
* software is governed by the terms of Silicon Labs Master Software License
11+
* Agreement (MSLA) available at
12+
* www.silabs.com/about-us/legal/master-software-license-agreement. This
13+
* software is distributed to you in Source Code format and is governed by the
14+
* sections of the MSLA applicable to Source Code.
15+
*
16+
******************************************************************************/
17+
18+
#ifndef APP_H
19+
#define APP_H
20+
21+
/***************************************************************************//**
22+
* Initialize application.
23+
******************************************************************************/
24+
void app_init(void);
25+
26+
/***************************************************************************//**
27+
* App ticking function.
28+
******************************************************************************/
29+
void app_process_action(void);
30+
31+
#endif // APP_H

0 commit comments

Comments
 (0)