Keep classic ESP32 release profiles within their measured RAM budgets

This commit is contained in:
mikecarper committed 2026-09-05 10:27:07 -07:00
1 parent 55f59e13c0
commit 9155ea58c9
6 files changed
+130 -11

No files matched your search

+50
View File
@@ -38,4 +38,54 @@ fi
resolve_command_targets build-firmware rp_companion_radio_usb >/dev/null
[ "${#RESOLVED_BUILD_TARGETS[@]}" = 1 ] || fail "explicit USB Companion was rejected"
# The portable OTA overlay and the final neighbor overlay must agree: an
# earlier build_unflags entry removes even a later definition in PlatformIO.
for target in Generic_E22_sx1262_repeater_lora_ota_no_external_sensors \
Generic_E22_sx1268_repeater_lora_ota_no_external_sensors \
Heltec_v2_repeater_lora_ota_no_external_sensors \
Meshadventurer_sx1262_repeater_lora_ota_no_external_sensors \
Meshadventurer_sx1268_repeater_lora_ota_no_external_sensors \
Tbeam_SX1262_repeater_lora_ota_no_external_sensors \
Tbeam_SX1276_repeater_lora_ota_no_external_sensors; do
PIO_ENV_PLATFORM_BY_NAME[$target]=ESP32_PLATFORM
PLATFORMIO_BUILD_FLAGS=""
PLATFORMIO_BUILD_UNFLAGS=""
BUILD_PROFILE_FOR_TARGET=standard
ESP32_FULL_BUILD=0
apply_esp32_lora_ota_size_profile "$target"
apply_repeater_neighbor_capacity "$target"
[[ "$PLATFORMIO_BUILD_FLAGS" == *"-DMAX_NEIGHBOURS=50"* ]] \
|| fail "$target lost its measured-safe neighbor capacity"
[[ "$PLATFORMIO_BUILD_UNFLAGS" != *"MAX_NEIGHBOURS=50"* ]] \
|| fail "$target removed its selected neighbor capacity"
[[ "$PLATFORMIO_BUILD_FLAGS" == *"-DLIGHTWEIGHT_WIFI_OTA=1"* ]] \
|| fail "$target lost WiFi OTA while fixing its RAM budget"
done
ESP32_FULL_BUILD=1
BUILD_PROFILE_FOR_TARGET=full
PACKET_LOGGING_OVERRIDE=on
for pair in Tbeam_SX1262_repeater_observer_mqtt:31 \
Tbeam_SX1276_repeater_observer_mqtt:31 \
Generic_E22_sx1262_repeater_bridge_espnow:47 \
LilyGo_TLora_V2_1_1_6_repeater_bridge_espnow:47 \
LilyGo_TLora_V2_1_1_6_repeater_observer_mqtt_:default; do
target=${pair%:*}
rules=${pair##*:}
PIO_ENV_PLATFORM_BY_NAME[$target]=ESP32_PLATFORM
PIO_ENV_FULL_BUILD_BY_NAME[$target]=1
PLATFORMIO_BUILD_FLAGS=""
PLATFORMIO_BUILD_UNFLAGS=""
apply_esp32_full_size_profile "$target"
apply_repeater_neighbor_capacity "$target"
[[ "$PLATFORMIO_BUILD_FLAGS" == *"-DMAX_NEIGHBOURS=50"* \
&& "$PLATFORMIO_BUILD_UNFLAGS" != *"MAX_NEIGHBOURS=50"* ]] \
|| fail "$target lost its Full profile neighbor capacity"
if [ "$rules" != default ]; then
[[ "$PLATFORMIO_BUILD_FLAGS" == *"-DFLOOD_PACKET_FILTER_SLOTS=$rules"* \
&& "$PLATFORMIO_BUILD_UNFLAGS" != *"FLOOD_PACKET_FILTER_SLOTS=$rules"* ]] \
|| fail "$target lost its Full profile rule capacity"
fi
done
echo "test_release_ota_policy: OK"