Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: PlatformIO CI

on: [push]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install PlatformIO Core
run: pip install --upgrade platformio

- name: Build all environments
run: pio run
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

## 2025-11-21

### Added
- ➡️ This changelog
- ✨ `README.md`
- 😺 GitHub Actions
- 🎤 Stereo SPL Meter example

### Changed
- 📛 Repo name: `examples` ➡️ `jescore-examples`
28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,26 @@
# examples
Application specific examples utilizing `jescore` from jesdev.io
# `jescore` Examples
|Main Repo 🔆|`main` CI 📦️|`dev` CI 🚢|Support 🙏|
|-|-|-|-|
|[<img src="https://github.com/user-attachments/assets/2fc4f696-0a6c-444b-a99b-053f9bee6d59" width="100"/>](https://github.com/jesdev-io/jescore)|[![Main](https://github.com/jesdev-io/jescore-examples/actions/workflows/workflow.yml/badge.svg?branch=main)](https://github.com/jesdev-io/jescore-examples/actions/workflows/workflow.yml)|[![Dev](https://github.com/jesdev-io/jescore-examples/actions/workflows/workflow.yml/badge.svg?branch=dev)](https://github.com/jesdev-io/jescore-examples/actions/workflows/workflow.yml)|[![Buy me a coffee](https://img.shields.io/badge/Ko--fi-Support%20Me-FF5E5B?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/jseshack)|

**This repo presents various applications utilizing `jescore`.**

## How to use
Examples can best be explored with [PlatformIO](https://platformio.org/). Clone this repo and open it with VSCode or any other IDE that supports PlatformIO, or use its [dedicated CLI](https://docs.platformio.org/en/latest/core/userguide/index.html) for headless or custom usage. If you don't use PlatformIO, be sure that you can compile and link your chosen MCU's required libraries and you can also compile and link the [Official `jescore` Repo](https://github.com/jesdev-io/jescore).

### Example Structure
Examples are organized to be standalone apps. The actual applications utilizing `jescore` and containing the "interesting" code are found in `src/`. If you use PlatformIO, an environment with the same name is selectable, see `platformio.ini`.

If examples require more low level driver code, for example due to the inclusion of specialized low level drivers, they are shipped with an additional folder called like the example in `lib/`, optionally with the prefix `port_*` (see [notes](#additional-notes)).

## Additional Notes
- The `port_*` prefix under `lib/` comes from porting STM32CubeIDE projects to PlatformIO with [`cube2pio`](https://github.com/jesdev-io/cube2pio)

## List of Examples
|Example|Requires|Platform|
|-|-|-|
|👋 `hello_world_arduino`||ESP32 + Arduino|
|👋 `hello_world_nucleol432kc`||STM32 NUCLEOL432KC|
|🧮 `fsm_cli_arduino`||ESP32 + Arduino|
|⏳️ `sync_async_arduino`||ESP32 + Arduino|
|🎤 `stereo_spl_meter_nucleol432kc`|[I²S](lib/port_stereo_spl_meter_nucleol432kc/)|STM32 NUCLEOL432KC|
3 changes: 3 additions & 0 deletions lib/port_stereo_spl_meter_nucleol432kc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Stereo SPL (Z) Meter for NUCLEO-L432KC

This folder holds the driver code for the peripherals needed in the **stereo SPL meter** example under `src/`. The source files here were generated with the STM32CubeIDE and ported to PlatformIO with [`cube2pio`](https://github.com/jesdev-io/cube2pio).
71 changes: 71 additions & 0 deletions lib/port_stereo_spl_meter_nucleol432kc/main.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32l4xx_hal.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */

/* USER CODE END ET */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */

/* USER CODE END EC */

/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */

/* USER CODE END EM */

/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);

/* USER CODE BEGIN EFP */

/* USER CODE END EFP */

/* Private defines -----------------------------------------------------------*/
#define LD3_Pin GPIO_PIN_3
#define LD3_GPIO_Port GPIOB

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */
Loading