Keep Full Tracker MQTT builds within internal RAM budget

This commit is contained in:
mikecarper committed 2026-09-13 11:00:02 -07:00
1 parent 283acd27f5
commit 1274956f86
3 files changed
+31 -1

No files matched your search

+6
View File
@@ -2696,6 +2696,12 @@ requires_dram_limited_neighbors() {
# 8 KiB static reserve at 254 neighbors. Use their board-declared 50-entry
# tables when the OTA manager is included.
case "${1,,}" in
heltec_tracker_v1_1_repeater_observer_mqtt|\
heltec_tracker_v2_repeater_observer_mqtt)
# The non-PSRAM Tracker's color framebuffer, MQTT/TLS and OTA leave
# insufficient runtime heap with the expanded 254-neighbor table.
# Keep the board's 50 entries in Full; retain its display and services.
if [ "$ESP32_FULL_BUILD" = "1" ]; then return 0; fi ;;
heltec_t096_repeater_lora_ota_no_external_sensors|\
heltec_t1_repeater_lora_ota_no_external_sensors)
return 0 ;;
+6
View File
@@ -105,6 +105,12 @@ Follow-up builds repair the constrained profiles without relaxing qualification:
bytes, and the T1's from 72,868 to 81,844 bytes. Required startup allocations
fall from 88,410 to 79,010 bytes. These are linked capacity checks, not soak
measurements. Full Companion capacities are unchanged.
- Tracker v1.1 and v2 Full MQTT repeaters retain their board-defined 50
neighbors so the color display, MQTT/TLS and OTA fit in internal RAM.
Their radio, display, sensor and update features remain enabled; ordinary
Tracker repeater and Companion capacities are unchanged. Tracker v2's
available startup heap rises from 184,640 to 222,992 bytes against the
unchanged 190,386-byte requirement. Both corrected Tracker profiles pass.
- Size-failure detection keeps its temporary output log outside PlatformIO's
build tree, so SCons cleanup cannot erase the evidence needed by the measured
size fallback. CI exercises cleanup, ordinary compiler failures and log errors.
+19 -1
View File
@@ -69,7 +69,9 @@ 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
LilyGo_TLora_V2_1_1_6_repeater_observer_mqtt_:default \
heltec_tracker_v1_1_repeater_observer_mqtt:default \
heltec_tracker_v2_repeater_observer_mqtt:default; do
target=${pair%:*}
rules=${pair##*:}
PIO_ENV_PLATFORM_BY_NAME[$target]=ESP32_PLATFORM
@@ -88,4 +90,20 @@ for pair in Tbeam_SX1262_repeater_observer_mqtt:31 \
fi
done
# The Tracker correction is specific to Full MQTT repeaters. Ordinary LoRa
# repeaters and companions keep their existing capacities and services.
for target in heltec_tracker_v1_1_repeater heltec_tracker_v2_repeater \
heltec_tracker_v2_companion_radio_full_femon; do
if requires_dram_limited_neighbors "$target"; then
fail "$target inherited an unrelated MQTT neighbor reduction"
fi
done
ESP32_FULL_BUILD=0
for target in heltec_tracker_v1_1_repeater_observer_mqtt \
heltec_tracker_v2_repeater_observer_mqtt; do
if requires_dram_limited_neighbors "$target"; then
fail "$target changed its non-Full neighbor policy"
fi
done
echo "test_release_ota_policy: OK"