Skip to content

OpenDisplay/Firmware_Silabs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenDisplay — EFR32BG22 firmware

Bluetooth LE firmware for OpenDisplay tags (Silicon Labs EFR32BG22).

Build

From cmake_gcc/:

cmake --preset project && cmake --build --preset default_config

Or from this directory:

./build-and-flash.sh --no-flash

Flash + optional RTT: ./build-and-flash.sh (needs Simplicity Commander and J-Link as in the script help).

Regenerating the CMake project

cmake_gcc/opendisplay-bg22.cmake is generated by Simplicity Studio / SLC. This repository keeps SDK_PATH empty and uses the in-tree simplicity_sdk_* tree plus third_party/silabs_app_properties/ so Conan paths are not required for a normal build. If Studio regeneration puts a machine-specific SDK_PATH back, you can clear it again if you are not pulling app_properties.c from that path.

Layout

  • simplicity_sdk_* — vendored SDK copy used by the build.
  • autogen/ — GATT, linker fragments, and other generated files.
  • artifacts/ — optional output from build-and-flash.sh (gitignored).
  • bootloader-artifact/opendisplay-bootloader.s37 — prebuilt bootloader + Apploader for full flash (see bootloader-artifact/README.md).

GitHub Actions

Workflows live in .github/workflows/ (this repository must be the GitHub repo root so those paths resolve).

  • ci.yml — on pull requests and pushes to main / master: installs gcc-arm-none-eabi, runs cmake --preset project with -DOD_GENERATE_GBL_OTA=OFF (no Simplicity Commander in CI), sets OPENDISPLAY_BUILD_ID to the PR number or commit, uploads .s37 / .hex as workflow artifacts.
  • release.yml — when a GitHub Release is created: reads the tag vMAJOR.MINOR (optional patch segment is ignored for the 16-bit BLE version), passes OD_APP_VERSION (high byte = major, low = minor), OPENDISPLAY_BUILD_ID (vVERSION+shortsha), and SL_APPLICATION_VERSION (same 16-bit numeric encoding for Silicon Labs app properties), unpacks Silicon Labs commander-cli from SimplicityCommander-Linux.zip (inner Commander-cli_linux_*.tar.bz) to run gbl create like local build-and-flash.sh, stages versioned files under cmake_gcc/release/, and attaches each file to the release (no bundle zip). There is no supported third-party substitute for Silicon Labs GBL generation.

Release tags must use MAJOR and MINOR in 0..255 (e.g. v1.26). The release includes bootloader-apploader-vVERSION.s37 when the in-repo bootloader-artifact/ file was copied into cmake_gcc/build/base/ during the build.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages