Skip to content

SiliconLabsSoftware/platform_applications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EFM32 and EFR32 Platform Application Examples

EFM32 32-bit Microcontrollers

Silicon Labs Platform Applications

Version Badge SDK Badge License badge

This repo contains example projects that demonstrate various applications using the peripherals of Silicon Labs EFM32 and EFR32 parts.

This repository provides both SLCP projects (as External Repositories) and SLS projects as standalone projects, which are configured for development boards.

SoC and SDK Compatibility

This repository maintains multiple versions to support different SDK releases and chip families. Choose the version that matches your development environment and target device.

Version SDK Chip Family
v2.x.x SDK Badge Series 1
Series 2
v3.x.x SDK Badge Series 2

A full list of all examples and drivers in this repository is defined below.

Examples

No Example name
1 Platform - ACMP Hysteresis Mode
2 Platform - Asynchronous EM01GRPA Clock Output
3 Platform - Brushless DC Motor Control
4 Platform - DALI Communication
5 Platform - Timing EM4 Duration with the BURTC
6 Platform - EMU Temperature Sensor
7 Platform - EMU Temperature Linearization
8 Platform - Energy Harvesting Examples
9 Platform - Fixed Gate Time - Frequency Measurement
10 Platform - Flash blank checking using the GPCRC
11 Platform - I2C Fast Plus Mode
12 Platform - I2C Leader Interrupt
13 Platform - I2C Smbus Scl Low Timeout
14 Platform - I2C Test for EFM8 IOExpander
15 Platform - I2C Slave Bootloader
16 Platform - I2S Microphone VDAC
17 Platform - IADC High Accuracy Examples
18 Platform - IADC High-Speed Mode
19 Platform - IADC with LDMA Ping-Pong
20 Platform - IADC Loopback with VDAC
21 Platform - IADC scan multiple external inputs
22 Platform - IADC synchronous PRS with LDMA
23 Platform - IADC Tailgating
24 Platform - KeyScan
25 Platform - LCD Animation Blink
26 Platform - LDMA trigger with TIMER
27 Platform - Lean Watchdog
28 Platform - Multi Channel PWM
29 Platform - NVM3 Integrity Test
30 Platform - Interrupt-Driven HFRCO Calibration
31 Platform - Polled HFRCO Calibration
32 Platform - Executing Code from RAM
33 Platform - Wake M33 using PRS
34 Platform - QI PRx communication protocol
35 Platform - Si7021 RHT Sensor Bare-metal
36 Platform - Segment LCD with LC Sensor
37 Platform - Segment LCD with LDMA
38 Platform - SegmentLCD Low Power
39 Platform - Segment LCD and Temperature Sensor
40 Platform - Segment LCD with Timer
41 Platform - Sine null points detector
42 Platform - SPI Throughput
43 Platform - SPI FreeRTOS
44 Platform - Sysrtc Wakeup
45 Platform - Timer cascading
46 Platform - Timestamped IADC EM2 Acquisition with Timestamps
47 Platform - UART DFU Multislot
48 Platform - EFP01 Feature Demo
49 Platform - EUSART RX Timeout
50 Platform - Direct Digital Synthesis (DDS) DAC

Requirements

  1. Silicon Labs EFR32 Development Kit
  2. Simplicity Studio 5
  3. Compatible SDK version as specified in the README file of each project. You can install it via Simplicity Studio or download it from our GitHub simplicity_sdk.

Working with Projects

Adding as an External Repository

To add an external repository, perform the following steps:

  • From Simplicity Studio 5, go to Preferences > Simplicity Studio > External Repos. Here you can add the repository https://github.com/SiliconLabsSoftware/platform_applications.git.

  • Clone and then select the branch, tag, or commit to add. The default branch is Master. The repository will be cloned to <path_to_the_SimplicityStudio_v5>\developer\repos\

Creating an Example Project

  • From Launcher, select your device from the "Debug Adapters" on the left before creating a project.
  • Click the EXAMPLE PROJECTS & DEMOS tab → check platform_applications under Provider to show a list of platform example projects compatible with the selected device.
  • Click CREATE on a project to generate a new application from the selected template.

Legacy Projects - Importing *.sls projects

  1. Place the *.sls file(s) to be imported in a folder.

  2. From Simplicity Studio 5, select File > Import, select the folder containing *.sls file(s). Select a project from the detected projects list and click on Next. Name the project and click Finish.

See Import and Export for more information.

Porting to Another Board

To change the target board, navigate to Project > Properties > C/C++ Build > Board/Part/SDK. Start typing in the Boards search box and locate the desired development board, then click Apply to change the project settings. Ensure that the board specifics include paths, found in Project > Properties > C/C++ General > Paths and Symbols, correctly match the target board.

Documentation

Official documentation can be found at our Developer Documentation page.

Reporting Bugs/Issues and Posting Questions and Comments

To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of this repository. 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 this repository.

Disclaimer

The Silicon Labs Simplicity SDK supports development with Silicon Labs IoT SoC and module devices. Unless otherwise specified in the specific directory, all examples are considered to be EXPERIMENTAL QUALITY which implies that the code provided in the repos has not been formally tested and is provided as-is. It is not suitable for production environments. In addition, this code will not be maintained and there may be no bug maintenance planned for these resources. Silicon Labs may update projects from time to time.