From 6b3ac7d6f49e10837368b7342277e1f0911e898d Mon Sep 17 00:00:00 2001
From: Nigdzie <46287652+Nigdzie@users.noreply.github.com>
Date: Wed, 25 Mar 2026 18:46:52 +0100
Subject: [PATCH 1/2] fix flash size on main up to 16
---
docs/janos_flash.html | 2 +-
post_build.cmake | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/janos_flash.html b/docs/janos_flash.html
index 16dd6f1f..1907f4a9 100644
--- a/docs/janos_flash.html
+++ b/docs/janos_flash.html
@@ -650,7 +650,7 @@
Browser support
log("Preparing flash writes");
const flashOptions = {
fileArray: files,
- flashSize: "4MB",
+ flashSize: "16MB",
eraseAll: false,
compress: true,
reportProgress: (fileIndex, written, total) => {
diff --git a/post_build.cmake b/post_build.cmake
index 927d70c0..b082954d 100644
--- a/post_build.cmake
+++ b/post_build.cmake
@@ -39,7 +39,7 @@ if(EXISTS "${BOOTLOADER}" AND EXISTS "${PART_TABLE}" AND EXISTS "${APP_BIN}")
if(PYTHON_EXE)
execute_process(
COMMAND "${PYTHON_EXE}" -m esptool --chip esp32p4 merge_bin -o "${FULL_OUT}"
- --flash_mode dio --flash_freq 80m --flash_size 4MB
+ --flash_mode dio --flash_freq 80m --flash_size 16MB
0x0 "${BOOTLOADER}"
0x8000 "${PART_TABLE}"
0x10000 "${APP_BIN}"
From 4808c71e2ab318dd3211037f14b6b5a9adb23645 Mon Sep 17 00:00:00 2001
From: Nigdzie <46287652+Nigdzie@users.noreply.github.com>
Date: Wed, 25 Mar 2026 18:49:06 +0100
Subject: [PATCH 2/2] new workflow for pages only
---
.github/workflows/pages-only.yml | 107 +++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
create mode 100644 .github/workflows/pages-only.yml
diff --git a/.github/workflows/pages-only.yml b/.github/workflows/pages-only.yml
new file mode 100644
index 00000000..adbc75ba
--- /dev/null
+++ b/.github/workflows/pages-only.yml
@@ -0,0 +1,107 @@
+name: Pages Only
+
+on:
+ workflow_dispatch:
+ inputs:
+ release_tag:
+ description: "Existing release tag to publish on Pages (defaults to latest release)"
+ required: false
+
+concurrency:
+ group: github-pages-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ pages:
+ name: Deploy Pages Only
+ runs-on: ubuntu-24.04
+ permissions:
+ contents: read
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ outputs:
+ page_url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Pages
+ uses: actions/configure-pages@v4
+ with:
+ enablement: true
+
+ - name: Resolve release tag
+ id: meta
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ INPUT_TAG: ${{ inputs.release_tag }}
+ run: |
+ set -euo pipefail
+ TAG="${INPUT_TAG:-}"
+ if [ -z "$TAG" ]; then
+ TAG="$(gh api "/repos/${GITHUB_REPOSITORY}/releases/latest" --jq .tag_name)"
+ fi
+ if [ -z "$TAG" ]; then
+ echo "Failed to resolve release tag" >&2
+ exit 1
+ fi
+ echo "tag=$TAG" >> "$GITHUB_OUTPUT"
+ echo "Using tag: $TAG"
+
+ - name: Download release assets
+ id: download
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ set -euo pipefail
+ TAG="${{ steps.meta.outputs.tag }}"
+ rm -rf docs/firmware
+ mkdir -p docs/firmware
+
+ gh release download "$TAG" -R "$GITHUB_REPOSITORY" --dir docs/firmware \
+ --pattern "bootloader.bin" \
+ --pattern "partition-table.bin" \
+ --pattern "M5MonsterC5-Tab5.bin" \
+ --pattern "M5MonsterC5-Tab5-*.bin"
+
+ ls -lh docs/firmware
+
+ if [ ! -f docs/firmware/M5MonsterC5-Tab5.bin ]; then
+ alt="$(ls docs/firmware/M5MonsterC5-Tab5-*.bin 2>/dev/null | head -n1 || true)"
+ if [ -n "$alt" ]; then
+ cp "$alt" docs/firmware/M5MonsterC5-Tab5.bin
+ fi
+ fi
+
+ for f in bootloader.bin partition-table.bin M5MonsterC5-Tab5.bin; do
+ if [ ! -f "docs/firmware/$f" ]; then
+ echo "Missing $f in release assets for tag ${TAG}" >&2
+ exit 1
+ fi
+ done
+
+ fw_version="$(ls docs/firmware/M5MonsterC5-Tab5-*.bin 2>/dev/null | head -n1 | xargs -n1 basename | sed -E 's/^M5MonsterC5-Tab5-([^.]*)\.bin$/\1/')"
+ if [ -z "$fw_version" ]; then
+ fw_version="${TAG}"
+ fi
+ echo "fw_version=$fw_version" >> "$GITHUB_OUTPUT"
+
+ - name: Build manifest.json
+ env:
+ FW_VERSION: ${{ steps.download.outputs.fw_version }}
+ BUILD_TAG: ${{ steps.meta.outputs.tag }}
+ run: |
+ set -euo pipefail
+ python -c "import os, json; from pathlib import Path; version=os.getenv('FW_VERSION') or os.getenv('BUILD_TAG'); build=os.getenv('BUILD_TAG', 'manual'); manifest={'name':'M5MonsterC5-Tab5 ESP32-P4','version':version,'build':build,'chipFamily':'ESP32-P4','parts':[{'path':'firmware/bootloader.bin','offset':8192},{'path':'firmware/partition-table.bin','offset':32768},{'path':'firmware/M5MonsterC5-Tab5.bin','offset':65536}]}; Path('docs/manifest.json').write_text(json.dumps(manifest, indent=2), encoding='utf-8')"
+
+ - name: Upload Pages artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: docs
+
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4