From fe594fd93d7904c637ac91415add11c59207f433 Mon Sep 17 00:00:00 2001
From: Awawa <69086569+awawa-dev@users.noreply.github.com>
Date: Sun, 15 Feb 2026 11:09:41 +0100
Subject: [PATCH 1/5] Switch modern S3/C3/C6 to FastLED & Core3
---
.github/FUNDING.yml | 1 +
.github/dependabot.yml | 8 +++++
.github/workflows/build.yml | 18 +++++++----
.gitignore | 1 +
.vscode/tasks.json | 58 +++++++++++++++++++++++++++++++++
data/settings.html | 2 +-
partitions.csv | 11 -------
partitions_4mb.csv | 6 ++++
partitions_8mb.csv | 7 ----
platformio.ini | 51 +++++++++++++----------------
scripts/collect_firmware.py | 64 +++++++++++++++++++++++++++++--------
src/leds.cpp | 31 ++++++++++++------
12 files changed, 181 insertions(+), 77 deletions(-)
create mode 100644 .github/FUNDING.yml
create mode 100644 .github/dependabot.yml
create mode 100644 .vscode/tasks.json
delete mode 100644 partitions.csv
create mode 100644 partitions_4mb.csv
delete mode 100644 partitions_8mb.csv
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..7743b06
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: awawa-dev
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..71e9068
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,8 @@
+version: 2
+updates:
+
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ # Check for updates to GitHub Actions every month
+ interval: "monthly"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 96b7201..9cc1bbc 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,7 +2,6 @@ name: PlatformIO Build All
on:
push:
- branches: [ master ]
workflow_dispatch:
jobs:
@@ -18,17 +17,24 @@ jobs:
with:
python-version: '3.12'
+ - name: Build cache
+ uses: actions/cache@v5
+ with:
+ key: ${{ runner.os }}-platformio-${{ hashFiles('**/platformio.ini') }}
+ path: |
+ ~/.platformio
+ .pio
+
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- - name: Build All Environments (except ESP32-C6)
- run: pio run
-
- - name: Build ESP32-C6
+ - name: Build All Environments
run: |
- pio run -e esp32c6
+ pio run -e esp32c3 -e esp32s3 -e esp32c6
+ pio run -e esp32 -e esp32s2 -e esp8266
+ pio run -e pico -e pico2
- name: Upload Artifacts
uses: actions/upload-artifact@v6
diff --git a/.gitignore b/.gitignore
index c9c9d8a..b6aa784 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,6 @@
.vscode/extensions.json
.vscode/settings.json
src/idf_component.yml
+src/idf_component.yml.orig
include/web_resources.h
release/
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..ec129dc
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,58 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "Build ESP Core 2.x",
+ "type": "shell",
+ "command": "pio run -e esp32 -e esp32s2 -e esp8266",
+ "problemMatcher": [],
+ "presentation": { "reveal": "always", "panel": "shared" },
+ "options": {
+ "env": {
+ "PATH": "${userHome}/.platformio/penv/Scripts;${userHome}/.platformio/penv;${env:PATH}",
+ "PYTHONPATH": ""
+ }
+ }
+ },
+ {
+ "label": "Build ESP Core 3.x",
+ "type": "shell",
+ "command": "pio run -e esp32c3 -e esp32s3 -e esp32c6",
+ "problemMatcher": [],
+ "presentation": { "reveal": "always", "panel": "shared" },
+ "options": {
+ "env": {
+ "PATH": "${userHome}/.platformio/penv/Scripts;${userHome}/.platformio/penv;${env:PATH}",
+ "PYTHONPATH": ""
+ }
+ }
+ },
+ {
+ "label": "Build RP2040",
+ "type": "shell",
+ "command": "pio run -e pico -e pico2",
+ "problemMatcher": [],
+ "presentation": { "reveal": "always", "panel": "shared" },
+ "options": {
+ "env": {
+ "PATH": "${userHome}/.platformio/penv/Scripts;${userHome}/.platformio/penv;${env:PATH}",
+ "PYTHONPATH": ""
+ }
+ }
+ },
+ {
+ "label": "Build ALL",
+ "dependsOn": [
+ "Build ESP Core 3.x",
+ "Build ESP Core 2.x",
+ "Build RP2040"
+ ],
+ "dependsOrder": "sequence",
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "presentation": { "reveal": "always", "panel": "shared" }
+ }
+ ]
+}
diff --git a/data/settings.html b/data/settings.html
index 28d5fea..e397fed 100644
--- a/data/settings.html
+++ b/data/settings.html
@@ -73,7 +73,7 @@
White channel calibration