mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-24 03:22:23 +00:00
Use RC32 OTA partition capacity
This commit is contained in:
1 parent
83266757ca
commit
662a060c57
2 files changed
+25
-10
No files matched your search
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in new issue
Block a user