From 032b41afebf972247152bf2d3f126f1c19b22771 Mon Sep 17 00:00:00 2001 From: mikecarper Date: Sun, 20 Sep 2026 20:46:16 -0700 Subject: [PATCH] fix(ci): cover standalone images with RAM checks --- tools/hil/profile_fixed_tx.ini | 1 + tools/hil/profile_switch.ini | 4 ++++ variants/heltec_v4/platformio.ini | 5 +++++ variants/xiao_s3_wio/platformio.ini | 9 +++++++++ 4 files changed, 19 insertions(+) diff --git a/tools/hil/profile_fixed_tx.ini b/tools/hil/profile_fixed_tx.ini index bb3bc887..d0a62b92 100644 --- a/tools/hil/profile_fixed_tx.ini +++ b/tools/hil/profile_fixed_tx.ini @@ -9,6 +9,7 @@ upload_protocol = nrfutil extra_scripts = create-uf2.py pre:scripts/nrf52_usb_power_fix.py + post:scripts/check_firmware_ram.py lib_deps = ${env:profile_switch_xiao.lib_deps} lib_ignore = PsychicMqttClient build_flags = diff --git a/tools/hil/profile_switch.ini b/tools/hil/profile_switch.ini index 946e431f..3ee4afee 100644 --- a/tools/hil/profile_switch.ini +++ b/tools/hil/profile_switch.ini @@ -13,6 +13,7 @@ lib_deps = Wire https://github.com/jgromes/RadioLib.git#187ef24791c3d844939b2be13a68bd890bd04e4c rweather/Crypto @ ^0.4.0 +extra_scripts = post:scripts/check_firmware_ram.py build_flags = ${arduino_base.build_flags} -D ESP32_PLATFORM @@ -47,6 +48,7 @@ board_upload.flash_size = 8MB lib_deps = ${env:profile_switch_xiao.lib_deps} lovyan03/LovyanGFX @ ^1.2.7 +extra_scripts = post:scripts/check_firmware_ram.py build_flags = ${arduino_base.build_flags} -D ESP32_PLATFORM @@ -82,6 +84,7 @@ board_upload.flash_size = 16MB board_build.partitions = default_16MB.csv upload_speed = 115200 lib_deps = ${env:profile_switch_xiao.lib_deps} +extra_scripts = post:scripts/check_firmware_ram.py build_flags = ${arduino_base.build_flags} -D ESP32_PLATFORM @@ -126,6 +129,7 @@ upload_protocol = nrfutil extra_scripts = create-uf2.py pre:scripts/nrf52_usb_power_fix.py + post:scripts/check_firmware_ram.py lib_deps = ${env:profile_switch_xiao.lib_deps} lib_ignore = PsychicMqttClient build_flags = diff --git a/variants/heltec_v4/platformio.ini b/variants/heltec_v4/platformio.ini index 9feaf49c..b3cad89b 100644 --- a/variants/heltec_v4/platformio.ini +++ b/variants/heltec_v4/platformio.ini @@ -877,7 +877,12 @@ board_build.flash_mode = dio ; raise a flash-backed event ISR during that interval, even after Serial.end(). ; The Wi-Fi-only bridge therefore keeps CDC disabled; the final regular ; repeater build restores its normal USB serial setting. +; This standalone image runs its own Wi-Fi OTA server. Reserve the generic +; ESP32 baseline plus its always-on Wi-Fi budget in the linked-image proof. +extra_scripts = post:scripts/check_firmware_ram.py build_flags = + -D ESP32_PLATFORM + -D MESH_MIN_RUNTIME_HEAP=100352 -I variants/heltec_v4 build_src_filter = -<*> diff --git a/variants/xiao_s3_wio/platformio.ini b/variants/xiao_s3_wio/platformio.ini index 2fe8a125..283e6d88 100644 --- a/variants/xiao_s3_wio/platformio.ini +++ b/variants/xiao_s3_wio/platformio.ini @@ -64,7 +64,12 @@ board = seeed_xiao_esp32s3_migrator framework = arduino board_build.partitions = default.csv board_build.flash_mode = dio +; This is a standalone ESP32 utility, but it still hosts a Wi-Fi OTA server. +; Reserve the generic ESP32 baseline plus its always-on Wi-Fi budget. +extra_scripts = post:scripts/check_firmware_ram.py build_flags = + -D ESP32_PLATFORM + -D MESH_MIN_RUNTIME_HEAP=100352 -I variants/xiao_s3_wio build_src_filter = -<*> @@ -83,7 +88,11 @@ board = seeed_xiao_esp32s3 framework = arduino board_build.partitions = default.csv board_build.flash_mode = dio +; The disposable seed also runs an always-on Wi-Fi OTA server. +extra_scripts = post:scripts/check_firmware_ram.py build_flags = + -D ESP32_PLATFORM + -D MESH_MIN_RUNTIME_HEAP=100352 -I src build_src_filter = -<*>