From efed592fdbf4dbb236c21a79a9110174257bfbdb Mon Sep 17 00:00:00 2001 From: mikecarper Date: Mon, 5 Oct 2026 07:18:22 -0700 Subject: [PATCH] Qualify ESP-NOW RAM and Wio Mini release capacity --- .github/workflows/run-unit-tests.yml | 6 ++++++ build_legacy.sh | 4 +++- docs/releases/1.17.1.9.md | 10 +++++++++- variants/wio-e5-mini/platformio.ini | 1 + 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml index 1337b7f51..cf09ee298 100644 --- a/.github/workflows/run-unit-tests.yml +++ b/.github/workflows/run-unit-tests.yml @@ -40,6 +40,12 @@ jobs: - name: Compile ordinary STM32 USB Companion with pinned core and RadioLib run: pio run -e RAK_3x72_companion_radio_usb + - name: Qualify Wio-E5 Mini Companion at release version length + run: >- + bash build.sh build-firmware wio-e5-mini_companion_radio_usb + --firmware-version v1.17.1.9-halo-keymind-cascade-dev + --radio-preset usa-cascade-fixed --profile cascade --require-ota + bootloader-version: runs-on: ubuntu-latest steps: diff --git a/build_legacy.sh b/build_legacy.sh index 741413deb..24fdae244 100755 --- a/build_legacy.sh +++ b/build_legacy.sh @@ -4191,6 +4191,9 @@ apply_companion_radio_full_profile() { record_build_reduction \ "Wireless Paper Full: 350 contacts; 256 offline frames normally, 128 while mOTA borrows queue storage" ;; + # ESP-NOW Full also needs the C3 queue limit: 256 frames leave only + # 141376 internal heap bytes against the unchanged 142336-byte reserve. + generic_espnow_companion_radio_full|\ heltec_ct62_companion_radio_full|\ xiao_c3_companion_radio_full|\ heltec_tracker_v2_companion_radio_full_*) @@ -4199,7 +4202,6 @@ apply_companion_radio_full_profile() { record_build_reduction \ "companion.capacity limited to 100 contacts for runtime RAM; 224 queued frames and all Full transports retained" ;; - generic_espnow_companion_radio_full|\ heltec_v3_companion_radio_full) # The 1.17.1.8 matrix exceeds the runtime heap budget at 150 contacts # after adding alerts and held DMs. Preserve the 256-frame queue, Full diff --git a/docs/releases/1.17.1.9.md b/docs/releases/1.17.1.9.md index f6630d224..0bdf8eec9 100644 --- a/docs/releases/1.17.1.9.md +++ b/docs/releases/1.17.1.9.md @@ -33,7 +33,6 @@ layout before installing an image. complete sensor profile with the existing 8 KiB loop stack, 50 neighbors, color framebuffer and OTA arena. Their capability manifests record this capacity limit; heap qualification margins are unchanged. - - The RAK3401 unified repeater reserves 47 flood-rule entries so its full sensor profile, 8 KiB loop stack, 50 neighbors and internal/QSPI OTA stores fit the runtime RAM requirement. Full and reduced sensor images use the @@ -42,6 +41,15 @@ layout before installing an image. If active rules exceed an image's capacity, the stored file is preserved and policy saves are blocked. The CLI reports the capacity mismatch; install firmware with enough rule slots to recover the complete policy. +- ESP32 filesystem buffer checks cover the pinned Arduino 3 frameworks used + by RC32 and C6 targets and continue rejecting unhonored buffer allocations. +- Generic ESP-NOW Full Companion retains all Full transports and 100 contacts + with a 224-frame offline queue to meet the unchanged runtime RAM requirement. +- Wio-E5 Mini Companion uses smaller generated code while preserving its + filesystem allocation, contacts, channels and physical-button controls. + CI compiles its actual Cascade release profile with the full version string. +- Mesh America preserves download-only installation for hardware cards that + require it, including their Full and reduced sensor profiles. ## Installation diff --git a/variants/wio-e5-mini/platformio.ini b/variants/wio-e5-mini/platformio.ini index a34d4132e..bc4d8e7d2 100644 --- a/variants/wio-e5-mini/platformio.ini +++ b/variants/wio-e5-mini/platformio.ini @@ -83,6 +83,7 @@ build_flags = ${lora_e5_mini.build_flags} -Oz -flto -fno-inline-small-functions + -fno-tree-dominator-opts ; save 160 release bytes while preserving the 32 KiB filesystem -fipa-pta -fmerge-all-constants -fno-ipa-cp-clone