Use RC32 OTA partition capacity

This commit is contained in:
mikecarper committed 2026-08-29 10:44:23 -07:00
1 parent 83266757ca
commit 662a060c57
2 files changed
+25 -10

No files matched your search

+10 -10
View File
@@ -2637,21 +2637,21 @@ requires_esp32_portable_app_slot() {
&& ! is_esp32_companion_build "$1"
}
is_esp32_c6_target() {
[[ "${PIO_ENV_BOARD_BY_NAME[$1]:-}" == esp32-c6-* ]]
}
requires_esp32_portable_size_ceiling() {
local env_name=$1
requires_esp32_portable_app_slot "$env_name" || return 1
# Arduino 3.x pulls substantially more WiFi runtime into ESP32-C6 images.
# These target-specific OTA siblings already used 1920 KiB or larger A/B app
# slots before the compact browser uploader was enabled, so retain their
# established partition contract and enforce the actual partition below.
if is_lora_ota_only_target "$env_name" && is_esp32_c6_target "$env_name"; then
return 1
# Arduino 3.x pulls substantially more WiFi runtime into ESP32-C6 and RC32
# images. These target-specific OTA siblings already use larger A/B slots:
# C6 boards declared at least 1920 KiB slots, while RC32 has always declared
# the two 0x640000 slots in default_16MB.csv. Retain those established
# partition contracts and enforce each image against its actual partition
# below instead of the unrelated legacy 1.25 MiB ceiling.
if is_lora_ota_only_target "$env_name"; then
case "${PIO_ENV_BOARD_BY_NAME[$env_name]:-}" in
esp32-c6-*|heltec-rc32) return 1 ;;
esac
fi
return 0
+15
View File
@@ -268,6 +268,21 @@ require(rak_usb, "build_flags", "FORCE_GPS_ALIVE")
# aliases remain directly buildable, but canonical release resolution must
# replace each with that exact board's Full target.
init_project_context >/dev/null
# Arduino-ESP32 3.x OTA-only targets that have always declared larger A/B
# slots must be checked against their real partition table, not the legacy
# 1.25 MiB portable ceiling. Keep that exception OTA-only so ordinary RC32
# standard artifacts still retain the portable release contract.
for rc32_ota_env in \
heltec_rc32_repeater_lora_ota_no_external_sensors \
heltec_rc32_without_display_repeater_lora_ota_no_external_sensors; do
if requires_esp32_portable_size_ceiling "$rc32_ota_env"; then
fail "$rc32_ota_env incorrectly inherited the legacy portable size ceiling"
fi
done
requires_esp32_portable_size_ceiling heltec_rc32_repeater \
|| fail "ordinary RC32 repeater lost the portable size ceiling"
while IFS='|' read -r source_env full_env build_base; do
[ "${PIO_ENV_PLATFORM_BY_NAME[$full_env]:-}" = ESP32_PLATFORM ] \
|| fail "$full_env was not registered as ESP32 Full Companion"